• day13 内置函数一


    今日主要内容:

    一 .内置函数

     内置函数  : Python直接提供给我们的 

    作用域相关的 locals() 返回当前作用域的名字

           globals() 返回全局作用域

    与迭代器相关的 : range() 生成数据

              next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目              iter() 或取迭代器,内部实际使用的是__iter__()方法或取迭代器

    字符串类型代码的执行 eval  :执行字符串类型的代码,并返回最终结果

           相当于把字符串里面的内容执行 ,有返回值

    print(eval('2+2'))
    n=8
    print(eval('2+n'))
    
    def func():
        print('666')
    
    eval('func()')  #666
    

     exec()  执行字符串类型的代码 (没有返回值)

    exec("""
    for i in range(10):
     print(i)
    """)
    exec("""
    def func():
     print("我是周杰伦")
    func()
    """)

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

    '''
     参数说明:
     1. resource 要执行的代码, 动态代码片段
     2. 文件名, 代码存放的文件名, 当传入了第一个参数的时候, 这个参数给空就可以了
     3. 模式, 取值有3个,
     1. exec: 一般放一些流程语句的时候
     2. eval: resource只存放一个求值表达式.
     3. single: resource存放的代码有交互的时候. mode应为single
    '''
    code1 = "for i in range(10): print(i)"
    c1 = compile(code1, "", mode="exec")
    exec(c1)
    code2 = "1+2+3"
    c2 = compile(code2, "", mode="eval")
    a = eval(c2)print(a)
    code3 = "name = input('请输入你的名字:')"
    c3 = compile(code3, "", mode="single")
    exec(c3)
    print(name)
    

      注: 有返回值的字符串形式的代码用eval() ,没有返回值的字符串形式的代码用exec().一般很少用到compile()

    关于数字运算的   :  sum()  max()  min() 都必须是可迭代的对象  abs()绝对值

    divmod(a,b) 计算商和余数 10/3=a...b

    round(小数) 整数是奇数 ->四舍五入

           整数是偶数-> 五舍六入

    pow(2,4)--> 2的4次方

    all()  类比于and记

    any() 类比于or记

    拉链函数 zip()

    l1=[1,2,3]
    l2=[4,5,6]
    l3=[7,8,9]
    z=zip([l1,l2,l3])
    for i in z:
        print(i)  # 结果(1,4,7)  (2,5,8)  (3,6,9)

    二 .lambda匿名函数  (简单的函数用,复杂的函数不要用)

    计算n的 n次方
    def func(n):
        return n**n
    print(func(10))
    
    fn=lambda n : n**n
    print(fn(10)) # 与上面的结果一样  

     语法 :  函数名=lambda  参数(a,b) : 返回值

     三.sorted   排序函数

     语法 :  sorted(你要循环的内容,key=函数名,renerse='T or F')   

    Iterable: 可迭代对象
    key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函
    数的参数. 根据函数运算的结果进行排序

    reverse: 是否是倒叙. True: 倒叙, False: 正序

     四.map 映射函数

    语法 map(function,iterable) 可以对可迭代对象中的每一个元素进行映射.分别取执行function

    计算列表中每个元素的平方 ,返回新列表

    def func(e):
        return e**e
    
    m=map(func,[1,2,3,4])
    print(m)
    print(list(m))
    

      

     五.filter 筛选函数  (过滤)

     filter(function,iterable)

    function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后
    根据function返回的True或者False来判断是否保留此项数据
    Iterable: 可迭代对象

  • 相关阅读:
    ASP.NET WebApi 文档Swagger中度优化
    ASP.NET五步打包下载Zip文件
    JavaScript——HashMap实现
    JS实现集合和ECMA6集合
    JavaScript——双向链表实现
    用JavaScript来实现链表LinkedList
    JavaScript结构三层——思想快速介绍
    浏览器自动刷新——基于Nodejs的Gulp LiveReload与VisualStudio完美结合。
    JavaScript原型OOP——你上车了吗?
    再谈JavaScript闭包及应用
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10109001.html
Copyright © 2020-2023  润新知