Python对象

一、Python使用对象模型来存储数据
Python对象有三个特性:

  • 身份:任一对象的身份可以使用内建函数 id() 来获得。
  • 类型:可用内建函数 type() 查看。(type返回的是对象,而不是字符串)
  • 值:对象表示的数据值。
    【1、2:只读;  3:可写】

Python对象的常用属性:函数方法

  • 含有数据属性的对象包括(但不限于):类、类实例、模块、复数、文件……

二、标准类型 (也叫“基本数据类型”)

类型Type
数字Integer、Long、Float、Complex
布尔型Boolean
字符串String
列表List
元组Tupple
字典Dictionary

布尔值:

  • 同类型的对象之间可以比较大小
  • 每个对象天生都有布尔值(True 或 False)
  • 空对象、值为零的任何数字对象、Null对象,布尔值都为False

标准类型操作符:
(1)对象得比较:==、<=、>=、>、<、!=、<>
(2)对象身份比较:
   对象可以被赋值到另一个变量(通过引用)
   因为每个变量都指向同一个(共享的)数据对象,只要任何一个引用发生改变,该对象的其他引用也会随之而变。
   

foo1 = foo2 = 4.3  # 实质:一个值为4.3的数字被创建,然后该对象被引用(foo1和foo2指向同一个对象)

foo1 = 4.3  # (foo1和foo2指向同一个对象)
foo2 = foo1

foo1 = 4.3  # (foo1和foo2指向不同的对象)
foo2 = 1.3 + 3.0

Python中提供了 is is not 操作符来测试两个变量是否指向同一个对象。

eg: a is b   <=>   id(a) == id(b)

Python中,整型和字符串对象为不可变对象
(3)布尔类型:and、or、not (与、或、非)

标准类型内建函数:

函数描述
cmp(obj1, obj2)比较 obj1 和 obj2,返回-1、0、1
repr(obj) 或 ‘obj’返回 obj 的字符串表示
str(obj)返回对象适合可读性号的字符串表示
type(obj)得到一个对象的类型,并返回相应的 type 对象

注:repr(obj) 输出,对Python比较友好;
  而 str(obj) 输出对用户比较友好
  
type() 和 isinstance():

class Foo:
    pass

foo = Foo()


class Bar(object):
    pass
bar = Bar()

type(Foo)    # <type, 'classobj'>
type(foo)    # <type, 'instance'>
type(Bar)    # <type, 'type'>
type(bar)    # <type, '__main__.Bar'>
import types
types.IntType    # <type, 'int'>

eg1if type(59) is types.IntType:
eg2if isinstance(59, (int, long, float)):

类型工厂函数:(实质上是类),在调用时,实际上生成了该类型的一个实例。

int()
long()
float()
complex()

str()
unicode()
basestring()

list()
tuple()

type()
dict()
bool()
set() / frozenset()
object()
classmethod()
staticmethod()
super()
property()
file()

三、其他内建类型

类型Type
Null对象None
文件File
集合、固定集合
函数、方法function
模块module
class

四、内部类型(程序员一般不会直接与其打交道)

类型描述
代码可执行对象 (可用内建函数 complex() 得到代码对象)
Python的执行帧栈
跟踪记录异常发生时,一个包含异常的栈跟踪信息的跟踪记录对象被创建
切片
省略用于扩展切片语法中,起记号作用 (有一个唯一的名字:Ellipsis) 始终为True
Xrangerange() 的兄弟版本

五、标准类型的分类(即,基本内建数据对象原始类型)

模型分类Python类型
存储模型标准 / 原子类型数值、字符串
容器类型列表、元组、字典
更新模型可变类型列表、字典
不可变类型数字、字符串、元组
访问模型直接访问数字
顺序访问字符串、列表、元组
映射访问字典
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值