zoukankan      html  css  js  c++  java
  • Python内置函数系列

    Python内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。

    作用域相关(2)

    locals()  :以字典类型返回当前位置的全部局部变量

    对于函数,方法,lambda函数,类,以及实现了__call__方法的类实例,它都返回True

    globals() :以字典类型返回当前位置的全部全局变量

    str类型代码的执行(3)

    eval() :用来执行一个字符串表达式,并返回表达式的值

     1 eval(expression[,globals[,locals]])
     2 
     3 expression -- 表达式
     4 globals       -- 变量作用域,全局命令空间,如果被提供,则必须是一个字典对象
     5 locals         -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
     6 返回表达式计算结果
     7 
     8 实例:
     9 >>>x = 7
    10 >>> eval( '3 * x' )
    11 21
    12 >>> eval('pow(2,2)')
    13 4
    14 >>> eval('2 + 2')
    15 4
    16 >>> eval("n + 4")
    17 85

    exe() :可以用来执行一个文件

    exec(source, globals=None, locals=None, /)  无返回值(None)

    compile() :将一个字符串编译为字节代码

     1 compile(source,filename,mode[, dont'_inherit]])
     2 参数
     3 source -- 字符串或者AST(Abstract Syntax Trees)对象
     4 filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值
     5 mode    --  指定编译代码的种类。可以指定为exec,eval,single
     6 flags      --  变量作用域,局部命名空间,如果被提供,可以是任何映射对象
     7 flags和dont_inherit是用来控制编译源码时的标志
     8 
     9 
    10 com = compile("1+2+3",'',model="eval")  读字符串,代码,执行
    11              eval(com)
    12 s = ‘name = input("user:")'
    13 com = compile(s,'',mode='single')
    14 exec(com)
    15  #name = input("user:")
    16  print(name)

    输入输出(2)

    input()
    print()     : print(self, *args, sep=' ', end=' ',file=None)

    数据类型相关(1)
    type()  : 如果只有第一个参数则返回对象的类型,三个参数返回新的类型对象

    isinstance()和type()区别:

    type()不会认为子类是一种父类类型,不考虑继承关系

    isinstance()会认为是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用isinstance()

    1 class type(name, bases, dict)
    2 name -- 类的名称
    3 bases  -- 基类的元祖
    4 dict     -- 字典,类内定义的命名空间变量
    5 
    6 返回值:一个参数返回对象类型,三个参数,返回新的类型对象

    内存相关(2)

    id()   函数用于获取对象的内存地址

    hash()  用于获取一个对象(不可变数据类型/函数名)的哈希值

    文件操作相关(1)

    open()

    #r,w,a,r+,w+,a+,(b),encoding指定编码
    读写r+ (打开文件,如果直接写从头覆盖;如果读了在写,就是追加写,如果用seek指定的光标的位置,就从该位置开始覆盖写)

    帮助(1)

    help()  : 用户查看函数或模块用途的详细说明

    调用相关(1)

    callable()  :用于检查一个对象是否可调用的。如果返回True,objec仍然可能调用失败;但如果返回False,调用对象object绝对不会成功。

    对于函数,方法,lambda函式,类,以及实现了__call__方法的类实例,它都返回True

    callable(object)

    查看内容属性(1)

    dir()

    函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

    >>>dir()   #  获得当前模块的属性列表
    ['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
    >>> dir([ ])    # 查看列表的方法
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

    数据类型相关(4)

    bool()

    int()

    float()

    complex()

    进制转换(3)

    bin()

    oct()

    hex()

    数学运算(7)

    abs()   计算绝对值

    divmod()  返回(除,余) divmod(7,3)商2余1

    min()

    max()

    sum()      参数必须是一个有序类型,可迭代对象

    pow()     pow(2,3)  =  2**3

    列表和元祖(2)

    list()

    tuple()

    相关内置函数(2)

    reversed() 

    顺序的反转 list(reversed(list)) (reversed返回一个迭代器)
    list.reverse() 改变了之前的列表
    slice()

    字符串(9)

    str()
    format() format('test','<20')左对齐 >右对齐 ,^居中
    bytes() 转换成字节,enconding,decode
    bytearray() 字节数组;可以用下标取值
    memoryview()
    chr()
    repr() 用于%格式化输出:repr('1234') repr(1234)

    dict()
    set()
    frozenset() 冻结的集合 set()和forzenset()相当于list tuple

    相关的内置函数
    len()
    enumerate() for i, j in enumerate(1,1)
    all() 判断是否有bool值为False的值all([1,2,3]) true, all([0,1,2]) false
    any() 判断是否有bool值为True的值 any([0.1') true, any([0,0]) false
    zip()


    filter()  是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

    请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:
    1
    import math 2 def is_sqr(x): 3 return math.sqrt(x) % 1 == 0 4 print(list(filter(is_sqr,range(1,101)))) 5 6 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


    map()   函数是python内置的高阶函数,对传入的list的每一个元素进行映射,返回一个新的映射之后的list

    1 l = [1,2,3,4]
    2 def pow1(x):
    3     return x*x
    4 ret = list(map(pow1,l))
    5 print(ret)
    [1, 4, 9, 16]


    sorted() 生成新的object,原object不改变 sorted(L1,key=abs,reverse=True)




  • 相关阅读:
    解决mysql"Access denied for user'root'@'IP地址'"问题
    SpringMVC in IDEA开发实践
    Tomcat安装笔记(on Mac)
    mysql搭建及数据迁移教程
    remove-k-digits
    hdu 4691 Front compression
    STM32的FSMC总线复用调试笔记
    spring AOP 是如何一步一步被简化的
    hdu 2871 Memory Control(伸展树splay tree)
    [置顶] Objective-C ,/,ios,/iphone开发基础:协议(protocol)
  • 原文地址:https://www.cnblogs.com/eric_yi/p/7269173.html
Copyright © 2011-2022 走看看