Python内置函数——类型转换与类型判断

Posted 橘猫吃不胖~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 内置函数

python3 内置函数

Python内置类型——真值测试

VTP工具使用中Python函数学习--内置函数isinstance()

Python函数:内置函数(数学运算函数类型转换函数)