Python内置函数集

迭代器/生成器相关
"""range"""
for i in range(10)

"""next"""
lst = [1,2,3]
it = lst.__next__()
it = next(lst)

"""iter"""
lst = [1,2,3]
it = lst.__iter__()
it = iter(lst)
面向对象相关

反射相关

基础数据类型相关
"""和数字相关"""

# 数据类型

# bool
# int
# float
# complex

# 进制转换

# bin
a=5
print(bin(a)) #0b101二进制

# oct
c=9
print(oct(c)) #0o11八进制

# hex
d=22
print(hex(d)) #0x16十六进制


# 数学运算

# abs - 绝对值
# divmod - 除法(商,余数)
# round - 四舍五入
# pow - 次幂
# sum - 求和
# min - 最小值
# max - 最大值

# -------------------------------------------

"""和数据结构相关"""

# enumerate - 元组
lst = ['张无忌', '张翠山', '张三丰']
for item in enumerate(lst):
    print(item)
# (0, "张无忌")
# (1, "张翠山")
# (2, "张三丰")
lst = ['张无忌', '张翠山', '张三丰']
for i, item in enumerate(lst):
    print(i, item)

# any - or
# all - and
lst = [0, "呵呵", True]
print(any(lst)) # True
print(all(lst)) # False

# zip
# 快速构建字典
lst1 = ['张无忌', '张翠山', '张三丰']
lst2 = ['胡辣汤', '疙瘩汤', '紫菜蛋花汤']
d = dict(zip(lst1,lst2))
print(d)
# {'张无忌': '胡辣汤', '张翠山': '疙瘩汤'...}

# list - 列表
# tuple - 元组
# reversed - 把列表翻转,返回迭代器
# slice - 切片
# str
# format - 格式化
# bytes - 字节
# bytearry - 字节数组(绝迹)
# memoryview
# ord - 字符转换为数字
# chr - 数字转换为字符(可以帮助生成验证码)

# ascii - ASCII码
# repr - 一个字符串最应该表现的方式
print(str("你好,我'叫\t周杰伦"))
print(repr("你好,我'叫\t周杰伦"))
# f-string - r字符串
print(r"你好,我\\叫\t周\n润发")
# sorted - 排序
lst = [12, 28, 11, 36, 17, 59]
res = sorted(lst) # 正序
rres = sorted(lst, reverse=True) # 倒序
print(res)

# 支持自定义排序
lst2 = ['胡辣汤', '疙瘩汤', '紫菜蛋花汤', '赵本山', '周杰']
def func(item):
    # 根据名称长度进行排序
    return len(item)
sorted(lst2, key=func)
print(sorted(lst2, key=lambda item: len(item)))

# filter - 筛选
lst = [7, 21, 3, 46, 61, 3, 5]
# 把能被3整除的数摘出来
f = filter(lambda x: x % 3 == 0, list))
print(list(f))

# map - 映射函数
作用域相关
print(globals()) # 查看全局作用域所有内容
print(locals()) # 查看当前作用域所有内容
其他
"""字符串类型代码的执行"""

# eval - 执行字符串类型的代码,并返回最终结果
s = "1+1"
print(eval(s)) # 2

# exec - 执行字符串类型的代码
s = "a=100"
exec(s)
print(a) # 尽量不要这样写

# complie - 将一个字符串编译为字节代码(把一段字符串代码加载,后面可以通过exec和eval区执行)
complie("for i in range(10):print(i)", "", "exec") # 第一个参数和第二个参数互斥;第三个参数:模式
# eval:可以把字符串当代码执行,有返回值
s = "['张无忌', '张翠山', '张三丰']"
lst = eval(s)
print(lst)
# exec: 可以把字符串当代码执行,无返回值
# single:可以执行有交互的代码,如输入等
# 问题:存在安全性问题例如exit()


# -------------------------------------------

"""输入输出"""

# input
# print

# -------------------------------------------

"""内存相关"""

# id
lst = [1,2,3]
lst2 = [11,22,33]
print(id(lst), id(lst2))

# hash
print(hash("呵呵"), hash("哈哈"))

# -------------------------------------------

"""文件操作相关"""

# open
f = open("xxx", mode="r", encoding="utf-8")
f.read()
for line in f:
    pass
f.write()

# -------------------------------------------

"""模块相关"""

# __import__
import copy
import os
mo = input(">>>")
__import__(mo) # 动态加载一个模块

# -------------------------------------------

"""帮助"""

# help
print(help(str))

# -------------------------------------------

"""调用相关"""

# callable(xxx) 判断xxx是否是可以被调用的
def func():
    pass
print(callable(func)) # True
print(123) # False

# -------------------------------------------

"""查看内置属性"""

# dir
print(dir(str))
print(dir(变量))

评论