类型转换与类型判断
-
内置函数bin()、oct()、hex()用来将整数转换为二进制、八进制和十六进制 >>> bin(555) ‘0b1000101011‘ >>> oct(555) ‘0o1053‘ >>> hex(555) ‘0x22b‘
-
内置函数int()用来将其他形式的数字转换为整数,参数可以为整数、实数、分数或合法的数字字符串,当参数为数字字符串时,还允许指定第二个参数base用来说明数字字符串的进制。其中base取值应为0或2~36之间的整数,其中0表示按数字字符串隐含的进制进行转换 >>> bin(555) ‘0b1000101011‘ >>> oct(555) ‘0o1053‘ >>> hex(555) ‘0x22b‘ >>> int(-3.2) -3 >>> from fractions import Fraction,Decimal >>> x = Fraction(7,3) >>> int(x) 2 >>> x = Decimal(10/3) >>> x Decimal(‘3.333333333333333481363069950020872056484222412109375‘) >>> int(x) 3 >>> int(‘0x153‘,16) 339 >>> int(‘0x153‘,0) 339 >>> int(‘153‘,16) 339 >>> int(‘153‘) 153
-
内置函数float()用来将其它类型转换为实数,complex()可以用来生成复数 >>> float(3) 3.0 >>> float(‘3.5‘) 3.5 >>> float(‘inf‘) ?
-
ord()和chr()时一对功能相反的函数,ord()用来返回单个字符的Unicode码,而chr()则用来返回Unicode编码对应的字符,str()则直接将其任意类型参数转化为字符串 >>> ord(‘a‘) 97 >>> chr(65) ‘A‘ >>> chr(ord(‘A‘) + 1) ‘B‘ >>> chr(ord(‘国‘) + 1) ‘图‘ >>> ord(‘董‘) 33891 >>> ord(‘付‘) 20184 >>> ord(‘国‘) 22269 >>> ‘‘.join(map(chr,(33891,20184,22269))) ‘董付国‘ >>> str(1234) ‘1234‘ >>> str([1,2,3]) ‘[1,2,3]‘ >>> str((1,3)) ‘(1,3)‘ >>> str({1,3}) ‘{1,3}‘
-
内置函数ascii()可以把对象转换为ASCII码表示形式,必要的时候使用转义字符来表示特定的字符 >>> ascii(‘a‘) "‘a‘" >>> ascii(‘董付国‘) "‘u8463u4ed8u56fd‘" >>> eval(_) ‘董付国‘ >>> eval("‘u8463u4ed8u56fd‘") ‘董付国‘
-
内置函数bytes()用来生成字节串,或者把指定对象转换为特定编码的字节串 >>> bytes() b‘‘ >>> bytes(3) b‘x00x00x00‘ >>> bytes(5) b‘x00x00x00x00x00‘ >>> bytes(8) b‘x00x00x00x00x00x00x00x00‘ >>> bytes(‘董付国‘,‘utf-8‘) b‘xe8x91xa3xe4xbbx98xe5x9bxbd‘ >>> bytes(‘董付国‘,‘gbk‘) b‘xb6xadxb8xb6xb9xfa‘ >>> str(_,‘gbk‘) ‘董付国‘ >>> str(b‘xb6xadxb8xb6xb9xfa‘,‘gbk‘) ‘董付国‘ >>> ‘董付国‘.encode(‘gbk‘) b‘xb6xadxb8xb6xb9xfa‘ >>> _.decode(‘gbk‘) ‘董付国‘ >>> x = ‘董付国‘.encode(‘gbk‘) >>> list(x) [182,173,184,182,185,250] >>> bytes(_) b‘xb6xadxb8xb6xb9xfa‘ >>> _.decode(‘gbk‘) ‘董付国‘
-
list()、tuple()、dict()、set()、frozenset()用来把其他类型的数据转换为列表、元组、字典、可变集合和不可变集合或者创建空列表、空元组、空字典和空集合 >>> list(range(5)) ?
-
内置函数type()和isinstance()可以用来判断数据类型,常用来对函数参数进行检查 >>> type(3) <class ‘int‘> >>> type([3]) <class ‘list‘> >>> type({3}) in (list,tuple,dict,set) True >>> type({3}) in (list,dict) False >>> isinstance(3,int) True >>> isinstance(3j,int) False >>> isinstance(3j,(int,float,complex)) True
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|