# 内置函数
截止到python版本3.6.2 ,一共提供了68个内置函数。
# 数字相关
# 数据类型
bool(): 布尔型int():整型float(): 浮点型complext():复数
# 进制转换
bin():二进制oct(): 八进制hex(): 十六进制
# 数学运算
abs(): 绝对值divmod():商和余数round()四舍五入pow(a,b)a的b次幂sum()求和max()最大值min()最小值
# 数据结构相关
# 序列
list()将可迭代对象转换成列表tuple()将可迭代对象转换为元组reversed()将序列反转,返回反转序列的迭代器slice()列表切片str()字符串format()格式化,与具体数据有关print(format(s, "^20")) #剧中 print(format(s, "<20")) #左对齐 print(format(s, ">20")) #右对齐 # hello world! # hello world! # hello world! print(format(3, 'b' )) # 二进制:11 print(format(97, 'c' )) # 转换成unicode字符:a print(format(11, 'd' )) # ⼗进制:11 print(format(11, 'o' )) # 八进制:13 print(format(11, 'x' )) # 十六进制(⼩写字母):b print(format(11, 'X' )) # 十六进制(大写字母):B print(format(11, 'n' )) # 和d⼀样:11 print(format(11)) # 和d⼀样:11 print(format(123456789, 'e' )) # 科学计数法. 默认保留6位小数:1.234568e+08 print(format(123456789, '0.2e' )) # 科学计数法. 保留2位小数(小写):1.23e+08 print(format(123456789, '0.2E' )) # 科学计数法. 保留2位小数(大写):1.23E+08 print(format(1.23456789, 'f' )) # 小数点计数法. 保留6位小数:1.234568 print(format(1.23456789, '0.2f' )) # 小数点计数法. 保留2位小数:1.23 print(format(1.23456789, '0.10f')) # 小数点计数法. 保留10位小数:1.2345678900 print(format(1.23456789e+3, 'F')) # 小数点计数法. 很大的时候输出INF:1234.567890bytes()字符串转bytes类型bs = bytes('hello world', encoding='utf8') print(bs)bytearray()字节数组ret = bytearray("alex" ,encoding ='utf-8') print(ret[0]) #97 print(ret) #bytearray(b'alex') ret[0] = 65 #把65的位置A赋值给ret[0] print(str(ret)) #bytearray(b'Alex')ord()输入字符返回字符编码的位置(码位)chr()输入码位返回字符ascii()返回ascii字符或者unicode编码repr()返回一个对象的string形式
# 数据集合
dict()创建一个字典set()创建一个集合frozenset()创建一个冻结的集合,不能添加和删除
# 内置函数
len()对象中元素的个数sorted()对可迭代对象进行排序操作sorted(Iterable, key=函数(排序规则), reverse=False) #根据字符串长度给列表排序 lst = ['one', 'two', 'three', 'four', 'five', 'six'] def f(s): return len(s) l1 = sorted(lst, key=f, ) print(l1) #['one', 'two', 'six', 'four', 'five', 'three']enumerate()获取集合的枚举对象lst = ['one','two','three','four','five'] for index, el in enumerate(lst,1): # 把索引和元素一起获取,索引默认从0开始. 可以更改 print(index) print(el)all()可迭代对象全部是True,结果才是Trueany()可迭代对象有一个是True,结果就是Truezip()用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同print(list(zip([1,2,3], ['a', 'b', 'c']))) # [(1, 'a'), (2, 'b'), (3, 'c')]filter()过滤,fiter(function. Iterable)map()映射,map(function, iterable)
# 迭代器
range()生成等差序列next()触发迭代器向下执行,内部执行__next__()方法iter()获取迭代器,内部执行__iter__()方法
# 作用域相关
locals()局部作用域的变量globals()全局作用域的变量
# 字符串代码
eval()执行字符串表达式(不能是复杂代码)eval('print("hello")') eval('if True: print("hello")') # 报错exec()执行字符串代码(可以是复杂代码)exec('if True: print("hello")')compile()将字符串代码进行编译,编译结果可以用于eval或者exec执行(类似正则的预编译)cmp = compile('if True: print("hello")', "", mode='exec') exec(cmp)
# 输入输出
print()打印输出# sep 分隔符 end 结尾符 print('hello', 'world', sep='-', end='@')input()获取用户输入res = input('请输入数字: ') print(res)
# 内存
hash()获取对象的hash值print(hash('hello')) print(hash((1,2,3))) print(hash([1,2,3])) # 报错,内置的可变对象不能hashmemoryview()返回给定参数的内存查看对象(memory view)所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。
v = memoryview(bytearray('abcd', 'utf8')) v[1] = 100 print(v[1:3].tobytes())
# 文件
open()打开一个文件并创建文件句柄
# 模块
__import__()动态加载类和函数
# 帮助
help()查看函数或模块的用途
# 对象
callable()检查一个对象是否可调用dir()查看对象的内置属性,内部调用__dir__()方法setattr()设置属性getattr()获取属性hasattr()判断属性是否存在delattr()删除属性object()返回一个object对象staticmethod()修饰方法为静态方法(通常用装饰器)classmethod()修饰方法为类方法(通常用装饰器)isinstance()判断一个对象是否是一个已知的类型issubclass()判断子类关系super()用于调用父类(超类)的一个方法property()返回属性值(通常装饰器模式)type()返回对象类型或者构建新的类vars()返回对象object的属性和属性值的字典对象id()获取对象的内存地址。class Person: def __init__(self): self.name = 'zhangsan' def __call__(self, *args, **kwargs): print('person') def get_age(self): return 20 def print_class(cls): print('Class Person') def print_static(): print('static method') age = property(get_age) print_class = classmethod(print_class) print_static = staticmethod(print_static) p = Person() print(callable(p)) print(dir(p)) print(id(p)) print(vars(p)) print(p.age) print(issubclass(Person, object)) print(isinstance(p, Person)) Person.print_class() Person.print_static() print(type(object())) setattr(p, 'gender', 'man') print(hasattr(p, 'gender')) print(getattr(p, 'gender')) delattr(p, 'gender') print(hasattr(p, 'gender'))
← With 上下文