截止到python3.9,一共有60多个内置函数,本篇对常用的函数进行分类罗列一下,对于文档请查看

https://docs.python.org/zh-cn/3.9/library/functions.html

1.数学运算

  1. abs(x):返回一个数的绝对值
    print(abs(-100))  # 100
  2. max(iterable):返回一个可迭代序列的最大值
    print(max([1, 2, 3, 4, 6, 100, 100]))  # 100
  3. min(iterable):返回一个可迭代序列的最小值
    print(min([1, 2, 3, 4, 6, 100, 100]))  # 1
  4. round(number[, ndigits]):返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。
    print(round(2.475, 1)) # 2.5
    print(round(3.141))  # 3
  5. sum(iterable, /, start=0):在start的基础上 开始自左向右对 iterable 的项求和并返回总计值。 iterable 的项通常为数字,而 start 值则不允许为字符串。
    var = [1, 2, 3, 4, 5]
    print(sum(var))  # 15
    print(sum(var, start=2))  # 17
  6. divmod(a,b):返回a/b的商和余数
    print(divmod(5,3))  # (1, 2)
  7. pow(base, exp):返回 baseexp 次幂
    print(pow(10,3))  # 1000

2.类型转化

  1. bool(x):根据参数x返回True或者False
    print(bool(0))  # False
    print(bool(1))  # True
  2. int(x, base=10):根据base进制将x转换为十进制,返回一个正整数
    print(int(10.2))  # 10
    print(int('10'))  # 10
    print(int('0b001010', base=2))  # 10
  3. float(x):返回从数字或者字符串x生成的浮点数
    print(float(10))  # 10.0
    print(float('10'))  # 10.0
  4. complex(x):转换为复数
    print(complex(1, 2))  # (1+2j)
    print(complex('1+2j'))  # (1+2j)
  5. str(x):返回一个str版本的object
    print(str(1))  # 1
    print(str([1, 2, 3]))  # [1, 2, 3]
    print(str(True))  # True
  6. bytearray(source,encoding):返回一个bytes数组
    print(bytearray('中国心', 'utf-8'))  #bytearray(b'\xe4\xb8\xad\xe5\x9b\xbd\xe5\xbf\x83')
  7. bytes(source,encoding):返回一个新的“bytes”对象, 是一个不可变序列
    print(bytes('中国心', 'utf-8'))  #b'\xe4\xb8\xad\xe5\x9b\xbd\xe5\xbf\x83'
  8. ord(c):对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数
    print(ord(''))  # 36213
    print(ord('A'))  # 65
  9. chr(i):返回 Unicode 码位为整数 i 的字符的字符串格式
    print(chr(36213))  #
  10. bin(x):将一个整数转换为一个前缀为“0b”二进制形式的字符串
    print(bin(10))  # 0b1010
  11. oct(x):将一个整数转变为一个前缀为“0o”的八进制字符串
    print(oct(10))  # 0o12
  12. hex(x):将整数转换为以“0x”为前缀的小写十六进制字符串
    print(hex(10))  # 0xa
  13. tuple(iterable):将序列转变为一个不可变的元组序列
    print(tuple([1,2,3]))  # (1, 2, 3)
  14. list(iterable):将序列转变为一个可变的列表序列
    print(list((1,2,3)))  # [1, 2, 3]
  15. 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}
  16. set(iterable):返回一个新的 set 对象
  17. 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')
  18. iter(object):返回一个 iterator 对象
    print(iter([1, 2, 3]))  # <list_iterator object at 0x000001ECC45F4760>
  19. super():返回一个代理对象,它会将方法调用委托给 type 的父类或兄弟类
  20. enumerate(iterablestart=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
    """
  21. object:返回一个没有特征的新对象。object 是所有类的基类。它具有所有 Python 类实例的通用方法

3.序列操作

  1. all(iterable):如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True
    print(all([1, 2, 3, 4,0]))  # False
  2. any(iterable):如果 iterable 的任一元素为真值则返回 True
    print(any((None, '', False, '0')))  # True
  3. 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]
  4. map(functioniterable):返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器
    print(list(map(lambda x:x+1, [1, 4, 5])))  # [2, 5, 6]
  5. next(iterator[, default]):通过调用 iterator 的 __next__() 方法获取下一个元素。如果迭代器耗尽,则返回给定的 default,如果没有默认值则触发 StopIteration
    it = iter('hello world')
    print(next(it))  # h
  6. reversed(seq):返回一个反向的 iterator。 seq 必须是一个具有 __reversed__() 方法
    print(list(reversed([1, 2, 3])))  # [3, 2, 1]
    print(''.join(list(reversed('hello world'))))  #dlrow olleh
  7. sorted(iterablekey=Nonereverse=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)]
  8. zip(*iterables):创建一个聚合了来自每个可迭代对象中的元素的迭代器。
    print(list(zip((0, 1, 2),('name', 'age', 'gender'),('kunmzhao', 18, 'man'))))  # [(0, 'name', 'kunmzhao'), (1, 'age', 18), (2, 'gender', 'man')]

4.对象操作

  1. help(object):启动内置的帮助系统(此函数主要在交互式中使用)
  2. 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']
  3. id(object):返回对象的“标识值”,也就时内存空间地址,是一个整数
    num = 10
    var = 'hello'
    print(id(num), id(var))  # 140709121300528 1967175830640
  4. hash(object):返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键
    print(hash(100))  # 100
    print(hash(100.0))  # 100.0
    print(hash('100'))  # 6312876305134639668
  5. type(object):返回对象的object类型
    print(type(100))  # <class 'int'>
    print(type([1,2 ,3]))  # <class 'list'>
  6. len(s):返回对象的长度(元素个数)
    print(len('kunmzhao'))  # 8
    print(len([1, 2, 3]))  # 3

5.反射操作

  1. getattr(obj, name, default):返回对象命名属性的值。name 必须是字符串。如果该字符串是对象的属性之一,则返回该属性的值。例如, getattr(x, 'foobar') 等同于 x.foobar。如果指定的属性不存在,且提供了 default 值,则返回它
    class foobar():
        x = 100
    
    
    print(getattr(foobar, 'x', '188'))  # 100
  2. setattr(obj, name, value): 字符串指定一个现有属性或者新增属性。 函数会将值赋给该属性, 例如,setattr(x, 'foobar', 123) 等价于 x.foobar 123
    class foobar():
        x = 100
    
    
    setattr(foobar, 'y', '88')
    print(foobar.y)  #88
  3. hasattr(obj, name):该实参是一个对象和一个字符串。如果字符串是对象的属性之一的名称,则返回 True,否则返回 False
    class foobar():
        x = 100
    
    
    print(hasattr(foobar, 'x'))  # True
    print(hasattr(foobar, 'y'))  # False
  4. 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
  5. callable(object):如果参数 object 是可调用的就返回 True,否则返回 False
    def fun():
        pass
    
    print(callable(fun))  # True
    print(callable(100))  # False
  6. issubclass(object, classinfo):判断类object是否是classinfo类的子类,是则返回True,否则为False
    class Foobar(object):
        pass
    
    print(issubclass(Foobar, object))  # True
    print(issubclass(object, Foobar))  # False
  7. isinstance(object, classoinfo):如果参数 object 是参数 classinfo 的实例或者是其 (直接、间接或 虚拟) 子类则返回 True
    class Foobar(object):
        pass
    
    
    print(isinstance(Foobar(), object))

     

6.变量操作

  1. gobals():返回当前作用域内的全局变量和其值组成的字典
    def fun():
        a = 100
        b = 200
        print(locals())  # {'a': 100, 'b': 200}
    fun()
  2. 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.装饰器

  1. @property:将方法编程属性调用
    class Foo():
        @property
        def myfun(self):
            print('hello')
    
    Foo().myfun  # hello
  2. @classmethod:把一个方法封装成类方法,一个类方法把类自己作为第一个实参
    class C:
        @classmethod
        def f(cls, arg1, arg2): ...
  3. @staticmethod:将方法转换为静态方法,静态方法不会接收隐式的第一个参数
    class C:
        @staticmethod
        def f(arg1, arg2, ...): ...

8.文件操作

  1. open(file, mode='r', encoding=None):开 file 并返回对应的 file object

 

posted on 2022-11-03 14:28  阿明明  阅读(46)  评论(0)    收藏  举报