python 函数2

函数参数的两大分类

形式参数
	函数定义阶段括号所写的参数
实际参数
	函数调用阶段括号内传入的参数
形参与实参的关系
	可以将形参看成是变量名,实参看成是变量值
    函数调用阶段临时绑定,函数运行结束断开

形参的表现形式		变量名
实参的表现形式多种	(把握核心  数据值)

在这里插入图片描述
位置参数

位置参数
	从左往右依次填入的参数
位置形参
	函数定义阶段从左往右依次填入的变量名
位置实参
	函数调用阶段从左往右依次填入的数据值
关键字实参(可以打破位置顺序)
	函数调用阶段通过形参名=数据值的形式  传值
1.位置形参与位置实参在函数调用阶段,按照位置对应绑定
2.位置参数绑定的时候多一个不行少一个也不行


重点: 格式越简单越靠前,越复杂越靠后	
	

可变长参数

1.函数无论传入多少位置参数都可以正常运行
 可变长形参
 def func(x,y,*a):
     print(x,y,a)
 func()  # ()
 func(1)  # (1,)
 func(1, 2, 3, 4, 5, 6, 7)  # (1, 2, 3, 4, 5, 6, 7)
 func(1,2)  # 1 2 ()
 func(1,2,3,4,5,6,7,8,9)  # 1 2 (3, 4, 5, 6, 7, 8, 9)
 func(1,2)  # 1 2 (3, 4, 5, 6, 7, 8, 9)
    
*在形参中用于接收多余的位置参数 并组织成元组的行赋值给*后面的变量名    
2.函数无论传入多少关键字都可以正常运行
 def index(x, y, **b):
     print(x, y, b)
 index()  # {}
 index(a=1,b=2,c=3,d=4)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
 index(y=2, x=1)  # 1 2 {}
 index(y=2, x=1, u=222, k=111, l=444)  # 1 2 {'u': 222, 'k': 111, 'l': 444}
    
**在形参中用于接收多余的关键字参数 并组织成字典的形式赋值给**后面的变量名  

*使用
	会将列表、元组内的数据打散
    
**使用    
	会将字典的键值对打散成关键字参数传入

名称空间

	1.内置名称空间
            print()
        	len()
            
	2.全局名称空间       
    	py文件中顶格编写的代码
    	    name = 'jason'  # name全局
            def func():  # func全局
                pass
            if 1:
                a = 123  # a全局
            for i in range(10):
                print(i)  # i全局
            while True:
                a = 123  # a全局
                
	3.局部名称空间
    	函数体代码运行之后产生的都是局部名称空间

名称空间的作用域

作用域
	名称空间所能够作用的范围
  
内置名称空间
	程序任何阶段任何位置均可使用(全局有效)
全局名称空间
	程序任何阶段任何位置均可使用(全局有效)
局部名称空间	
	一般情况下只在各自的局部名称空间中有效

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值