Python的对象和类型

在Python里面一切都是对象

一个Python对象的组成

1)身份:没有用一个对象都有一个身份表示自己,实用内建函数的id可以到骚这个标识具体的值

2)类型:对象的类型据定了对象保存什么样的值,可以进行什么样的操作,以及遵守什么样的规则,实用内建函数type可以查看对象的类型,他的本质就是把对象分类。

3)值:表示对象中具体分保存内容,有些对象的值可以修改,有些对象的值不可以修改,称为这个对象的“可变性”

注意:Python中任意类型的值其实都是一个对象(判定是不是它对象,就会尝试用id取一下值,看看能不能取到值)

举例:10这样一个字面常量,也是一个对象,一个字符串,也是对象,,一个函数也是对象,一个类型,即type函数的返回值也是一个对象,一个模块也是一个对象。

 理解对象和引用

对象的创建过程

a=1
b=2
b=1

Python赋值过程

1)当我们在解释器中输入a=1时,就有一个Integer class的类被唤醒(找到了整数对象的图纸)

2)根据 Integer class 这个图纸,在内存中开辟一端空间(得到了对象的id ),并填充如对象的类型和值,此时对象已经准备好了

3)此时,如果想要访问对象,就需要拿到对象的钥匙,而这个对象的钥匙就是休息名a,通过变量名a就可以访问该对象

4)b=2时,又创建了一个对象b ,同样可以通过变量名b访问该对象

5)b=1时,此时b拿到了a对象的钥匙,所以b也可以访问a对象

总结:

1.Python中的变量名只是一个访问对象的”钥匙“,多个不同的变量 ,可以访问访问相同的对象,因此我们把这种变量名也叫对象的“引用”

’为什么Python的变量是这样的?

1)空间考虑:比如一个数字2,在Python中只有一个这样的数字,而C语言或其他语言中可能还有很多个2

2)时间考虑 :比如a=b这样的复制,只修改了一下贴标签的位置,不需要对对象进行深浅拷贝,这主要是由于Python的GC绝对的

理解对象和类型:

1.有序对象是“相似”的,所以我们把相似的对象归类,比如把整数归为一类,把浮点数归为一类,把字符串归为一类

2.相同类型的对象,不需要有相同的操作,比如,所有的整数对象,都可以进行加减乘除操作,所有的字符都可以进行切片操作

3.Python是一种动态强类型编程语言

4.动态:是指运行时进行遍历类型检查,

  强类型:是指检查严格,并且“偏向于”不允许隐式转换

注意:类似的, C语⾔是⼀种静态弱类型语⾔. Java的类型检查更为严格, ⼀般认为是静态强类型, ⽽Javascript则是动
态弱类型

标准类型:

整型,浮点型,复数型,布尔型,字符串,列表,元组,字典

其他内建类型:

类型,Null对象(None),⽂件,函数,模块,类

类型的类型:

了解None:

1.Python有一个特殊类型,称为NoneType,这个类型只有一个对象,叫做None

2.NoneType类似于语言的void,

3.None类似于C语言的Null

4.None这个对象没有什么有用的属性,他的布尔值为False

内建类型的布尔值:

所有的标准对象,均可以用于布尔测试到(if条件中)

注意:处理一下几种,其他的内建对象的返回值都是True

None,False,“”(空字符串),()空 元组,{}空字典,所有值 为0的数字(0,0.0,0.0+0.0)

对象值比较

1.所有内建类型对象都可以进行比较操作,条件是双方必须是相同类型

2.比较结果是True或False

3.比较操作符:==,!=,<,>,<=,>=

对象类型比较

1.两个对象类型的比较,可以使用内建函数type

a=1
print type(a)=type(1)

2.刚刚对象的比价调用了两次type函数,也可以调用一次type函数

import types
a=1
print type(a)==types.IntType

3.还可以使用内建函数 isinstance来判断

a[]
print isinstance(a,list)

a=1;
print isinstance(a,type(100))

类型函数工厂

int()内建函数,可以把字符串转为一个整数,其实调用的就是int()之后生成了一个整数类型的对象,我们把这种函数称为“工厂函数”

类似的还有:

int(),float(),complex()

str(),uncode()

list(),tuple()

dict()

bool()

等等....

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值