python内置方法

发布时间:2019-09-17 07:47:30编辑:auto阅读(1420)

    1.abs取绝对值

    >>> abs(9.8)
    9.8
    >>> abs(-9.8)
    9.8
    

    2.dic()变为字典类型

    >>> dict({"key":"value"})
    {'key': 'value'}
    

    3.help()显示帮助信息

    >>> help(map)
    Help on class map in module builtins:
    
    class map(object)
     |  map(func, *iterables) --> map object
     |
     |  Make an iterator that computes the function using arguments from
    -- More  --
    

    4.min取数据中的最小值,max取数据中的最大值

    print(min([3, 4, 2]))
    print(min("wqeqwe"))
    print(min((3, 6, 4)))
    print(max([3, 4, 2]))
    print(max("wqeqwe"))
    print(max((3, 6, 4)))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    2
    e
    3
    4
    w
    6
    
    Process finished with exit code 0

    5.all()所有的为true,才返回true。空的列表返回true

    print(all([1, 2, 0]))  # 列表中的0是False,所以返回False
    print(all([1, 2, 5]))  # 列表中的所有值都是True,所以返回True
    print(all([]))  # 空的列表,all()返回true
    print(help(all))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    False
    True
    True
    Help on built-in function all in module builtins:
    
    all(iterable, /)
        Return True if bool(x) is True for all values x in the iterable.
    
        If the iterable is empty, return True.
    
    None
    
    Process finished with exit code 0

    6.any()任意一个为true就返回true。空的列表返回false

    any()列表中的任意一个为True,就返回True
    
    print(any([1, 2, 0]))  
    print(any([1, 2, 5]))  # 列表中的任意一个是True,就返回True
    print(any([]))  # 空的列表,any()返回false
    print(help(any))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    True
    True
    False
    Help on built-in function any in module builtins:
    
    any(iterable, /)
        Return True if bool(x) is True for any x in the iterable.
    
        If the iterable is empty, return False.
    
    None
    
    Process finished with exit code 0

    7.dir()打印当前程序的所有变量

    print(dir())  # 打印当前程序的所有变量
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
    
    Process finished with exit code 0

    8.hex()把十进制数转换为16进制数

    hex()转换为16进制
    print(hex(16))  
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    0x10
    
    Process finished with exit code 0

    9.slice()切片

    >>> l = [2,3,4,5,6,7]
    >>> s = slice(1,5,2)
    >>> l(s)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'list' object is not callable
    >>> l[s]
    [3, 5]
    

    10.divmod()求商和余数

    >>> divmod(10,3)
    (3, 1)
    >>> divmod(10,2)
    (5, 0)
    >>>

    11.sorted()排序

    >>> sorted([1,9,4])
    [1, 4, 9]
    
    d = {1: 0, 10: 4, 9: 2, 15: 3}
    print(d.items())
    print(sorted(d.items(), key=lambda x: x[1], reverse=True))
    
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    dict_items([(1, 0), (10, 4), (9, 2), (15, 3)])
    [(10, 4), (15, 3), (9, 2), (1, 0)]
    
    Process finished with exit code 0

    13.ascii()转换为ascii码

    >>> ascii("qwqw我")
    "'qwqw\\u6211'"

    14.oct()十进制数转换为8进制数

    >>> print(oct(8))
    0o10
    

    15.bin()十进制数转换为二进制数

    >>> print(bin(10))
    0b1010
    

    16.eval()把字符转换为里面原有的含义,把字符串转换为代码

    print(eval("{1:2}"))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    {1: 2}
    
    Process finished with exit code 0
    
    print(eval("1+2*3"))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    7
    
    Process finished with exit code 0
    
    eval('print("hello")')
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    hello
    
    Process finished with exit code 0
    
    eval()只能解析单行代码,不能解析多行的代码
    code = '''
    if 3 > 2:
        print("3>2")
    '''
    eval(code)
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    Traceback (most recent call last):
      File "E:/PythonProject/python-test/BasicGrammer/test.py", line 9, in <module>
        eval(code)
      File "<string>", line 2
        if 3 > 2:
         ^
    SyntaxError: invalid syntax
    
    Process finished with exit code 1

    17.exec()可以解析执行多行代码,但是获取不到函数的返回值,eval()可以

    code = '''
    if 3 > 2:
        print("3>2")
    '''
    exec(code)
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    3>2
    
    Process finished with exit code 0
    
    code = '''
    
    def foo():
        if 3 > 2:
            print("3>2")
            return 3
    foo()
    '''
    re_exec = exec(code)
    print(re_exec)
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    3>2
    None
    
    Process finished with exit code 0
    
    print(eval("1+2+3"))
    print(exec("1+2+3"))
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    6
    None
    
    Process finished with exit code 0

    18.ord()获取对应的ascii码表中的值。chr()获取ascii表中对应的字符

    ord() 获取对应的ascii码表中的值
    chr() 获取ascii表中值对应的字符
    >>> ord("a")
    97
    >>> chr(97)
    'a'

    19.sum()求和

    >>> sum((1,2,3))
    6
    >>> sum([1,2,3])
    6
    >>> sum({1:2,3:4})
    4
    >>> sum({1,2,3,4})
    10
    >>> sum("123")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for +: 'int' and 'str'
    >>>
    

    20.bytearray()可通过encode,decode之后,通过index来修改字符串中的值

    >>> s = "woai中国"
    >>> s[0] = "W"
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'str' object does not support item assignment
    >>> s = bytearray(s)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: string argument without an encoding
    >>> s = s.encode('utf-8')
    >>> s
    b'woai\xe4\xb8\xad\xe5\x9b\xbd'
    >>> s = bytearray(s)
    >>> s
    bytearray(b'woai\xe4\xb8\xad\xe5\x9b\xbd')
    >>> s[0]='W'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: an integer is required
    >>> s[0]=97
    >>> s
    bytearray(b'aoai\xe4\xb8\xad\xe5\x9b\xbd')
    >>> s.decode('utf-8')
    'aoai中国'

    21.id()查看变量的内存地址

    >>> id(s[0])  # s[0]的内存地址会变
    1487327920
    >>> s[0]=66
    >>> id(s[0])
    1487326928
    >>> id(s)
    2879739806752  # s的内存地址是不变的
    >>> s[0]=67
    >>> id(s)
    2879739806752

    22.map()通过匿名函数lambda来对列表中的数据进行操作

    map()
    >>> list(map(lambda x:x*x,[1,2,3]))
    [1, 4, 9]
    filter()
    >>> list(filter(lambda x:x>3,[1,2,3,4,5]))
    [4, 5]

    23.reduce()对数据进行整合操作,返回一个值

    >>> import functools
    >>> functools.reduce(lambda x,y:x+y,[1,2,3,4])
    10
    >>> functools.reduce(lambda x,y:x*y,[1,2,3,4])
    24
    >>> functools.reduce(lambda x,y:x*y,[1,2,3,4],2)
    48
    >>> functools.reduce(lambda x,y:x*y,[1,2,3,4],3)
    72
    >>> functools.reduce(lambda x,y:x+y,[1,2,3,4],3)
    13

    24.print()

    def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
        """
        print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
        Prints the values to a stream, or to sys.stdout by default.
        Optional keyword arguments:
        file:  a file-like object (stream); defaults to the current sys.stdout.
        sep:   string inserted between values, default a space.
        end:   string appended after the last value, default a newline.
        flush: whether to forcibly flush the stream.
        """
        pass
    
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: vita
    
    msg = "msg"
    # 文件的模式必须是可写入模式(w,r+),不能是只读模式
    f = open(file="写文件.txt", mode="w", encoding="utf-8")
    print(msg, "my input", sep="|", end=":::",file=f)
    
    运行程序
    E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
    
    Process finished with exit code 0
    
    查看"写文件.txt"
    msg|my input:::
    

    25.tupple()把可迭代的数据类型变为元组

    >>> a = [1,2,3]
    >>> tuple(a)
    (1, 2, 3)
    >>> tuple("1,2,3")
    ('1', ',', '2', ',', '3')
    >>> tuple({1:2})
    (1,)
    >>> tuple(2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'int' object is not iterable
    

    26.callable()判断是否可调用,即通过abs()方式调用,函数是可调用的,可用于判断是否是函数

    callable()判断是否可调用,即通过abc()方式调用
    函数是可调用的,可用于判断是否是函数
    >>> callable(abs)
    True
    >>> callable(list)
    True
    >>> callable([1,2,3])
    False

    27.frozenset()变为不可变集合

    >>> s = frozenset({1,2,3})
    >>> s.discard(2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'frozenset' object has no attribute 'discard'

    28.vars()包含变量的名和变量的值,dir()只是变量的名字

    >>> vars()
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_import
    lib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins'
    (built-in)>, 'l': [2, 3, 4, 5, 6, 7], 's': bytearray(b'aoaini'), 'd': {10: 2, 12: 1, 9: 0}, 'a': [1
    , 2, 3]}
    ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__',
     'a', 'd', 'l', 's']
    
    >>>
    

    29.locals()打印局部变量,globals()打印全局变量

    >>> globals()
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_import
    lib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'l': [2, 3, 4, 5, 6, 7], 's': bytearray(b'aoaini'), 'd': {10: 2, 12: 1, 9: 0}, 'a': [1, 2,
     3]}
    >>> locals()
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (bui
    lt-in)>, 'l': [2, 3, 4, 5, 6, 7], 's': bytearray(b'aoaini'), 'd': {10: 2, 12: 1, 9: 0}, 'a': [1, 2, 3]}
    >>>
    

    30.repr显示形式变为字符串

    >>> repr(abs(23))
    '23'
    >>> repr(frozenset({12,4}))
    'frozenset({12, 4})'
    >>> repr({1,2,3})
    '{1, 2, 3}'
    >>>
    

    31.zip

    >>> a = [1,2,3,4,5]
    >>> b = ["a","b","c"]
    >>> zip(a)
    <zip object at 0x00000237FF9EAF08>
    >>> zip(a,b)
    <zip object at 0x00000237FF9D8448>
    >>> list(zip(a,b))
    [(1, 'a'), (2, 'b'), (3, 'c')]
    >>> dict(zip(a,b))
    {1: 'a', 2: 'b', 3: 'c'}
    >>> str(zip(a,b))
    '<zip object at 0x00000237FF9EAF08>'
    >>> tuple(zip(a,b))
    ((1, 'a'), (2, 'b'), (3, 'c'))
    >>>
    

    32.complex()变为复数

    >>> complex(3,5)
    (3+5j)
    >>> complex(3)
    (3+0j)
    

    33.round()保留几位小数位

    >>> round(3.12123333333334444445555555555555555,18)
    3.1212333333333446
    >>> round(3.12123333333334444445555555555555555,2)
    3.12
    

    34.hash()把字符串变为固定长度的hash值

    不可变数据类型才是可hash的,包含整数,字符串,元组,都是不可变的,是可hash的
    >>> hash("12")
    8731980002792086209
    >>> hash("123")
    -1620719444414375290
    >>> hash([1,2])
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unhashable type: 'list'
    >>> hash(1)
    1
    >>> hash(123)
    123
    >>> hash((1,2))
    3713081631934410656
    >>> hash((1,2,3))
    2528502973977326415
    >>> hash({1,2,3})
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unhashable type: 'set'
    >>>
    

    35.set()把可迭代对象变为集合集合

    >>> set([1,2,3])
    {1, 2, 3}
    >>> set((1,2,3))
    {1, 2, 3}
    >>> set("21")
    {'1', '2'}
    >>> set(2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'int' object is not iterable
    >>> set({1:2,3:4})
    {1, 3}
    >>>
    

关键字

上一篇: python 安装 cx_Oracle

下一篇: python+etcd的使用