Python内置函数——类型转换与类型判断
Posted 橘猫吃不胖~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python内置函数——类型转换与类型判断相关的知识,希望对你有一定的参考价值。
Python内置函数——类型转换与类型判断
bin()、oct()、hex()、int()、float()、complex()
(1)内置函数==bin()、oct()、hex()==用来将整数转换为二进制、八进制和十六进制形式,这三个函数都要求参数必须为整数。
print(bin(555)) #把数字转换为二进制串
0b1000101011
print(oct(555)) #转换为八进制串
0o1053
print(hex(555)) #转换为十六进制串
0x22b
(2)int()用来将其他形式的数字转换成整数,参数可以为整数、实数、分数或合法的数字字符串,当参数为数字字符串时,还允许指定第二个参数base用来说明数字字符串的进制,其中,base的取值应为0或2~36的整数,其中0表示按数字字符串隐含的进制进行转换。
print(int(-3.2)) #把实数转化为整数
-3
from fractions import Fraction,Decimal
x=Fraction(7,3)
print(x)
print(int(x)) #把分数转化为整数
7/3
2
from _decimal import Decimal
x=Decimal(10/3)
print(x)
print(int(x)) #把高精度实数转换为整数
3.333333333333333481363069950020872056484222412109375
3
print(int('0x22b',16)) #把十六进制数转化为十进制数
print(int(bin(54321),2)) #二进制与十进制之间的转换
print(int('0b111',0)) #第二个参数0表示使用字符串隐含的进制
print(int('111',6)) #字符串没有隐含的进制,第二个参数可以为2~36
555
54321
7
43
(3)float()用来将其他类型数据转换为实数,complex()可以用来生成复数。
print(float(3)) #把整数转换为实数
print(float(3.5)) #把数字字符串转换为实数
3.0
3.5
print(complex(3)) #指定实部
print(complex(3,5)) #指定实部和虚部
(3+0j)
(3+5j)
ord()、chr()、str()、ascii()、bytes()
(1)ord()、chr()是一对功能相反的函数,ord()用来返回单个字符的Unicode码,chr()用来返回Unicode码对应的字符,str()直接将其任意类型参数转化为字符串。
print(ord('a')) #查看指定字符的Unicode编码
print(chr(65)) #返回数字65对应的字符
print(chr(ord('A')+1)) #Python不允许字符串和数字之间的加法操作
97
A
B
print(chr(ord('国')+1)) #支持中文
print(ord('橘'))
print(ord('猫'))
print(ord('吃'))
print(ord('不'))
print(ord('胖'))
图
27224
29483
21507
19981
32982
print(''.join(map(chr,(27224,29483,21507,19981,32982))))
橘猫吃不胖
print(str(1234)) #直接变成字符串
print(str([1,2,3]))
print(str((1,2,3)))
print(str({1,2,3}))
1234
[1, 2, 3]
(1, 2, 3)
{1, 2, 3}
(2)ascii可以把对象转化为ASCII码表示形式,必要时使用转义字符来表示特定的字符。
print(ascii('a'))
print(ascii('橘猫吃不胖'))
‘a’
‘\\u6a58\\u732b\\u5403\\u4e0d\\u80d6’
(3)bytes用来生成字节串,或者把指定对象转换为特定编码的字符串。
print(bytes()) #生成空字节串
print(bytes(3)) #生成长度为3的字节串
print(bytes('橘猫吃不胖','utf-8')) #把字符串转换为字节串
print(bytes('橘猫吃不胖','gbk')) #可以指定不同的编码格式进行解码
print('橘猫吃不胖'.encode('gbk')) #等价于使用bytes()进行转换
b’’
b’\\x00\\x00\\x00’
b’\\xe6\\xa9\\x98\\xe7\\x8c\\xab\\xe5\\x90\\x83\\xe4\\xb8\\x8d\\xe8\\x83\\x96’
b’\\xe9\\xd9\\xc3\\xa8\\xb3\\xd4\\xb2\\xbb\\xc5\\xd6’
b’\\xe9\\xd9\\xc3\\xa8\\xb3\\xd4\\xb2\\xbb\\xc5\\xd6’
list()、tuple()、dict()、set()、frozenset()
list()、tuple()、dict()、set()、frozenset()用来把其他类型的数据转换称为列表、元组、字典、可变集合和不可变集合,或者创建空列表、空元组、空字典和空集合。
print(list(range(5))) #把range对象转换为列表
print(dict(zip('1234','abcde'))) #创建字典
print(set('1112234')) #创建可变集合,自动去除重复
print(frozenset('1112234')) #创建不可变集合,自动去除重复
[0, 1, 2, 3, 4]
{‘1’: ‘a’, ‘2’: ‘b’, ‘3’: ‘c’, ‘4’: ‘d’}
{‘1’, ‘2’, ‘3’, ‘4’}
frozenset({‘1’, ‘2’, ‘3’, ‘4’})
type()、isinstance()
type()、isinstance()可以用来判断数据类型,常用来对函数参数进行检查,可以避免错误的参数类型导致函数崩溃或返回意料之外的结果。
print(type(3)) #查看3的类型
print(type([3])) #查看[3]的类型
print(type({3}) in (list,tuple,dict)) #判断{3}是否为list,tuple,dict类型
print(isinstance(3,int)) #判断3是否为int类型的实例
print(isinstance(3j,(int,float,complex))) #判断3j是否为int、float或complex类型的实例
<class ‘int’>
<class ‘list’>
False
True
True
以上是关于Python内置函数——类型转换与类型判断的主要内容,如果未能解决你的问题,请参考以下文章
JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集
Python isinstance() 函数 Python 内置函数 Python 内置函数