zoukankan      html  css  js  c++  java
  • 知识总结和记录——内置函数

    作用域

    基于字典的形式获取局部变量和全局变量

    globals()——获取全局变量的字典

    locals()——获取执行本方法所在命名空间内的局部变量的字典

    其他

    字符串类型代码的执行

    eval() 将字符串类型的代码执行并返回结果

    exec()将字符串类型的代码执行

    print(exec("1+2+3+4"))
    exec("print('hello,world')")
    print(eval('1+2+3+4'))
    
    Exec与Eval语句的主要区别是,Exec处理字符串里面的代码,而Eval是处理字符串里面的表达式。
    

      

    compile()

    将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

    用法:compile(source, filename, mode[, flags[, dont_inherit]])

    参数:

    source -- 字符串或者AST(Abstract Syntax Trees)对象

    filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

    mode -- 指定编译代码的种类。可以指定为 exec, eval, single。

    flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。

    flags和dont_inherit是用来控制编译源码时的标志

    >>>str = "for i in range(0,10): print(i)" 
    >>> c = compile(str,'','exec')   # 编译为字节代码对象 
    >>> c
    <code object <module> at 0x10141e0b0, file "", line 1>
    >>> exec(c)
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> str = "3 * 4 + 5"
    >>> a = compile(str,'','eval')
    >>> eval(a)
    17
    

      

    内存相关

    id(o) o是参数,返回一个变量的内存地址

    hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

    文件操作相关

    open()  打开一个文件,返回一个文件操作符(文件句柄)

    操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

    可以用encoding指定编码.

    模块相关

    __import__导入一个模块

    帮助

    在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

    或者直接执行help(o),o是参数,查看和变量o有关的操作

    和调用相关

    callable(o),o是参数,看这个变量是不是可调用。

    如果o是一个函数名,就会返回True

    callable实例

    查看内置属性

    dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

    和数字相关

     

    数字——数据类型相关:bool,int,float,complex

    数字——进制转换相关:bin,oct,hex

    数字——数学运算:abs,divmod,min,max,sum,round,pow

    和数据结构相关

    序列——列表和元组相关的:list和tuple

    序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr

    bytearray
    memoryview

    序列:reversed,slice

    reversed
    slice

    数据集合——字典和集合:dict,set,frozenset

    数据集合:len,sorted,enumerate,all,any,zip,filter,map

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

    filter

    map() 通过函数作用每一个元素,并返一个迭代对象

    map

     sorted() 函数对所有可迭代的对象进行排序操作

    sorted

    匿名函数

    函数名 = lambda 参数 :返回值
    
    #参数可以有多个,用逗号隔开
    #匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
    #返回值和正常的函数一样可以是任意数据类型
    

      

      

  • 相关阅读:
    记录一个bug关于radio的
    at notFoundError …@cross-spawnlibenoent.js: 报错解决
    关于目前高清屏幕150%适配需要注意的样式写法
    记录一个css样式覆盖的问题。
    video.js使用详解(转载)
    记录一次node版本更新的问题,node的exe版本安装不上去。
    webstorm左侧导航栏背景变成黄色的,文件搜索,定位等一系列功能都不好用了?
    SCRIPT5007: 无法获取未定义或 null 引用的属性“xxx”
    VMWare中安装CentOS6.6不能上网的解决办法
    Unity出现 error building player exception android (invocation failed)
  • 原文地址:https://www.cnblogs.com/CrazyDemo/p/10456439.html
Copyright © 2011-2022 走看看