一、python对象的相关术语
1、python程序中保存的所有数据都是围绕对象这个概念展开的
1.1 程序中存储的所有数据都是对象
1.2 每个对象都有一个身份(地址)、一个类型和一个值
例如:school = "aaa",会以“aaa”创建一个字符串对象,其身份是指向它在内存中所处位置的指针(即内存地 址),而school就是引用这个具体位置的名称
1.3 对象的类型也称对象的类别,用于描述对象的内部表示及它支持的方法和操作
1.4 创建特定类型的对象时,将该对象称为该类的一个实例
1.5 实例被创建以后,其地址和类型就不可改变:
1.5.1 如果对象的值可以修改,称为可变对象
1.5.2 如果对象的值不可修改,称为不可变对象
1.6 如果某个对象A包含对其他对象的引用,则将对象A,称为容器
1.7 大多数对象都拥有大量特有的数据属性和方法
1.7.1 属性:与对象相关的值
1.7.2 方法:被调用时将在对象上执行某些操作的函数
1.7.3 使用(.)运算符可访问对象的属性和方法
2、两个对象的比较
2.1 值比较:对象中的数据值是否相同【==】
2.2 身份比较:两个变量是否为同一对象(内存地址是否相同)【is】
2.3 类型比较:两个对象的类型是否相同 【type(a) is type(b)】
二、python数据类型
1、python核心数据类型
1.1 数字:int float complex
1.2 字符:str unicode
1.3 列表:list
1.4 字典:dict
1.5 元组:tuple
1.6 文件:file
1.7 其他:集合(set)、不可变集合(frozset)、类类型、 bool、None...
2、python类型转换
2.1 str()、repr()、format()用于将非字符串转换为字符串
2.1.1 str和repr的区别:str表示对象序列化以后的结果;repr表示精确值(将repr的结果交给eval,仍可获得对象)
2.1.1.1 转载_https://www.cnblogs.com/itdyb/p/5046415.html
2.1.1.2 repr(object) -> string: Return the canonical string representation of the object.For most object types, eval(repr(object)) == object.
2.2 int()、float()用于将字符串转换为int、float
2.2.1 x="3.14" int(x) 会报错
2.3 list()用于将字符串转换为列表;dict()用于将元组序列转换为字典
2.3.1 将字符串拆成字符,并组成列表(并非将列表样式的字符串转换为列表)eg:
#coding=utf-8
x = "[1,2,3]"
print list(x)
#result ['[', '1', ',', '2', ',', '3', ']']
2.3.2 dict(d)
d必须是(key,value)元组的序列 eg:
x = [("k1","v1"),("k2","v2")]
print dict(x)
#result {'k2': 'v2', 'k1': 'v1'}
2.4 chr()将整数转换为字符;ord()将字符转换为整数值;hex()将整数转换为16进制
2.4.1 chr(x) x只能是整数(十进制或十六进制 0x65)
2.4.2 chr() 是将ascii或ascii码的十六进制形式转换为字符
eg:
x = 1 y = 97 print chr(x),type(chr(x)),chr(y) #result <type 'str'> a
2.4.3 ord(x)将字符或字符的unicode编码 转换为ascii eg:
#u"0061"是a的unicode形式 print ord(u"\u0061") print ord('a') #result 97 97
2.4.4 hex()将整数转换为16进制,但类型是str
对十六进制还是有些迷惑额。。。