Python学习 之 内置函数


方法表

数据类型(10个)

函数名描述
int整型
float浮点型
complex复数
str字符串
bool布尔型
list列表
tuple元素
dict字典
set集合
frozenset冻结集合

进制转换及数学运算(10个)

函数名语法描述结果
binbin(10)十进制整数转为二进制, 0b开头代表二进制0b1010
octoct(10)十进制整数转为八进制, 0o开头代表八进制0o12
hexhex(10)十进制整数转为十六进制, 0x开头代表十六进制0xa
absabs(-10)计算绝对值10
divmoddivmod(10,3)商余运算(3,1), 商3余1
roundround(1.23)
round(1.2564, 2)
四舍五入机制
默认保留整数
第二个参数为精确的的小数位数
1
1.27
powpow(2, 3)
pow(2, 3, 3)
arg1arg2
arg1arg2%arg3
23 = 8
23 % 2 = 8 % 2 = 2
sumsum((1,2,3))
sum((1,2,3),10)
argv1必须是个可迭代对象
sum = sum(argv1)+argv2
6
16
minmin(1,-2,3)
min((1,-2,3))
min((-1,2),(0,10))
min((1,-2,3),key=abs)
参数可以为多个数字, 一个 iterable 或多个类型相同的 iterable
多个 iterable 比较时, 比较第一个元素, 返回整个 iterable
参数 key=abs 后, 会先取参数绝对值再比较, 返回绝对值
-2
-2
(0, 10)
1
max参考 min

字符串相关(9个)

函数名语法描述结果
format(普通用法)format(123)未指定arg2, 类似str(123)“123”
format(arg1为str的用法)format(‘abc’,’<20’)
format(‘abc’,’>20’)
format(‘abc’,’^20’)
长度为20
< 左对齐
> 右对齐
^ 居中对齐, 类似 str.center(len)
format(arg1为int的用法)format(10,‘b’)
format(10,‘o’)
format(10,‘x’)
format(10,‘X’)
format(97,‘c’)
‘b’ --> 转成二进制
’o’ --> 转成八进制
’x’ --> 转成十六进制(小写字母表示)
‘X’ --> 转成十六进制(大写字母表示)
‘c’ --> 转成unicode编码对应字符
1010
12
a
A
a
bytesbytes(str,encoding=‘utf-8’)将str转换成utf-8编码的bytes类型
bytearraybytearray()
bytearray(int)
bytearray(str, encoding=“utf-8”)
没写参数, 返回长度为 0 的 bytearray
int - 返回一个长度为 int 的 bytearray
str - 返回内容为对应编码的 byte 类型
ord
chr
asciiascii(‘中国’))str -> ascii‘\u4e2d\u56fd’
reprrepr(obj)其他数据格式转为 str

数据结构的操作(8个)

函数名语法描述返回值
lenlen()求长度int
enumerateenumerate(iterable,arg1)为 iterable 添加索引, 从 arg1 开始
默认索引从 0开始
如果是 dict , 索引对应的是 key
iterable
allall(iterable)若 iterable 中所有元素都是 True, 则返回值为 Truebool
anyany(iterable)若 iterable 中元素有一个是 True, 则返回值为 Truebool
zipzip(iterable1, iterable2, …)a = [1,2], b = [3,4], c = [5,6,7]
zip(c,b,a)
zip((5,3,1),(6,4,2))
zip(tuple, tuple, …)
filterfilter(func,iterable)用于筛选
自定义函数处理 iterable
函数返回值为 True 时, 将元素加入新的 iterable
最后将新的 iterable 返回
mapmap(func,iteralbe)用于加工
将加工后的返回值加入新的 iterable
其他同上
sortedsorted(iterable,key=None,reverse=False)key传入一个函数名,通过返回值, 将原 iterable 排序
排序结果默认为升序, reverse 为 True 降序
iterable
reversedreversed(iterable)将 iterable 直接反序iterable

作用域相关(2个)

函数名语法返回值
localslocals()当前作用域内所有方法名
globalsglobals()全局作用域所有方法名

迭代器生成器相关(3个)

函数名语法返回值
rangerange(int)iterable
iteriterable.__iter__()迭代器
nextiterator.__next__()从迭代器中逐次取出

其他(12个)

