zoukankan      html  css  js  c++  java
  • 6.内置函数

    1. abs() 获取绝对值

    >>> abs(-10)
    10
    >>> a = -10
    >>> a.__abs__()
    10

    2. all()   参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False.

    复制代码
    all(['python',123])
    --->True
     
    all([])
    --->True
     
    all([0])
    --->False
     
    all(" ")
    --->True
     
    all(1,' ',2,None)
    --->False
    复制代码

    3.any()  参数为可迭代对象,参数为空时返回True

    print(any([None,0,' ',{},1]))
    --->True
     
    print(any(' '))
    --->True

    4.sum()  求和

    >>> res = sum(i for i in range(5))
    >>> print(res)
    10

    5.bin()  将参数转化为二进制

    >>> bin(3)
    '0b11'
    >>> bin(10)
    '0b1010'

    6.bool()   布尔函数,返回bool值,False或True

    复制代码
    >>> bool(3)
    True
    >>> bool(0)
    False
    >>> bool(None)
    False
    复制代码

    7. ascii()  调用对象的__repr__()方法,获得该方法的返回值

    8.bytes()  将一个字符串转化为字节类型

    >>> print(bytes('hello',encoding='utf-8'))
    b'hello

    9.str()  将字符类型/数值类型等转换为字符串类型

    >> str(1)
    '1'

    10.chr()   查看十进制数对应的ASCII字符

    复制代码
    >>> chr(65)
    'A'
    >>> chr(90)
    'Z'
    >>> chr(97)
    'a'
    >>> chr(122)
    'z'
    复制代码

    11.ord()   查看某个ASCII对应的十进制数

    >>> ord('a')
    97
    >>> ord('A')
    65

    12.callabe()   判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

    13. classmethod()  用来指定一个方法为类的方法,由类直接调用执行,只有一个cls参数,执行雷的方法时,自动将调用该方法的类赋值给cls.没有此参数指定的类的方法为实例方法

    复制代码
    class Province:
        country = "中国"
           
        def __init__(self, name):
            self.name = name
           
        @classmethod
        def show(cls):  # 类方法,由类调用,最少要有一个参数cls,调用的时候这个参数不用传值,自动将类名赋值给cls
            print(cls)
           
    # 调用方法
    Province.show()
    复制代码

    14.complie()  将字符串编译成python能识别或可以执行的代码,也可以将文字读成字符串再编译

    1
    2
    3
    4
    5
    6
    compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
    说明:
      1. 将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
      2. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
      3. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。
      4. 参数mode:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,mode应指定为‘exec’;当source中只包含一个简单的求值表达式,mode应指定为‘eval’;当source中包含了交互式命令语句,mode应指定为'single'
    复制代码
    #流程语句使用exec
    code1 = 'for i in range(10):print(i)'
    aa = compile(code1,'','exec')  #source,filename,mode
    exec(aa)
    
    结果:
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    #简单求值表达式用eval
    code2 = "1+2+3+4"
    bb = compile(code2,'','eval')
    print(eval(bb))
    
    结果:
    10
    
    
    #交互语句用single
    code3 = "name = input('please input your name:')"
    cc = compile(code3,'','single')
    exec(cc)   #执行时提示输入name
    复制代码

    15.complex()

    复制代码
    1 创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数是字符串,则不需要指定第二个参数。
    2 参数real:int,long,float或字符串。
    3 参数imag:int,long,float
    
    x=complex(1-2j)
    print(x.real)
    --->1.0
     
    print(x.imag)
    --->2.0
    复制代码

    16. delattr()  删除对象的属性

    18. float()  讲一个字符串或整数转换为浮点数

    >>> print(float(1))
    1.0

    19.list()  参数为可迭代对象

    20.tuple() 元组

    21.dict()   创建数据字典

    22.set()  集合

    23.frozenset()   不可变集合

    24.dir()  不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表

    >>> dir()
    ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
    >>> dir(sum)#输出sum下有哪些可被sum调用的方法。(对象.方法),sum.方法

    25.divmod()  分别取商和余数.二个参数x和y,输出元组(x//y,x%y)

    print(divmod(100,33))
    --->(3,1)

    26. enumerate()  返回一个可以枚举的对象,该对象的next()方法将返回一个元组

    复制代码
    for i in enumerate(['a','b','c','d']):
        print(i)
    结果: (0,
    'a') (1, 'b') (2, 'c') (3, 'd')
    复制代码

    27.eval()  将字符串str中的表达式提取出来并运行

    复制代码
    s= "1 + 2 * 3"
    print(type(s))
    print(eval(s))
    
    结果:
    <class 'str'>
    7
    复制代码

    28.exec()  执行字符串或complie方法编译过的字符串,没有返回值

    复制代码
    exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。
    
    >>> eval('a=1+2') #执行语句报错
    Traceback (most recent call last):
      File "<pyshell#0>", line 1, in <module>
        eval('a=1+2')
      File "<string>", line 1
        a=1+2
         ^
    SyntaxError: invalid syntax
    
    >>> exec('a=1+2') #执行语句
    >>> a
    3
    复制代码

    29.filter()  过滤器,构造一个序列,等价于[ item for item in iterables if function(item)],在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据

    30.format()  格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法

    >>> print("I am {0}, I like {1}".format("derek","python"))
    I am derek, I like python

    31.getattr()  获取对象的属性

    复制代码
    getattr(object, name [, defalut])
    获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性
    且提供default参数,将返回default。
    参数object:对象
    参数name:对象的特性名
    参数default:缺省返回值
     
    print(getattr(list, 'append'))
    ---> <method 'append' of 'list' objects>
     
    mylist = [3, 4, 5]
    append(mylist, 6)
    print(mylist)
    --->[3, 4, 5, 6]
     
    print(getattr(list, 'add'))
    --->Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: type object 'list' has no attribute 'add'
     
    print(getattr(list, 'add', 'NoMethod'))
    ---> 'NoMethod'
    复制代码

    32.globals()  返回一个描述当前全局变量的字典

    33.hasattr()

    复制代码
    hasattr(object,name)
    判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。
    参数object:对象
    参数name:特性名称
     
    print(hasattr(list, 'append'))
    ---> True
     
    print(hasattr(list, 'add'))
    ---> False
    复制代码

    34.hash()  哈希值

    hash(object)
    hash是一种算法,二个数值相等hash值是确定的唯一的,常用来校验数据。<br>hash值不能逆推。
    如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
    两个数值如果相等,则哈希值也相等。

    35.hex()   十进制转化为十六进制

    >>> print(hex(10))
    0xa

    36. id()  查看唯一标识的身份

    37. help()  返回对象的帮助文档

    38. input()  获取用户输入内容

    39. isinstance()  检查对象是否是类的对象,返回True或False

    复制代码
    isinstance(obj, cls)
    检查obj是否是类cls的对象, 返回True 或 False
    class Foo(object):
         pass
    obj = Foo()
    isinstance(obj, Foo)
    复制代码

    40. issubclass()  检查一个类是否是另一个类的子类。返回True或False

    复制代码
    issubclass(sub, super)
    检查sub类是否是super类的派生类(子类)。返回True 或 False
      
    class Foo(object):
        pass
        
    class Bar(Foo):
        pass
        
    issubclass(Bar, Foo)
    复制代码

    41. iter()

    42. len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

    43.  locals()  打印当前可用的局部变量的字典

    44. lambda匿名函数 

    45. zip()     ‘拉链’,一对一的

    46. sorted()    返回列表,列表包含所有的元素,按升序排列

    47. map()       映射,第一个参数为函数,第二个参数为可迭代对象

    48.max()  返回给定元素里最大值

    49.min()  返回给定元素里最小值

    50.object()

     1.获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。
    2 该函数时2.2.版本新增,2.3版本之后,该函数不接受任何参数。

    51.open()  打开文件

    52.print()  输出函数

    53.range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

    55. repr()  将任意值转换为字符串,供计时器读取的形式

    返回一个对象的字符串表示。有时可以使用这个函数来访问操作。
    对于许多类型来说,repr()尝试返回一个字符串,eval()方法可以使用该字符串产生对象;
    否则用尖括号括起来的,包含类名称和其他二外信息的字符串被返回。

    57.round()  四舍六入五留双,五留双留离整数最近的偶数

    复制代码
    print(round(10.3))
    ----> 10
     
    print(round(10.5))
    ----> 10
     
    print(round(10.6))
    ----> 11
     
    print(round(10.9))
    ----> 11
     
    print(round(11.5))
    ----> 12
    复制代码

    58.pow()  幂函数

    >>> print(pow(3,3))
    27
    >>> print(pow(2,5))
    32

    59. reduce()         合并,第一个参数为函数,第二个参数为可迭代对象。第三个参数可有可无,默认初始值。

    60. filter    过滤

    61.oct()   十进制转化为八进制

    print(oct(10))
    ---->0o12

    62.slice  切片

    复制代码
    l=[1,2,3,4,5]
    print(l[2:4])
    --->[3,4]
     
    s=slice(2,4)
    print(l[s])
    ---->[3,4]
    复制代码

    63. vars    没有参数时和locals()一样,有参数得到字典

    64. __import__

  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/cmd61/p/11094210.html
Copyright © 2011-2022 走看看