Python第九、十课

@[枭]


Python第九、十课
今天讲解了Python的

  函数参数类型

  变量作用域





函数参数类型



 ①默认值参数

规则:在定义带有默认值参数的函数时,默认值参数必须全部出现在位置参数右侧,且任何一个默认参数右边都不能出现位置参数。

默认值参数只在第一次调用时进行解释。

e.g.

	>>>def f(a=3,b,c=5):
		print a,b,c
	报错



 ②关键参数

规则:按照参数名字来传递值。

e.g:

	>>>def demo(a,b,c=5):
			print(a,b,c)
	>>>demo(3,7)
	3 7 5



 ③可变长度参数

规则:

函数前有一个 * 时,代表把可变长度的参数放入一个元组中保存
函数前有两个 * 时,代表把传入的实参打包放入字典中
e.g.

	>>>def demo(a,b,c=4,*aa,**bb)
		print(a,b,c)
		print(aa)
		print(bb)
	>>>demo(1,2,3,4,5,6,7,8,9,xx='1',yy='2',zz=3)
	(1,2,3)
	(4,5,6,7,8,9)
	{'xx':'1','yy':'2','zz':3}



  ④return语句

规则:从函数中返回多个值时用 , 隔开,但是返回值不是单个的数据,而是已经打包好的



变量作用域



  ①分类

在python中,变量作用域被分为局部变量、nonlocal变量和全局变量



  ②三种变量的规则

局部变量规则:
(一)在函数内定义的普通变量仅对函数内起作用
(二)函数运行结束后在该函数内部定义的局部变量会被自动删除而不可访问

nonlocal变量规则:
(一)函数在外层被修饰过
(二)就近原则

全局变量规则:
(一)使用关键字global进行变量声明
(二)函数运行结束后全局变量仍然存在并且可以访问
(三)函数内只引用某个变量的值而没有为其赋新值,那该变量为全局变量

局部变量如果与全局变量具有相同的名字,那么局部变量会在自己的作用域内隐藏同名的全局变量


 ③ 用法

e.g.

	>>>def a():
			def b():
				spam="我是局部变量"
			def c():
				nonlocal spam
				spam="我不是局部变量,也不是全局变量"
			def d():
				global spam
				spam="我是全局变量"
	>>>spam="原来的值"
	>>>b()
	>>>print("局部变量赋值后:",spam)
	原来的值
	>>>c()
	>>>print("nonlocal变量赋值后:",spam)
	我不是局部变量,也不是全局变量
	>>>d()
	>>>print("全局变量赋值后:",spam)
	我不是局部变量,也不是全局变量
	>>>a()
	>>>print("全局变量:",spam)
	我是全局变量
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值