zoukankan      html  css  js  c++  java
  • 15 Python之内置函数

     思维导图: https://www.processon.com/mindmap/5c10cb5ee4b0090a2c9db92f

     1. 匿名函数统一的名字是:<lambda>

     使用场景: 配合着sorted, map, filter 一起使用

    # fn = lambda a, b : a + b # 定义一个很简单的函数. 复杂的函数不要用lambda
    # ret = fn(3, 5)
    # print(ret)
    # print(func)
    # print(fn)

    2. sorted 排序函数.  让你自己去定义排序的规则

      执行流程:
        把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数.
        函数返回数字. 根据数字进行排序

    lst = [11,5,36,1,27,58]
    
    # s = sorted(lst) # 默认从小到大排序.
    # print(s)
    
    # lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"]
    # # 按照字符串长度排序
    # def func(s):
    #     return len(s) # 返回长度
    
    lst = [11,5,36,1,27,58]
    
    # s = sorted(lst) # 默认从小到大排序.
    # print(s)
    
    # lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"]
    # # 按照字符串长度排序
    # def func(s):
    #     return len(s) # 返回长度

    3. filter 过滤

      把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留

     lst = ["张无忌", "张翠山", "范冰冰", "金毛狮王", "李冰冰"]
    #
    # # 过滤掉姓张的人
    # # 把可迭代对象打开. 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留
    # f = filter(lambda name : not name.startswith("张"), lst)
    #
    # print("__iter__" in dir(f)) # 可迭代对象
    # for el in f:
    #     print(el)

    4. map()  映射函数

    lst = ["篮球球", "打打台球", "唱歌", "爬慌山", ""]
    #
    # m = map(lambda s: "爱好:"+s , lst)
    #
    # print(list(m))
    
    # lst = [1,5,78,12,16] # 计算每个数字的平方
    # print([i **2 for i in lst])
    #
    # m = map(lambda i: i ** 2, lst)
    # print(list(m))

    5. eval 是把字符串类型的数据作为代码进行执行

    # eval 是把字符串类型的数据作为代码进行执行
    # s = "18+2"
    # ret = eval(s) # 执行字符串类型的代码
    # print(ret)
    
    # code = input("请输入你要执行的代码:")
    # ret = eval(code)
    # print(ret)
    
    
    # s = "{'name':'alex', 'age':18, 'isMan':False}" # 字符串
    # # 把字符串类型的代码还原回字典, 列表, 元组
    # ret = eval(s)  # 侧重的有返回值
    # print(ret)
    # print(type(ret))

    6. exec execute 执行字符串类型的代码, 不能太长. 不能太乱

    # code = input("请输入你要执行的代码")
    # exec(code) # 没有返回值. 想要返回值用eval
    # print(a)   # pycharm报错不一定准

    7.compile 编译: 把你要执行的代码先预编译. 通过exec和eval可以执行我们的代码

    code = '''
    for i in range(10):
        if i % 2 == 0:
            print(i)
    '''
    
    
    c = compile(code, "", "exec") # 预加载代码
    # exec
    exec(c) # 运行代码
    
    # 可以使用complie写一个编程大赛.
  • 相关阅读:
    规格说明书-----吉林1日游
    每周代码及工作总结(第九周)
    评论beta发布
    每周代码及工作总结(第八周)
    半年之后没啥意思,开个博客
    本周例行报告
    final发布评论Ⅱ
    课堂final发布
    本周例行报告
    回顾
  • 原文地址:https://www.cnblogs.com/a2534786642/p/10109802.html
Copyright © 2011-2022 走看看