python14期2017.7.13

本文介绍了Python中函数参数的传递方式,包括位置参数、关键字参数及其动态形式(*args和**kwargs)。同时探讨了命名空间与作用域的概念,以及如何使用global和nonlocal关键字在不同作用域间共享变量。

. 动态参数

        位置参数的动态参数  : *args

# 顺序:位置参数 > *动态参数 > 默认值参数


# def chi( *food): # 可以传入任意的位置参数
#     print("我要吃", food)  # 动态参数接收到的是tuple类型的数据
#
# chi("盖浇饭", "辣条", "面条")

关键字参数的动态参数 : **kwargs

# **关键字参数
# def func(**food):   # **food动态接收关键字参数
#     print(food) # 接收到的是字典
#
# func(good_food="盖浇饭", bad_food="辣条", drink="冰封")

   顺序:

            位置,*args,默认值,**kwargs(动态接收关键字参数,形成字典)

        在形参上*聚合, **聚合

        在实参上*打散, **打散

    2. 命名空间和作用域

        命名空间:

            1. 内置命名空间: python解释内部运行时的变量函数

            2. 全局命名空间: 我们在py文件中直接声明出来的变量,函数

            3. 局部命名空间: 在函数内部声明的变量和函数.

        作用域:

            1.全局作用域:内置+全局

            2.局部作用域:局部

          globals() 查看全局作用域中的名字

          locals() 查看当前作用域中的名字

    3. global和nonlocal

        global: 把全局变量拿到局部来用.

        nonlocal: 把离他最近的一层的变量拿过来.不会找全局

转载于:https://www.cnblogs.com/wszms/p/9307604.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值