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

① 内置函数 bin()、oct()、hex() 用来将整数转换为二进制、八进制和十六进制形式,这3个函数都要求参数必须为整数。

print((bin(168), oct(168), hex(168)))  # 把数字转换为二进制串、八进制串、十六进制串

在这里插入图片描述

内置函数 int() 用来将其他形式的数字转换为整数,参数可以为整数、实数、分数或合法的数字字符串,当参数为数字字符串时,还允许指定第二个参数 base 用来说明数字字符串的进制。其中,base 的取值应为 0 或 2~36 的整数,其中 0 表示按数字字符串隐含的进制进行转换。

print(int(-3.1415926))  # 把实数转换为整数

from fractions import Fraction
from decimal import Decimal

print(Fraction(8, 3), int(Fraction(8, 3)))  # 把分数转换为整数
print(Decimal(10 / 3), int(Decimal(10 / 3)))  # 把高精度实数转换为整数
print(int('0xa8', 16), int('a8', 16))  # 把十六进制数转换为十进制数
print(int(bin(255), 2))  # 二进制与十进制之间的转换

在这里插入图片描述
内置函数 float() 用来将其他类型数据转换为实数,complex() 可以用来生成复数。

print(float(3))  # 把整数转换为实数
print(float('3.1415926'))  # 把数字字符串转换为实数
print(float('inf'))  # 无穷大,其中 inf 不区分大小写
print(complex(3))  # 指定实部
print(complex(3, 5))  # 指定实部和虚部
print(complex('inf'))
print(complex('nan'))  # 非数字,not a number 的缩写
print(float('nan') == float('nan'))  # 无法比较大小

在这里插入图片描述

② ord() 和 chr() 是一对功能相反的函数,ord() 用来返回单个字符的 Unicode 码,而 chr() 则用来返回 Unicode 编码对应的字符,str() 则直接将其任意类型参数转换为字符串。

print(ord('a'), ord('A'))  # 查看指定字符的Unicode编码
print(chr(80))  # 返回数字对应的字符
print(ord('A') + 5, chr(ord('A') + 5))
print((ord('欢'), ord('迎'), ord('你')))
print(''.join(map(chr, (27426, 36814, 20320))))
print([str(255)])  # 直接变成字符串
print((str([1, 2, 3]), str((1, 2, 3)), str({1, 2, 3})))

在这里插入图片描述

内置类 ascii 可以把对象转换为 ASCII 码表示形式,必要时使用转义字符来表示特定的字符。

print((ascii('a'), ascii('egj'), type(ascii('g'))))
print((ascii('北京欢迎你'), ascii('你好')))
print((eval("'\\u4f60\\u597d'"), type(eval("'\\u4f60\\u597d'"))))

在这里插入图片描述

内置类 bytes 用来生成字节串,或者把指定对象转换为特定编码的字节串。

print(bytes())  # 生成空字节串
print(bytes(3))  # 生成长度为3的字节串
print(bytes('列表', 'utf-8'))  # 把字符串转换为字节串
print(bytes('列表', 'gbk'))  # 指定不同的编码格式
print('列表'.encode('gbk'))
print(list('列表'.encode()))  # 把字节串转换为列表
print(bytes([10, 20, 30, 40]))  # 把整数列表转换为字节串

在这里插入图片描述

③ list()、tuple()、dict()、set()、frozenset() 用来把其他类型的数据转换为列表、元组、字典、可变集合和不可变集合,或者创建空列表、空元组、空字典和空集合。

print(range(5), type(range(5)), list(range(5)))  # 把range对象转换为列表
print(tuple([0, 1, 2, 3, 4]))
print(dict(zip('1234', 'efghij')))  # 创建字典
s = set('122333444455555')
s.add(8)
s.add('8')
print(s)  # 创建可变集合,自动去除重复
print(frozenset('abbcccdddd'))  # 不可变集合 frozenset 不支持元素添加与删除

在这里插入图片描述

④ 内置函数 type() 和 isinstance() 可以用来判断数据类型,常用来对函数参数进行检查,可以避免错误的参数类型导致函数崩溃或返回意料之外的结果。

print(type(3))  # 查看3的类型
print(type([3]))  # 查看3的类型
print(type({3}) in (list, tuple, dict, set))  # 判断{3}是否为list,tuple,dict,set类型的实例
print(isinstance(3, int))  # 判断3是否为int类型的实例
print(isinstance(3j, (int, complex, float)))

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我还记得那天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值