🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 类型转换 ## complex:根据传入参数创建一个新的复数 我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当z的虚部等于零时,常称z为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数 ~~~ >>> complex() #当两个参数都不提供时,返回复数 0j。 0j >>> complex('1+2j') #传入字符串创建复数 (1+2j) >>> complex(1,2) #传入数值创建复数 (1+2j) ~~~ ## str:返回一个对象的字符串表现形式(给用户) ~~~ >>> str() '' >>> str(None) 'None' >>> str('abc') 'abc' >>> str(123) '123' ~~~ ## bytearray:根据传入的参数创建一个新的字节数组 ~~~ >>> bytearray('中文','utf-8') bytearray(b'\xe4\xb8\xad\xe6\x96\x87') ~~~ ## bytes:根据传入的参数创建一个新的不可变字节数组 ~~~ >>> bytes('中文','utf-8') b'\xe4\xb8\xad\xe6\x96\x87' ~~~ ## memoryview:根据传入的参数创建一个新的内存查看对象 ~~~ >>> v = memoryview(b'abcefg') >>> v[1] 98 >>> v[-1] 103 ~~~ ## ord:返回Unicode字符对应的整数 ~~~ >>> ord('a') 97 ~~~ ## chr:返回整数所对应的Unicode字符 ~~~ >>> chr(97) #参数类型为整数 'a' ~~~ ## bin:将整数转换成2进制字符串 ~~~ >>> bin(3) '0b11' ~~~ ## oct:将整数转化成8进制数字符串 ~~~ >>> oct(10) '0o12' ~~~ ## hex:将整数转换成16进制字符串 ~~~ >>> hex(15) '0xf' ~~~ ## tuple:根据传入的参数创建一个新的元组 ~~~ >>> tuple() #不传入参数,创建空元组 () >>> tuple('121') #传入可迭代对象。使用其元素创建新的元组 ('1', '2', '1') ~~~ ## frozenset:根据传入的参数创建一个新的不可变集合 ~~~ >>> a = frozenset(range(10)) >>> a frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) ~~~ ## enumerate:根据可迭代对象创建枚举对象 ~~~ >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) #指定起始值 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')] ~~~ ## iter:根据传入的参数创建一个新的可迭代对象 ~~~ >>> a = iter('abcd') #字符串序列 >>> a <str_iterator object at 0x03FB4FB0> >>> next(a) 'a' >>> next(a) 'b' >>> next(a) 'c' >>> next(a) 'd' >>> next(a) Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> next(a) StopIteration ~~~ ## slice:根据传入的参数创建一个新的切片对象 ~~~ >>> c1 = slice(5) # 定义c1 >>> c1 slice(None, 5, None) >>> c2 = slice(2,5) # 定义c2 >>> c2 slice(2, 5, None) >>> c3 = slice(1,10,3) # 定义c3 >>> c3 slice(1, 10, 3) ~~~ ## super:根据传入的参数创建一个新的子类和父类关系的代理对象 ~~~ #定义父类A >>> class A(object): def __init__(self): print('A.__init__') #定义子类B,继承A >>> class B(A): def __init__(self): print('B.__init__') super().__init__() #super调用父类方法 >>> b = B() B.__init__ A.__init__ ~~~ ## object:创建一个新的object对象 ~~~ >>> a = object() >>> a.name = 'kim' # 不能设置属性 Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> a.name = 'kim' AttributeError: 'object' object has no attribute 'name' ~~~