python之常用内置函数用法精要(三)

内置函数式python内置对象类型之一,不需要额外导入任意模块即可直接使用,都封装在内置模块__builtins__之中,用C语言实现,且进行了大量优化,具有非常快的运行速度


可使用help(函数名)来查看某个函数的用法
由于内置函数的数量众多且功能强大,故我们先简单介绍一部分,后面通过内容而慢慢接触

类型转换与类型判断
  • bin(), oct(), hex()
    可将整数分别转换为二进制,八进制和十六进制形式,但要求参数必须为整数
    e.g.
bin(555)
#输出为0b1000101011
oct(555)
#输出为'0o153'
hex(555)
#输出为'0x22b'
  • int(), float()
    将其它类型的数字转换为整数,当参数为数字字符串时,允许第二个参数base来说明数字字符串的进制
    e.g.
int(-3.2) #输出为-3
int('0x22b', 16) #十六进制转十进制
int('22b', 16) 同上

int(bin(54321), 2) #二进制与十进制的转换
int('0b111') #第2个参数0表示使用字符串隐含的进制
float(3) #输出为3.0
float('3.5') #数字字符串转换为实数
complex(3) #指定实部,可用来生成复数

  • ord(), chr()
    功能相反
    ord()用来返回单个字符的Unicode码
    chr()用来返回Unicode码对应的字符,str()将其任意类型参数转换为字符串
  • list(), tuple(), dict(), set(), frozenset()
    将其它的数据类型转换为我们呢的列表,元组,字典,可变集合,不可变集合,或者用于创建
    e.g.
list(range(5)) #把range对象转换为列表
#输出为[0,1,2,3,4]

tuple(_) #一个下划线表示上一次正确的输出结果
#输出为(0,1,2,3,4)

dict(zip('1234','abcde')) #创建字典
#输出为{'4':'d', '2':'b', '3':'c', '1':'a'}

set('1112234') #创建可变集合,自动去除重复
#输出为{'4', '2', '3', '1'}
  • type(), isinstance()
    判断数据类型,用于对函数参数进行检查,可以避免错误参数类型导致函数崩溃或返回意料之外的结果
type(3) #查看3的类型,为int
type([3]) #list类型

isinstance(3, int) #判断3是否为int类型的实例
#返回True

isinstance(3j, (int, float, complex)) #判断3是否为int, float, complex类型
#返回True
  • max(), min(), sum()
    用于计算列表,元组或其它包含有限个元素的可迭代对象中的所有元素最大值,最小值以及所有元素之和
    e.g.
from random import randint
a = [randint(1, 100) for i in range(10)]
#包含10个[1,100]之间随机数的列表
print(max(a), min(a), sum(a)) #最大,最小,所有元素之和
sum(a)/len(a) #平均值
  • input(), print()
    前者用于接收用户的键盘输入,后者用来将数据以指定的格式输出到标准控制台或指定的文件对象
x = input('Please input: ')
#输出为 Please input: 345
print(x)
'345'

实际的print()语法格式为

print(value1,value2,...,sep=' ', end = '\n', file=sys.stdout,flush=False)
print(1,3,5,7, sep='\t')
#修改默认分隔符
#输出为1 3 5 7

for i in range(10): 
	print(i, end =' ') #修改end参数,每个输出之后不换行
#输出为0 1 2 3 4 5 6 7 8 9
  • read(), readline()
    从键盘接收指定数量的字符
import sys
x = sys.stdin.read(5) #读取5个字符,若不足5个,等待继续输入
#而若超过5个,则截断

x = sys.stdin.readline() #读取5个字符,若不足,等待继续输入
#而遇到换行符就结束,超5个也截断
  • pprint()
    更加友好的输出函数,更好控制输出格式,输出内容多于一行则自动添加换行和缩进来展示内容的结构
import pprint
t = [[[]]]
pprint.pprint(t) 
#默认width为80
pprint.pprint(t, width=50) 
#自动设定宽度,根据需要来换行,缩进
  • sorted(), reversed()
    e.g.
x = list(range(11))
import random
random.shuffle(x) #打乱顺序
sorted(x) #以默认顺序排序
sorted(x, key=str) #按转换为字符串以后的长度降序排列
  • enumerate()函数
    枚举可迭代对象中的元素,返回可迭代的enumerate对象,其中每个元素都是包含索引和值的元组
list(enumerate('abcd')) #枚举字符串中的元素
#输出为[(0,'a'), (1, 'b'), (2,'c'),(3,'d')]

list(enumerate['python', 'Greate'])
#输出为[(0, 'python'), (1,'Greate')]
  • map(), reduce(), filter()
    map()把一个函数func依次映射到序列或迭代器对象上的每一个元素,并返回一个可迭代的map对象作为结果
    reduce()可以将一个接收2个参数的函数以迭代累积的方式从左到右依次作用到一个序列或迭代器对象的所有元素上
    filter()将一个单参数函数作用到一个序列上,但会该序列中使得该函数返回值为True的那些元素组成的filter对象
    e.g.
list(map(str, range(5))) #把列表中的元素转换为字符串

  • range()
    语法格式为
    range([start,] end [,step])
    三种形式range(stop), range(start, stop) range(start, end, step)
    其中[start,end)左开右闭,step为步长的整数
    e.g.
range(5) #start默认为0,step默认为1
range(1,10,2) #指定起始值和步长
range(9,0,-2) #步长为负数,start比end大
  • zip()
    把多个可迭代的对象中的元素压缩在一起,返回一个zip对象

  • eval(), exec()
    eval()用来计算字符串的值,也可执行内置函数compile()编译生成的代码对象
    exec()用来执行指定的python源代码或者由compile()编译的代码对象
    e.g.

eval(b'3+5') #输出8
eval('9') #数字字符串转换为数字
eval('09')#抛出异常,不允许以0开头的数字
exec('x=3') #执行语句x=3
exec('help(sum)') #查看内置函数sum的帮助文档
发布了78 篇原创文章 · 获赞 181 · 访问量 8698

猜你喜欢

转载自blog.csdn.net/qq_44790423/article/details/100595650