源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python对象类型及其运算方法(详解)

  • 时间:2021-11-17 08:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python对象类型及其运算方法(详解)
[b]基本要点:[/b] 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份、一个类型、一个值 [b]例:[/b]
 >>> a1 = 'abc'
 >>> type(a1)
 str
创建一个字符串对象,其身份是指向它在内存中所处的指针(在内存中的位置) a1就是引用这个具体位置的名称 使用type()函数查看其类型 其值就是'abc' 自定义类型使用class 对象的类型用于描述对象的内部表示及其支持的方法和操作 创建特定类型的对象,也将该对象称为该类型的实例,实例被创建后,其身份和类型就不可改变 容器:某对象内包含对其它对象的引用 对象拥有特有的数据属性和方法,使用点运算符调用 数据:变量 方法:函数 [b]1) 对象的身份和类型[/b] 两个对象比较: 1、值比较:对象中的数据是否相同; 2、身份比较:两个变量名引用的是否为同一对象; 3、类型比较:两个对象的类型是否相同; [b]注意:[/b] 内置函数id()可返回对象的身份即在内存中的位置 is比较两个对象的身份 type()返回对象的类型 [b]例:[/b]
>>> num1 = 5
>>> num2 = 6
>>> num1 == num2 值比较
False  
>>> num1 is num2 身份比较
True
>>> type(num1) is type(num2) 类型比较
True
[b]2)核心数据类型[/b] 数字:int, long, float, complex(复数), bool 字符:str, unicode 列表:list 字典:dict 元组: tuple 文件:file 其它类型:集合(set), frozenset, 类类型, None [b]3)类型转换[/b] str(), repr()或format():将非字符型数据转换为字符; int(): 转为整数 float(): 转为浮点数 list(s): 将字串s转为列表 tuple(s):将字串s转为元组 set(s): 将字串s转为集合 frozenset(s):将字串s转换为不可变集合; dict(d): 创建字典;其d必须是(key, value)的元组序列 [b]例:[/b]
>>> str1 = 'hello,fanison'
>>> list(str1)
['h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n']
>>> tuple(str1)
('h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n')
>>> set(str1)
set(['a', 'e', 'f', 'i', 'h', 'l', 'o', ',', 's', 'n']) 特别注意!!!去重
>>> l1=[('a',1),('b',2),('c',3)]
>>> list(l1)
{'a': 1, 'c': 3, 'b': 2}
补充例题:
>>> a = 'ABC'
>>> b = a
>>> a = 'XYZ'
>>> print a b
'XYZ' 'ABC'
图解过程 [img]http://files.jb51.net/file_images/article/201707/201707050920106.png[/img] [b]4)数字类型操作[/b] 5种数字类型:整型、长整型、浮点型、复数、布尔型 所有数字类型均不可变 >>> a = 10# 整型 >>> b = 1.5 # 浮点型 >>> c = True # 布尔型 >>> d = 5+2j # 复数 [b]例:[/b]
>>> 1 + 2
3
>>> 1.0 + 2
3.0
>>> 11 % 4
3
>>> 11.0 / 4 
2.75
整数和浮点数混合运算的结果是浮点数 [img]http://files.jb51.net/file_images/article/201707/201707050920107.png[/img] [b]5)布尔类型[/b] bool(布尔型)之所以属于数字类型,是因为bool是int的子类。
>>> int(True)
1
>>> int(False)
0
>>> bool(1)
True
>>> bool(-1)
True
>>> bool(0)
False
[b]结论:[/b] bool 转 int时, Ture-->1, False-->0 int 转 bool时, 非0-->True, 0-->False 与运算:只有两个布尔值都为 True 时,计算结果才为 True。
>>> True and True 
 True
 >>> True and False
 False
 >>> False and True
 False
 >>> False and False
 False
或运算:只要有一个布尔值为 True,计算结果就是 True。
>>> True or True
 True
 >>> True or False
 True
 >>> False or True
 True
 >>> False or False
 False
非运算:把True变为False,或者把False变为True:
 >>> not True
 False
 >>> not False
 True
[b]注意:1、任何非0数字和非空对象都为真;[/b] 2、数字0、空对象和特殊对象None均为假; and 和 or 运算的一条重要法则:短路计算。 1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。 [b]例:[/b]
>>> a = 'python'
>>> print 'hello,', a or 'fanison'
hello,python
>>> b = ''
>>> print 'hello,', b or 'fanison'
hello,fanison
以上这篇Python对象类型及其运算方法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部