美文网首页
4返回值、lambda、模块、from、import

4返回值、lambda、模块、from、import

作者: 萌二宝 | 来源:发表于2020-03-12 15:41 被阅读0次

    返回值

    将函数内的数据传递回去

    Python 只有 function

    • 最小惊讶原则 希望输入和输出是合常理的
      返回值类型要相同
    def maximum(x, y):
       if x > y:
           return x
       elif x==y:
           return 'equal'
       else:
           return y
    print(maximum(2, 3))
    print(maximum(22, 22))
    --------------------------------
    3
    equal
    
    def maximum(x, y):
       if x > y:
           return x
       else:
           return y
    print(maximum(2, 3))
    print(maximum(22, 22))
    ------------------------------------
    3
    22
    
    • 多值返回
      python 允许一次返回多个值 : 多值返回的本质是使用tuple中转

    • doc string
      python允许为每个函数增加一个文档字符串, 这个文档字符串可以被代码访问。具体方式是, 在函数的第一个逻辑行定义一个字符串(不执行任何操作)。访问方式是function
      .doc

    lambda

    一种快速定义简单函数的方法

    def inc(n):
       return n+1
    print(inc(10))
    inc = lambda n: n+1 #快速定义函数
    print(inc(20))
    ----------------------------
    11
    21
    

    练习:定义一个fib函数。输入n, fib的输出为数列第n项的值。数列某项等于前两项之和。

    #fib函数
    def fib(n):
       if n <= 1: return 1
       return fib(n-1) + fib(n-2) #递归
    fib(10)
    -----------------------------------
    89
    

    模块

    • Module

    预先写好的代码, 供其他代码使用。一个module是一个独立文件。每个module拥有自己的全局变量空间。数据定义,函数,均定义在其中。

    • import

    import 引入某个module对象, 可使用module.name的方式引用全局变量

    import testmod.py
    testmod.variblel
    
    • from import

      引入模块中的某个或全局变量。 被引入变量不需要module.name 来访问, 仅需要name
      注意: 不推荐使用引入全部变量, 会引起名称空间污染

    import datetime
    dt = datetime.datetime() # 1
    from datetime import datetime
    from datetime import datetime as dt
    

    命名空间 在from module_name import 、import module_name中的体现:from关键词是导入模块或包中的某个部分。

    * from module_A import X:会将该模块的函数/变量导入到当前模块的命名空间中,无须用module_A.X访问了。
    * import module_A:modules_A本身被导入,但保存它原有的命名空间,故得用module_A.X方式访问其函数或变量。
    
    • 模块的内置属性

      • _name_ 直接运行本模块, _name_值为main;import module, _name_值为模块名字。
      • _file__ 当前 module的绝对路径
      • _dict_
      • _doc_
      • _package_
      • _path_
    • dir

      列出某个模块所有的变量

      import testmod
      dir(testmod)
      
    • import *


    只要手指还在,你就可以继续code!

    相关文章

      网友评论

          本文标题:4返回值、lambda、模块、from、import

          本文链接:https://www.haomeiwen.com/subject/twlpjhtx.html