• 函数的进阶


    函数的进阶

    函数的注释

    def login(user,pwd):
        """
        登录函数
        :param user: 用户名
        :param pwd: 密码
        :return: 校验后的账号和密码
        """
        print(111)
        
    print(login.__doc__)        
    print(login.__name__)  # login

    命名空间和作用域

    命名空间分为三种:

    内置空间——python解释器中所有代码

    全局空间——自己写的py文件

    局部空间——函数中的代码

    加载顺序:

      内置空间 —> 全局空间 —>局部空间

    取值顺序:

      局部空间 —> 全局空间 —>内置空间

    作用域:

    全局作用域:包含内置空间和全局空间

    局部作用域:只在局部空间内

    global和nonlocal关键字

    global:

      1,声明一个全局变量。

      2,在局部作用域想要对全局作用域的全局变量进行修改时,需要用到 global(限于字符串,数字)。

    def func():
        global a
        a = 3
    func()
    print(a)
    
    
    count = 1
    def search():
        global count
        count = 2
    search()
    print(count)

    注意:对可变数据类型(list,dict,set)可以直接引用不用通过global

    nonlocal:

      1,不能修改全局变量。

      2,在局部作用域中,对父级作用域(或者更外层作用域非全局作用域)的变量进行引用和修改,并且引用的哪层,从那层及以下此变量全部发生改变。

    def add_b():
        b = 42
        def do_global():
            b = 10
            print(b)
            def dd_nonlocal():
                nonlocal b
                b = b + 20
                print(b)
            dd_nonlocal()
            print(b)
        do_global()
        print(b)
    add_b()

    函数的嵌套

    函数的嵌套定义

    def func():
        print(3)
        def f():
            print(1)
        print(2)
        f()
    func()

    函数的嵌套调用

    def max2(x,y):
        m  = x if x>y else y
        return m
    
    def max4(a,b,c,d):
        res1 = max2(a,b)
        res2 = max2(res1,c)
        res3 = max2(res2,d)
        return res3
    
    # max4(23,-7,31,11)

     函数名的使用

    直接打印函数名得到函数的内存地址

    函数名可以当做值赋值给变量

    函数名可以当做元素放到容器里

  • 相关阅读:
    vbScript,DateDiff 关于DateDiff()函数
    phpcms 3.0.0文件上传漏洞
    测试Web应用程序是否存在跨站点脚本漏洞
    phpcms 3.0.0文件上传漏洞
    谈Windows和Linux和平性之争
    用一个实例讲解DB2数据库游标轮回的成绩
    Oracle新技能对Linux意味着什么?
    启迪版:Elive 1.7.5 (不颠簸版本)颁发揭晓
    刊行版:SystemRescueCd 1.0.3公布
    把linux插手到域
  • 原文地址:https://www.cnblogs.com/yaoyanxin007/p/10531385.html
Copyright © 2020-2023  润新知