zoukankan      html  css  js  c++  java
  • 函数的名称空间

    函数的名称空间

    • 内置空间:Python内置函数
    • 全局空间:当前py 文件需要开辟的空间存放在全局空间
    • 局部空间:函数中开辟 的空间就是局部空间
    • 加载顺序:内置空间 >全局空间>局部空间
    • 取值顺序:局部空间》全局空间》内置空间
    • 作用域:
      • 全局作用域:内置空间+全局空间
      • 局部作用域:局部空间

    函数的嵌套

    • 函数中嵌套函数
    • 函数中嵌套调用函数
    • 函数嵌套参数的传递
    • 函数嵌套返回值的传递
    • 不管在什么位置,只要是函数名+(),就是在调用次函数
    • 函数调用执行后,函数体中开辟的空间就自行销毁了

    函数的gloabal

    • 修改全局空间的变量对应的值

    函数的nonlocal

    • 在外层的函数中,修改局部空间的变量的值,完全不涉及全局变量。
    • 值修改离他最近的一层,最近的一层没有变量继续向上寻找,知道找到最外层的函数

    函数的注释

    • # def func(a,b):
      #     """
      #     逻辑判断...
      #     :param a: str
      #     :param b: int
      #     :return: bool
      #     """
      #     print(a,b)
      
      
      # def func1(user,password):
      #     """
      #     密码加密
      #     :param user: 用户名 str
      #     :param password: 密码 str
      #     :return: 加密的密码 MD5
      #     """
      #     print(user,password)
      
      # print(func.__doc__)
      # print(func1.__doc__)
      # print(func.__name__)
      
    • 每次写函数的时候需要注释

    • 函数名+ doc

    函数名的使用

    1,方式

    • 可以当做赋值给变量

    • def func():    
      print(1)
      s = func()
      print(s)
      
    • 可以当做元素放在列表中

    • def func():
          print(1)
      lis = [func,func,func]
      func()
      print(lis)
      for i in lis:
          i()
      
    • 可以当做函数的参数

    • def func(f):
          f()
      def foo():
          print(123)
      func(foo)
      
    • 函数名可以当做函数的返回值

    • def func():
          def foo():
              print(123)
          return foo
      a = func()
      a()
      
    • print(f"{{73}}")  # {73}
      print(f"{{{73}}}")  # {73}
      print(f"{{{{73}}}}")  # {{73}}
      m = 21
      # ! , : { } ;这些标点不能出现在{} 这里面。
      # print(f'{;12}')  # 报错
      # 所以使用lambda 表达式会出现一些问题。
      # 解决方式:可将lambda嵌套在圆括号里面解决此问题。
      x = 5
      print(f'{(lambda x: x*2) (x)}')  # 10
      
    希望你眼眸有星辰,心中有山海,从此以梦为马,不负韶华
  • 相关阅读:
    解决chrome浏览器无法得到window.showModalDialog返回值的问题
    Javascript 中 null、NaN和undefined的区别
    Windows Server 2003 asp网页不能访问的常见问题
    关于SQLServer无法对数据库'XXX'执行删除,因为它正用于复制。错误:'3724' 的解决方案
    关于Gridview激发了未处理的事件“RowDeleting”错误的处理
    ASP.NET中实现文件下载功能
    C#中ref和out的作用和区别
    关于Pascal(帕斯卡)以及Camel(驼峰)命名法
    期末作业验收
    SDN第五次上机作业
  • 原文地址:https://www.cnblogs.com/daviddd/p/12033550.html
Copyright © 2011-2022 走看看