可变长参数在形参和实参的作用、命名关键字参数、名称空间、函数名的多种使用方式、练习

本文深入探讨Python中的可变参数在形参和实参中的应用,解释命名关键字参数的概念,全面解析名称空间,包括其分类、存活周期、查找顺序和作用域。同时,讲解了全局和非局部关键字`global`和`nonlocal`的使用,以及函数名的多功能性,并提供了一个员工管理系统项目作为实践练习。
摘要由CSDN通过智能技术生成

今日详细内容介绍

可变长参数在实参、形参中的作用

1.可变长参数在形参的作用
  *作用:*用来接收实参中多余的位置参数,并组织以元组的形式传递给*号后面的args变量名
  **作用:**用来接收形参中多余的关键字参数,并组织以字典的形式传递给**号后面的kwargs变量名
	ps:
    def func(*args,**kwargs):
        print(args)
        print(kwargs)
    func()  # () {}
    func(1,2,3)  # (1, 2, 3) {}
    func([1,2,3],name= 'nana',kw = 123)  # ([1, 2, 3],) {'name': 'nana', 'kw': 123}
2.可变长参数在实参的作用
  *作用:类似于for循环一次性拿到容器类型里的数据值,再传递给位置形参中
  **作用:把字典的键值对以关键字参数的形式传递给关键字参数中
	ps:
    def func(*args,**kwargs):
        print(args)
        print(kwargs)
    l1 =[1,2,3,4]
    func(*l1)  # (1, 2, 3, 4) {}
    func(*l1,**l1)  # 报错 func() argument after ** must be a mapping, not list
    s1 = 'xiao'
    func(*s1)  # ('x', 'i', 'a', 'o') {}
    func(*l1,*s1)  # (1, 2, 3, 4, 'x', 'i', 'a', 'o') {}
    func(*s1,name= 'nana',kw = 123)  # ('x', 'i', 'a', 'o')  {'name': 'nana', 'kw': 123}
    dic1 ={
   'name':'xiao','age':18}
    func(*dic1)  # ('name', 'age') {}

    dic1 ={
   'name':'xiao','age':18}
    func(**dic1) # () {'name': 'xiao', 'age': 18}
    func(*l1,**dic1)  # (1, 2, 3, 4)  {'name': 'xiao', 'age': 18}

命名关键字参数

需要形参在传参的时候,按照关键字参数,此时用到命名关键字参数
1.关键字参数必须在形参*args的后面
  eg:
  def func(a,b,*args,c):
      print(a,b,c,args)
  func(6,4,5,c=3) # 6 4 3 (5,)  
2.关键字参数必须在**kwargs前面
  eg:
  def func(a,b,*args,c,**kwargs):
      print(a,b,args,c,kwargs)
  func(6,4,5,c=3,d=6,name='nana') # 6 4 (5,) 3 {'d': 6, 'name': 'nana'}

名称空间

名称空间介绍

1.名称空间就是用来存放变量名与数据值之间绑定关系的地方
2.举例说明:
  2.1 name = 'nana'
      在内存中申请一块内存空间存储nana 然后绑定变量名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值