截止到python3.9,一共有60多个内置函数,本篇对常用的函数进行分类罗列一下,对于文档请查看
https://docs.python.org/zh-cn/3.9/library/functions.html
1.数学运算
- abs(x):返回一个数的绝对值
print(abs(-100)) # 100
max
(iterable):返回一个可迭代序列的最大值
print(max([1, 2, 3, 4, 6, 100, 100])) # 100
min
(iterable):返回一个可迭代序列的最小值
print(min([1, 2, 3, 4, 6, 100, 100])) # 1
round
(number[, ndigits]):返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为None
,则返回最接近输入值的整数。
print(round(2.475, 1)) # 2.5 print(round(3.141)) # 3
sum
(iterable, /, start=0):在start的基础上 开始自左向右对 iterable 的项求和并返回总计值。 iterable 的项通常为数字,而 start 值则不允许为字符串。
var = [1, 2, 3, 4, 5] print(sum(var)) # 15 print(sum(var, start=2)) # 17
- divmod(a,b):返回a/b的商和余数
print(divmod(5,3)) # (1, 2)
pow
(base, exp):返回 base 的 exp 次幂
print(pow(10,3)) # 1000
2.类型转化
- bool(x):根据参数x返回True或者False
print(bool(0)) # False print(bool(1)) # True
- int(x, base=10):根据base进制将x转换为十进制,返回一个正整数
print(int(10.2)) # 10 print(int('10')) # 10 print(int('0b001010', base=2)) # 10
- float(x):返回从数字或者字符串x生成的浮点数
print(float(10)) # 10.0 print(float('10')) # 10.0
- complex(x):转换为复数
print(complex(1, 2)) # (1+2j) print(complex('1+2j')) # (1+2j)
- str(x):返回一个str版本的object
print(str(1)) # 1 print(str([1, 2, 3])) # [1, 2, 3] print(str(True)) # True
- bytearray(source,encoding):返回一个bytes数组
print(bytearray('中国心', 'utf-8')) #bytearray(b'\xe4\xb8\xad\xe5\x9b\xbd\xe5\xbf\x83')
- bytes(source,encoding):返回一个新的“bytes”对象, 是一个不可变序列
print(bytes('中国心', 'utf-8')) #b'\xe4\xb8\xad\xe5\x9b\xbd\xe5\xbf\x83'
- ord(c):对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数
print(ord('赵')) # 36213 print(ord('A')) # 65
- chr(i):返回 Unicode 码位为整数 i 的字符的字符串格式
print(chr(36213)) # 赵
- bin(x):将一个整数转换为一个前缀为“0b”二进制形式的字符串
print(bin(10)) # 0b1010
- oct(x):将一个整数转变为一个前缀为“0o”的八进制字符串
print(oct(10)) # 0o12
- hex(x):将整数转换为以“0x”为前缀的小写十六进制字符串
print(hex(10)) # 0xa
- tuple(iterable):将序列转变为一个不可变的元组序列
print(tuple([1,2,3])) # (1, 2, 3)
- list(iterable):将序列转变为一个可变的列表序列
print(list((1,2,3))) # [1, 2, 3]
- dict(**kwargs)/dict(mapping,**kwargs)/dict(iterable,**kwargs):创建一个新的字典set
print(dict(name='kunmzhao', age=18)) # {'name': 'kunmzhao', 'age': 18} print(dict(zip(['name', 'age'], ['kunmzhao', 18]))) # {'name': 'kunmzhao', 'age': 18} print(dict([('name', 'kunmzhao'), ('age',18)])) # {'name': 'kunmzhao', 'age': 18}
- set(iterable):返回一个新的
set
对象 - range(start, end, step):表示不可变的数字序列,通常用于在for环中循环指定的次数。
print(list(range(1, 11))) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in range(3): print('hello')
- iter(object):返回一个 iterator 对象
print(iter([1, 2, 3])) # <list_iterator object at 0x000001ECC45F4760>
- super():返回一个代理对象,它会将方法调用委托给 type 的父类或兄弟类
- enumerate(iterable, start=0)):返回一个枚举对象。iterable 必须是一个序列
print(list(enumerate(['apple', 'pear', 'banana']))) #[(0, 'apple'), (1, 'pear'), (2, 'banana')] for index, ele in enumerate(['apple', 'pear', 'banana'], start=1): print(index, ele) """ 1 apple 2 pear 3 banana """
- object:返回一个没有特征的新对象。
object
是所有类的基类。它具有所有 Python 类实例的通用方法
3.序列操作
- all(iterable):如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回
True
print(all([1, 2, 3, 4,0])) # False
- any(iterable):如果 iterable 的任一元素为真值则返回
True
print(any((None, '', False, '0'))) # True
- filter(function, iterable):用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器
print(list(filter(lambda x:x%2==0, range(0,20)))) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
- map(function, iterable):返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器
print(list(map(lambda x:x+1, [1, 4, 5]))) # [2, 5, 6]
- next(iterator[, default]):通过调用 iterator 的
__next__()
方法获取下一个元素。如果迭代器耗尽,则返回给定的 default,如果没有默认值则触发StopIteration
。
it = iter('hello world') print(next(it)) # h
- reversed(seq):返回一个反向的 iterator。 seq 必须是一个具有
__reversed__()
方法
print(list(reversed([1, 2, 3]))) # [3, 2, 1] print(''.join(list(reversed('hello world')))) #dlrow olleh
- sorted(iterable, key=None, reverse=False):根据 iterable 中的项返回一个新的已排序列表。
print(sorted([1, 2, 9, 5,2,0])) #[0, 1, 2, 2, 5, 9] var_dict = {1:1, 9:9,8:8,2:2} print(sorted(var_dict.items(), key=lambda x:x[0])) #[(1, 1), (2, 2), (8, 8), (9, 9)]
- zip(*iterables):创建一个聚合了来自每个可迭代对象中的元素的迭代器。
print(list(zip((0, 1, 2),('name', 'age', 'gender'),('kunmzhao', 18, 'man')))) # [(0, 'name', 'kunmzhao'), (1, 'age', 18), (2, 'gender', 'man')]
4.对象操作
- help(object):启动内置的帮助系统(此函数主要在交互式中使用)
- dir(object):返回该对象的有效属性列表
通过该方法可以很好地了解对象含有的所有属性和方法
num = 10 print(dir(num)) #['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes'] var = 'hello' print(dir(var)) #['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
- id(object):返回对象的“标识值”,也就时内存空间地址,是一个整数
num = 10 var = 'hello' print(id(num), id(var)) # 140709121300528 1967175830640
- hash(object):返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键
print(hash(100)) # 100 print(hash(100.0)) # 100.0 print(hash('100')) # 6312876305134639668
- type(object):返回对象的object类型
print(type(100)) # <class 'int'> print(type([1,2 ,3])) # <class 'list'>
- len(s):返回对象的长度(元素个数)
print(len('kunmzhao')) # 8 print(len([1, 2, 3])) # 3
5.反射操作
- getattr(obj, name, default):返回对象命名属性的值。name 必须是字符串。如果该字符串是对象的属性之一,则返回该属性的值。例如,
getattr(x, 'foobar')
等同于x.foobar
。如果指定的属性不存在,且提供了 default 值,则返回它
class foobar(): x = 100 print(getattr(foobar, 'x', '188')) # 100
- setattr(obj, name, value): 字符串指定一个现有属性或者新增属性。 函数会将值赋给该属性, 例如,
setattr(x, 'foobar', 123)
等价于x.foobar = 123
。
class foobar(): x = 100 setattr(foobar, 'y', '88') print(foobar.y) #88
- hasattr(obj, name):该实参是一个对象和一个字符串。如果字符串是对象的属性之一的名称,则返回
True
,否则返回False
。
class foobar(): x = 100 print(hasattr(foobar, 'x')) # True print(hasattr(foobar, 'y')) # False
- delattr(obj, name):实参是一个对象和一个字符串。该字符串必须是对象的某个属性。该函数将删除指定的属性。例如
delattr(x, 'foobar')
等价于del x.foobar
。
class foobar(): x = 100 print(hasattr(foobar, 'x')) # True delattr(foobar, 'x') print(hasattr(foobar, 'x')) # False
- callable(object):如果参数 object 是可调用的就返回
True
,否则返回False
def fun(): pass print(callable(fun)) # True print(callable(100)) # False
- issubclass(object, classinfo):判断类object是否是classinfo类的子类,是则返回True,否则为False
class Foobar(object): pass print(issubclass(Foobar, object)) # True print(issubclass(object, Foobar)) # False
- isinstance(object, classoinfo):如果参数 object 是参数 classinfo 的实例或者是其 (直接、间接或 虚拟) 子类则返回
True
class Foobar(object): pass print(isinstance(Foobar(), object))
6.变量操作
- gobals():返回当前作用域内的全局变量和其值组成的字典
def fun(): a = 100 b = 200 print(locals()) # {'a': 100, 'b': 200}
fun() - locals():返回当前作用域内的局部变量和其值组成的字典
在函数可以快速将局部变量全部传递给其它函数 **locals()
def fun(): a = 100 b = 200 print(globals())
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001D2B0273DF0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/kunmzhao/Desktop/victor/review/test.py', '__cached__': None, 'fun': <function fun at 0x000001D2B02BD1F0>}fun()
7.装饰器
- @property:将方法编程属性调用
class Foo(): @property def myfun(self): print('hello') Foo().myfun # hello
- @classmethod:把一个方法封装成类方法,一个类方法把类自己作为第一个实参
class C: @classmethod def f(cls, arg1, arg2): ...
- @staticmethod:将方法转换为静态方法,静态方法不会接收隐式的第一个参数
class C: @staticmethod def f(arg1, arg2, ...): ...
8.文件操作
- open(file, mode='r', encoding=None):开 file 并返回对应的 file object
标签:__,10,内置,函数,返回,object,print,100,iterable From: https://www.cnblogs.com/victor1234/p/16852806.html