• 学习python的第十天------函数的进阶


    本节主要内容:

    1. 函数参数--动态传参

    2. 名称空间, 局部名称空间, 全局名称空间, 作⽤用域, 加载顺序.

    3. 函数的嵌套

    4. gloabal, nonlocal关键字

    ⼀一. 函数参数--动态传参

    1. 动态接收位置参数

    def chi(*food, a, b):   

    print("我要吃", food, a, b)

    chi("⼤大⽶米饭", "⼩小⽶米饭", a="⻩黄⽠瓜", b="茄⼦子")

    def chi(*food):   

    print("我要吃", food)

    chi("⼤米饭", "⼩米饭")

    结果: 我要吃 ('大米饭', '小米饭')    # 多个参数传递进去. 收到的内容是元组tuple

    在python中使⽤**来接收动态关键字参数
     def func(**kwargs):   

    print(kwargs)

    func(a=1, b=2, c=3)

    func(a=1, b=2) 结果: {'a': 1, 'b': 2, 'c': 3} {'a': 1, 'b': 2}

     最终顺序(*):       

    位置参数 >  *args > 默认值参数 > **kwargs

    三. 函数的嵌套

    # 函数的嵌套 def fun2():    
    print(222)    
    def fun3():       
     print(666)    
    print(444)    
    fun3()    
    print(888) 
    print(33) 
    fun2() 
    print(555)

    四. 关键字global和nonlocal

    a = 100 
    def func():    
    global a    # 加了了个global表示不不再局部创建这个变量量了了. ⽽而是直接使⽤用全局的a    
    a = 28   
     print(a) 
    func() 
    print(a) 

    nonlocal 表⽰示在局部作⽤用域中, 调⽤用⽗父级命名空间中的变量.

    a = 10 
    def func1():    
    a = 20    
    def func2():
            nonlocal a       
     a = 30       
     print(a)   
     func2()    
    print(a)
    func1() 结果: 加了了nonlocal 30 30 不不加nonlocal 30 20
     
  • 相关阅读:
    Windows下安装redis,并与PHP使用
    php中的一些小细节(1)
    MIME类型
    Oracle与SQL Server事务处理的比较
    php+memcached缓存技术实例
    B-树
    平衡二叉树(AVL)
    树--二叉查找树(二叉排序树)
    八种常见的排序算法
    反转一个值中的最后n位
  • 原文地址:https://www.cnblogs.com/DanielYang11/p/9879860.html
Copyright © 2020-2023  润新知