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

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值