王振2020-5-12笔记

#区分默认形参 和 关键字实参
函数定义处
def LOL_game_team()
	print()
函数调用处(关键字实参在调用处)
LOL_game_team()

<------------------------------------------------->
#### 收集参数
"""
1.普通收集参数(收集多余没人要的普通实参,构成一个元组,必须加*)
def func(*args):
	total = 0
	for i in args:
		total += i
	print(total)
	
func(1,2,3,4,5,...)
	
2.关键字收集参数(收集没人要的关键字实参,构成一个字典,必须加**)
def func(**kwargs):
	strvar = ""
	strvar2 = ""
	dic{键:值.....}
	print(kwargs)
	for  k,v in kwargs.items():
	print(k,v)
		if k in dic:
			strvar = dic[k] + ":" + v
			print(strvar)
		else:
			strvar2 += v + ","
	
	print("吃瓜群众:" + strvar2.strip(","))
		
	
func(.....)
"""
<------------------------------------------------------------------>
#### 命名关键字参数
"""
def func(参数1,参数2,*,参数3...)
 (1)在*号后面定义的参数,是命名关键参数
def func(*args,参数,**kwargs)
 (2)在普通收集参数和关键字收集参数之间的,是命名关键参数
如果是命名关键字参数,必须使用关键字实参的形式调用

"""
def func(a,b,*,c):   def func(*args,dd,**kwargs):
	print(a,b)           print(args)
	print(c)             print(kwargs)
	
函数的调用处
func(1,2,c = 3)      func(1,2,3,4,a=1,b=2,c=3,dd="abc")

# 关于* 和**的使用方法
函数定义处,*和**用来接收数据,*打包成一个元组,**打包成个字典
函数调用处,*和**用来解包数据,*一般应用在列表或者元组,**一般用在字典

*lst -->把列表的每一个元素都拿出来,当成参数赋值给func进行调用

**调用处的语法
dic = {"c":3,"d":4}
func(1,2,**dic)

**dic -->把字典里的键值对拿出来,转化成关键字实参的形式,当成参数赋值给func进行调用

综合:
定义处*和调用处*用法是一对相反操作,一个用来打包,一个用来解包
优点:可以控制参数的个数

func(*lst,**dic)

####参数的顺序
形参顺序:
	普通形参-->默认形参-->普通收集参数-->命名关键字参数-->关键字收集参数

<----------------------------------------------------------------------------->
### return 自定义返回值
函数可以定义返回值,通过return把这个值返回到函数的调用处
(1)return+返回值 后面除了6大标准数据类型之外,还可以返回函数和类对象
如果没有定义任何返回值,默认返回 None

(2)在函数中,如果执行了return,意味着终止函数,后面代码不执行
def wang()
	if sign == 0:
		return "王振真帅"
wang()

<--------------------------------------------------------------------------->
# #### 全局变量 和 局部变量
全局变量:在函数外面定义的变量,或者在内部用global关键字定义的变量是全局变量
局部变量:在函数内部定义的变量就是局部变量(局部命名空间)

作用域:作用的范围
	全局变量作用范围横跨整个文件
	局部变量作用范围仅仅限定在函数内部
	

global 在函数内部定义一个全局变量
(1)如果函数外部有全局变量,在函数内使用global,可以修改全局变量
(2)如果函数外部没有全局变量,在函数内使用global,可以定义全局变量

def func():
	global d
	d=300
	print(d)
func()
print(d)

生命周期长短
内置命名空间>全局命名空间>局部命名空间
内置变量>全局变量>局部变量

<------------------------------------------------------------------------>
####  函数名字的使用
第一类对象
python中的函数可以像变量一样,动态创建,销毁,当参数传递,作为返回值
第二类对象
其他语言的函数

1.函数是一个特殊的变量,可以当做变量赋值
2.函数名可以作为容器类型数据的元素
3.函数名可以作为函数的参数
4.函数名可以作为函数的返回值

__doc__ 或者 help 查看文档


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值