python之对象

所有的python对象都有三个特性:身份,类型和值

身份:
每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数 id()来得到。

一旦一个python对象被创建,就不能更改其身份类型。更改对象是指创建一个新对象,并更改引用。

对象:
对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。可以用内建函数 type()查看 Python 对象的类型
因为在 Python 中类型也是对象,所以 type()返回的是对象而不是简单的字符串。

值:
对象表示的数据项。

如果对象支持更新操作,那么它的值就可以改变,否则它的值也是只读的。对象的值是否可以更改被称为对象的可改变性(mutability)

标准类型运算符

对象值比较:

== 、> 、< 等

对象身份比较:

obj1 is obj2 、 obj is not obj2

>>> a = 4.3
>>> b = 4.3
>>> a==b
True
>>> a is b
False

布尔类型:

not 、and 、or

标准类型内建函数

type(obj) 、cmp(obj1, obj2) 、str(obj)、repr(obj)

2015-05-25

时间: 2024-10-24 12:45:01

python之对象的相关文章

Python之对象的属性

# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之对象的属性 #http://python.jobbole.com/82622/ #对象的属性 class bird(): feather = True class chicken(bird): fly = False def __init__(self,age): self.age = age summer = chicken(2) print(bird.__dict__) print(ch

python函数对象

适用于python 2.x版本 1. lambda函数 1 func = lambda x, y : x + y 2 print func(2, 4) lambda生成一个函数对象,参数是x,y, 返回x+y. 2. map() 函数 1 rtn = map((lambda x: x*3), [1, 2, 3, 4, 5, 6]) 2 print rtn map是python内置函数,第一个参数是函数,第二个参数是一个序列.第一个函数作用与序列的每一个元素,并将结果放在序列rtn里. 3. re

Python的对象操作(一)

python支持对象和函数   1. python是解释型语言,逐行运行 2. 对象调用 例子:删除文件的一个例子 2.1 先定义一个类 class MyApp: 2.2 import 引用要用到的模块 __author__ = 'Bright' import shutil import os """ * 对象操作实战 * 上演出多个文件 """ class MyApp: def __init__(self, root): self.root =

python string 对象

上一篇的整数对象是定长数据,即C中的long型整数. 但是python中还大量存在着不定长的数据类型.如字符串对象 和整数对象一样,字符串对象的组成如下: PyStringObject定义如下: Ob_size就是实际使用的内存大小,在注释中:ob_sval contains space for 'ob_size+1' elements. 因为末尾需要额外包含一个0 byte来保证字符串的结束. 这个学过C语言的应该都不会陌生的.但是这只是一个字符数组,怎么能包含N个字符呢? 显然这只能是一个字

python 获取对象信息

当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> type(123) <type 'int'> >>> type('str') <type 'str'> >>> type(None) <type 'NoneType'> 如果一个变量指向函数或者类,也可以用type()判断: >&

【python】对象和面向对象

类的定义 python支持多重继承,在类名后面的小括号中,可以列出多个类名,以逗号分割. __init__方法在类的实例创建后被立即调用,注意与c++中构造函数不一样,因为对象在调用__init__时已经被构造出来,__init__方法不返回值,__init__方法不是必须要定义的. 每个类方法的第一个参数,包括__init__,都是指向类的当前实例的引用.按照习惯这个参数被称为self.在__init__方法中,self指向新创建的对象,在其他的类方法中,它指向方法被调用的类的实例.尽管当定义

python的对象的属性(即对象的成员)是动态的

1 python的对象的成员叫attribute 2 python的类的成员是可以动态创建的 因此,在用的时候也提供了三个内建的接口来对类的成员进行操作 2.1 getattr() 2.2 hasattr() 2.3 setattr() 这三者通过attribute的name对应起来,name是一个字符串. 当setattr()的attribute不存在时,就为该对象新建该attribute. 这些对象的属性是放在[对象.___dict__]字典中的,用[对象.___dict__[attr_na

Python 不同对象比较大小

万恶的源泉: Fireboo的疑问(当然 lambda 本身写的就有问题): >>> filter( lambda x: x > 2, [ 1, [ 1, 2, 3 ], 2, 3 ] ) [[1, 2, 3], 3] ?: >>> 1 < [ 1 ] True >>> int < list True >>> dict < int < list True >>> int < map

python实现对象&#39;+&#39;操作符

python对象实现__add__,__radd__方法即可实现'+'操作符 demo: 1 # coding=utf-8 2 3 class Person(object): 4 def __init__(self, age): 5 self.age = age 6 def __add__(self, other): 7 return self.age + other 8 def __radd__(self, other): 9 return self.age + other 10 11 pri

Python - 面对对象(其他相关,异常处理,反射,单例模式,等..)

目录 Python - 面对对象(其他相关,异常处理,反射,等..) 一.isinstance(obj, cls) 二.issubclass(sub, super) 三.异常处理 1. 异常处理 2.异常种类 3.异常其他结构 4.主动触发异常 5.自定义异常 6.断言 四.反射 五. 单例模式 Python - 面对对象(其他相关,异常处理,反射,等..) 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 class Foo(object): pass ob