内置函数

            内置函数
一.作用域相关
    a.局部作用域中的变量 -- locals()
    b.全局作用域中的变量 -- globals()
    c.在全局执行这两方法,结果相同
    示例:

        print(locals())
        print(globals())
        def func():
            x = 1
            y = 2
        func()

 


    d.在局部执行,locals表示函数内的名字,globals始终不变
    示例:

        def func():
            print(locals())
            print(globals())
            x = 1
            y = 2
        func()

 


二.迭代器、生成器相关
    a.next() 返回迭代器的下一个项目(相当于_next_())
    示例:

        iterator = iter({1,2,3,4})
        print(next(iterator))  
        print(next(iterator))
        print(next(iterator))

 


    b.iter() 函数用来生成迭代器(相当于_iter_())
    示例:

        lst = [1, 2, 3]
        for i in iter(lst):
            print(i)

 


    c.range() 函数可创建一个整数列表,一般用在for循环中
    示例:

        x = 'runoob'
        for i in range(len(x)) :
            print(x[i])

 


    注意:在python中要尽量少的去调用双下方法
三.字符串类型代码的执行
    a.eval:函数用来执行一个字符串表达式,并返回表达式的值
    示例:

        code2 = '1 + 2 + 3 + 4'
        compile2 = compile(code2,'','eval')
        print(eval(compile2))

 


    b.exec:执行存储在字符串或文件中的python语句,没有返回值
    示例:

        code1 = 'for i in range(0,10): print (i)'
        compile1 = compile(code1,'','exec')       
        exec(compile1)

 


    c.compile:函数用来将字符串编译为字节代码
    示例:

        name = 'egon'
        code3 = 'name = input("please input your name:")'
        compile3 = compile(code3,'','single')
        exec(compile3)
        print(name)

        注意:1.直接拿来执行的方式一定不要随便用
                  2.如果非用不可,你也要做最起码的检测(检测import os  'import' in code)
四.输入输出
    a.input:获取用户输入的内容
    示例:

        s = input("请输入内容 : ")  #输入的内容赋值给s变量
        print(s)  #输入什么打印什么。数据类型是str

    b.print:输出内容
    示例:(打印进度条)

        import time
        for i in range(0,101,2):
            time.sleep(0.1)
            char_num = i//2      #打印多少个'*'
            per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)
            print(per_str,end='', flush=True)

 


五.内存相关
    a.id(o) o是参数,返回一个变量的内存地址
    b.hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。
    示例:

        t = (1,2,3)
        l = [1,2,3]
        print(hash(t))  #可hash
        print(hash(l))  #会报错

 


    注意:1.hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
          2.每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
六.数据结构相关内置函数
    a.filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
    示例:(过滤出1~100中平方根是整数的数)

        import math
        def is_sqr(x):
            return math.sqrt(x) % 1 == 0
        
        newlist = filter(is_sqr, range(1, 101))
        print(newlist)

 


    b.map会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    示例:

        lst = [1,2,3,4,5,6,7]
        def func(item):
            return item*item
        print(list(map(func,lst)))

 


    c.enumerate函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
    示例:

        se = {'computer':10000,'umbrella':200}
        for num,goods in enumerate(se,1):
            print(num,goods,se[goods])

 


   

posted @ 2017-09-07 17:11  莫逆ll  阅读(66)  评论(0)    收藏  举报