zoukankan      html  css  js  c++  java
  • 学习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
     
  • 相关阅读:
    Study Plan The TwentySecond Day
    Study Plan The Nineteenth Day
    Study Plan The TwentySeventh Day
    Study Plan The Twentieth Day
    Study Plan The TwentyFirst Day
    python实现进程的三种方式及其区别
    yum makecache
    JSONPath 表达式的使用
    oracle执行cmd的实现方法
    php daodb插入、更新与删除数据
  • 原文地址:https://www.cnblogs.com/DanielYang11/p/9879860.html
Copyright © 2011-2022 走看看