对象基础知识
对象
- python是面向对象的语言,在python中一切皆对象;
- 程序运行时,数据均放到内存中然后在运行;
- 对象是一个容器,是内存中用来存储指定数据的一块区域;
对象的结构
python每个对象都有三种数据
id(标识)
- id用来区别对象,每个对象的id号互不相同;
- 通过id()函数查看对象的id号;
- id由python解析器生成,在CPython中,id就是对象内存地址;
- 对象创建之后,id不会发生改变;
type(类型)
- 类型即为对象的数据类型,如int、bool、str、float;
- 可以通过type()函数查看对象的类型;
- 不同类型的对象具有不同功能;
- python是一门强类型语言,对象创建之后类型便不能改变;
value
- 值即为对象中存储的数据;
- 对象分为可变对象和不可变对象,可变对象值可以不变,不可变对象值不可变,一般对象都是不可变对象;
变量和对象
- python中对象像是给对象起的别名;
- 变量中没有存储对象的值,而是存储对象的id,即对象在内存中的地址;
- a=12,b=‘hello’
- 在使用变量时,就是在通过对象id查看对应对象;
- 变量中保存的对象在重新赋值之后发生改变;
- 变量之间相互独立,修改一个变量不会影响另一个变量
类型转换
- 类型转换就是将一种类型的对象转化为另一种类型的对象;
- 类型转换不改变对象本身的类型,而是创建一个新的对象将之前对象的值赋值给它;
类型转化函数
类型转换函数不会对原来的对象产生影响,而是把对象转换为指定类型后将其值作为返回值返回;
int()
-
作用:将其他类型对象转换为int型;
-
对于字符串,只有当字符串为整数时才能转,其余字符串转换不了;
-
对于浮点数直接向下取整;
-
对于bool型中True,False,int(True)=1,int(False)=0;
float()
- 作用:将其他类型对象转换为float型;
- 对于字符串,只有当字符串为整数、浮点数时才能转,其余字符串转换不了;
- 对于int型数,直接加.0即可,如12变12.0;
- 对于bool型中True,False,float(True)=1.0,int(False)=0.0;
str()
- 对于其他任何类型都可以直接转换为字符串
bool() - 作用:将其他对象转换为bool值;
- 所有表示空的对象都会转换为False,如int中0,float中0.0,str中"",其余转换为True;