函数名语法描述
evaleval(“1+2”)参数为 str, 直接执行, 并返回结果
execexec(‘print(1)’)参数为 str, 直接执行并输出结果, 没有返回值
compilecompile(src,file_name,mod)
例:
code=‘1+2’
compile1=compile(code,’’,‘eval’))
eval(compile1)
编译为 bytes 类型的语句
比直接从字符串执行更加安全
printprint(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)]sep 间隔符, 默认为空格
end 结束符, 默认为换行符
file 不填则输出到屏幕, 否则填写文件句柄
flush 是否立即刷新缓冲区
hashhash(arg)得到一个数字, 即为 hash 值
同一次执行, 对相同可哈希的变量, 结果永远是相同的
idid(arg)查看内存地址
open文件读写打开文件句柄
importimport 模块名导入模块
helphelp(command)返回该命令的用法, 类似linux的man
dirdir(argv)返回argv的所有方法名
callablecallable(command)是否可以调用

反射相关(4个)

反射详细介绍

函数名描述
hasattr
getattr
setattr
delattr

面向对象相关(9个)


部分方法使用实例


filter

"""
    filter 函数的语法为:
    new_iterable = filter(funcName, iterable)
    将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存

    lambda 函数的语法示例:
    lambda i: i * 2
    lambda i: True if i % 2 == 0 else False

"""

# 定义一个函数, 处理参数并返回结果
def func(num):
    # 若参数为偶数, 则返回 True
    return num * 2

# 通过 map 将处理后的元素合成 new_iterable
r = map(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结


# 上边的写法等价于
r = map(lambda i: i * 2, range(10))
print(list(r))


map

"""
    filter 函数的语法为:
    new_iterable = filter(funcName, iterable)
    将 iterable 中的元素依次通过函数处理, 若返回值为 True, 元素存入 new_iteralbe, False 则不存

    lambda 函数的语法示例:
    lambda i: i * 2
    lambda i: True if i % 2 == 0 else False

"""

# 定义一个函数, 如果参数满足条件, 则返回值为 True, 反之为 False
def func(num):
    # 若参数为偶数, 则返回 True
    if num % 2 ==0:
        return True
    else:
        return False

# 通过 filter 判断筛选出符合条件的元素合成 new_iterable
r = filter(func, range(10))
print(list(r)) # 通常迭代器是循环输出, 也可以强转成 list 类型, 不建议, 这里是示例, 不纠结


# 上边的写法等价于
r = filter(lambda i: True if i % 2 == 0 else False, range(10))
print(list(r))


print

"""
	print(*args[,sep=’ ‘,end=’\n’,file=None,flush=False)]
	- sep 间隔符, 默认为空格
	- end 结束符, 默认为换行符
	- file 不填则输出到屏幕, 否则填写文件句柄, 输出到文件
	- flush 是否立即刷新

"""

# 最普通的用法, 位置参数不限
print(1, "2", 3)

# 可以设定分隔符
print(1, "2", 3, sep="-")

# 可以设定末尾的结束符
print(1, "2", 3, end="...\n")

# 可以将结果输出到可写的文件句柄
with open("a.txt", mode="w") as f:
    print(1, "2", 3, sep="-", end="...\n", file=f)

# 可以设置立即刷新缓冲区, 写入输出
import time

for i in range(10):
    print("**", end="",flush=True)
    # 模拟延迟为 0.2 秒
    time.sleep(0.2)


zip

"""
    将多个 iterable 按索引和参数顺序组成新的 iterable
    结果类型为 zip[tuple, tuple, ...]
    tuple 的元素为 (arg1[0], arg2[0], arg3[0]), (arg1[1], arg2[1], arg3[1], ...)
    zip 组合 dic 类型时不会报错, 但是只会组合 dic 的 key
	长度为最小 iterable 的长度
    zip 类型不能直接 list() 展开

"""

# 三个 iterable
a = [1, 2]
b = [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
c = {"aa": 1, "bb": 2}

# 使用 zip 拼接
r = zip(a, b, c)
for i in r:
    print(i)

# 结果为:
# (1, 'a', [1, 2, 3], 'aa')
# (2, 'b', [2, 3, 4], 'bb')

# 示例: 结合 map 使用, 可将两个 list 合成一个 dict
k = ["a", "b"]
v = [1, 2]

r = map(lambda t: {t[0]:t[1]}, zip(k, v))
for i in r:
    print(i)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值