【第14课 python 类与对象2】教程文章相关的互联网学习教程文章

Python的面向对象思想分析

本文实例讲述了Python的面向对象思想。分享给大家供大家参考。具体分析如下: 面向对象的基本思想是封装,继承,多态。 首先是继承: 定义一个类:代码如下:class Bird(object): have_feather = True way_of_reproduction = egg 调用这个类:代码如下:summer = Bird() print summer.way_of_reproduction 与Java不同是,Python是不需要new来实例化类的。 同样,Python的类下面是可以定方法的:代码如下:class Bird(object): ...

Pythonpickle类库介绍(对象序列化和反序列化)

一、pickle pickle模块用来实现python对象的序列化和反序列化。通常地pickle将python对象序列化为二进制流或文件。 python对象与文件之间的序列化和反序列化:代码如下: pickle.dump() pickle.load()如果要实现python对象和字符串间的序列化和反序列化,则使用:代码如下: pickle.dumps() pickle.loads()可以被序列化的类型有: * None,True 和 False; * 整数,浮点数,复数; * 字符串,字节流,字节数组; * 包含可pickle对象的tup...

Python入门篇之对象类型【图】

Python使用对象模型来存储数据。构造任何类型的值都是一个对象 所有的Python对象都拥有三个特性:身份、类型、值 身份: 每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址 类型: 对象的类型决定了该对象可以保存什么类型的值,可以进行怎样的操作,以及遵循什么样的规则,可以使用内建函数type()查看Python对象的类型:代码如下: >>> type([1,2]) <ty...

Python入门篇之面向对象

面向对象设计与面向对象编程的关系 面向对象设计(OOD)不会特别要求面向对象编程语言。事实上,OOD 可以由纯结构化语言来实现,比如 C,但如果想要构造具备对象性质和特点的数据类型,就需要在程序上作更多的努力。当一门语言内建 OO 特性,OO 编程开发就会更加方便高效。另一方面,一门面向对象的语言不一定会强制你写 OO 方面的程序。例如 C++可以被认为“更好的C”;而 Java,则要求万物皆类,此外还规定,一个源文件对应一个类...

Python对象体系深入分析【图】

本文较为详细的分析了了Python的对象体系。分享给大家供大家参考。具体如下: Guido用C语言创造了Python,在Python的世界中一切皆为对象. 一.C视角中的Python对象 让我们一起追溯到源头,Python由C语言实现,且向外提供了C的API http://docs.python.org/c-api/index.html . 我们思考问题的时候,可能对于对象这种东西很容易理解,而计算机能理解的只有0,1序列这样的字节序列,从根本上讲,我们所说的计算机语言中的对象只是在内存中的一块...

编写Python脚本把sqlAlchemy对象转换成dict的教程

在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM对象更为方便,毕竟不用管数据库session的状态了。 假设数据库里有一张post表,其中一种方法就是p = session.query(Post).first() p.__dict__但由于p是sqlAlchemy的对象,所以p.__dict__中会有一些其他的属性比如_sa_instance这种我们不需要关注的 那么我们可以给model的基类加一个方法,假设models.py中原来是这样...

Python检测一个对象是否为字符串类的方法

目的测试一个对象是否是字符串 方法 Python的字符串的基类是basestring,包括了str和unicode类型。一般可以采用以下方法:代码如下: def isAString(anobj):return isinstance(anobj,basestring)不过以上方法对于UserString类的实例,无能无力。代码如下: In [30]: b=UserString.UserString(abc) In [31]: isAString(b) Out[31]: False In [32]: type(b) Out[32]: <class UserString.UserString>Python中常用的鸭子判断法:如果它走...

Django中更新多个对象数据与删除对象的方法

更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如:>>> p = Publisher.objects.get(name=Apress) >>> p.name = Apress Publishing >>> p.save()这等同于如下SQL语句:SELECT id, name, address, city, state_province, country, website FROM books_publisher WHERE name = Apress;UPDATE books_publisher SETname = Apress Publishing,address = 28...

详解JavaScript编程中的window与window.screen对象

Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局变量是 window 对象的属性。 全局函数是 window 对象的方法。 甚至 HTML DOM 的 document 也是 window 对象的属性之一:window.document.getElementById("header"); 与此相同:document.getElementById("header"); Window 尺寸 有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括...

在Django的视图中使用form对象的方法

在学习了关于Form类的基本知识后,你会看到我们如何把它用到视图中,取代contact()代码中不整齐的部分。 一下示例说明了我们如何用forms框架重写contact():# views.pyfrom django.shortcuts import render_to_response from mysite.contact.forms import ContactFormdef contact(request):if request.method == POST:form = ContactForm(request.POST)if form.is_valid():cd = form.cleaned_datasend_mail(cd[subject],cd[message...

在Python的Django框架中显示对象子集的方法

现在让我们来仔细看看这个 queryset 。 大多数通用视图有一个queryset参数,这个参数告诉视图要显示对象的集合。 举一个简单的例子,我们打算对书籍列表按出版日期排序,最近的排在最前:book_info = {queryset: Book.objects.order_by(-publication_date), }urlpatterns = patterns(,(r^publishers/$, list_detail.object_list, publisher_info),**(r^books/$, list_detail.object_list, book_info),** )这是一个相当简单的例子,...

Django框架中的对象列表视图使用示例

direct_to_template 毫无疑问是非常有用的,但Django通用视图最有用的地方是呈现数据库中的数据。 因为这个应用实在太普遍了,Django带有很多内建的通用视图来帮助你很容易 地生成对象的列表和明细视图。 让我们先看看其中的一个通用视图: 对象列表视图。 我们使用第五章中的 Publisher 来举例:class Publisher(models.Model):name = models.CharField(max_length=30)address = models.CharField(max_length=50)city = models.Ch...

在Django的session中使用User对象的方法【图】

通过session,我们可以在多次浏览器请求中保持数据, 接下来的部分就是用session来处理用户登录了。 当然,不能仅凭用户的一面之词,我们就相信,所以我们需要认证。 当然了,Django 也提供了工具来处理这样的常见任务(就像其他常见任务一样)。 Django 用户认证系统处理用户帐号,组,权限以及基于cookie的用户会话。 这个系统一般被称为 auth/auth (认证与授权)系统。 这个系统的名称同时也表明了用户常见的两步处理。 我们需要...

在Python的Django框架中获取单个对象数据的简单方法

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的:>>> Publisher.objects.get(name="Apress") 这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。 所以,如果结果是多个对象,会导致抛出异常:>>> Publisher.objects.get(country="U.S.A.") Traceback (most recent call last):... MultipleObjectsReturned: get() returned more than one Publisher --it returned 2! Lookup param...

Python_oldboy_自动化运维之路_面向对象2(十)【代码】【图】

见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 2.什么是面向对象的程序设计及为什么要有它 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点是:极大的降低了程序的复杂度 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身。 应用场...