前言:
热榜有点难冲!好难啊!我都有点后悔报名这个东西了,不过不慌,流量这事就尽人事听天命吧,不过该做的我还是会做的,至少这一个月之内还是会好好更新的。老规矩,还是会一周更新两三次滴!
正文:
一、为参数设置默认值
我们之前说到如果不指定参数系统会抛出异常,那如果我们暂时没有参数传入时,我们就可以在定义函数时,直接指定形式参数的默认值。
格式:
def functionname(...,[parameter = defaultvaluel]):
[functionbody]
参数 | 含义 |
---|---|
functionname | 函数名称 |
parameter = defaultvaluel | 用于指定函数中传递的参数,并且为参数设置默认值defaultvaluel |
functionbody | 函数体,要执行功能的代码 |
注意:指定默认值的形式参数必须在所有参数的最后,否则会产生语法错误
另外:默认参数必须指向不可变对象
二、可变参数
可变参数:不定长参数,及传入函数中的实际参数可能是一个、两个、到任意个。
可变参数一共有两种形式 :第一种是*parameter、第二种是**parameter
*(1)parameter
这种形式表示接收任意多个实际参数并将其放入一个元组中
示例:
def starname(*name):
print("我喜欢的明星有:")
for item in name:
print(item)
starname("张子枫")
starname("张子枫","何炅","黄磊")
运行结果如下:
如果想要用已经存在的列表作为函数的可变参数,在调用时,直接在列表名称前加 “ * ”
**(2)parameter
这种形式表示接收任意多个类似关键字参数一样显示赋值的实际参数并将其放入一个字典中
示例:
def starname(**name):
for key,value in name.items():
print(key+"的星座是:"+value)
starname(张子枫="处女座")
starname(张子枫="处女座",何炅="金牛座",黄磊="射手座")
运行结果如下:
如果想要用已经存在的字典作为函数的可变参数,在调用时,直接在列表名称前加 “ ** ”
三、返回值
学习c语言都知道,函数在有时候会需要返回值,在Python中返回值也是有的,和c一样都是return语句
result = return[value]
参数 | 含义 |
---|---|
result | 保存返回结果,如果返回的是一个值,则保存的是一个值,如果返回的是多个值,则保存的是元组 |
value | 指定返回的值,可以一个、可以多个 |
四、变量作用域
(1)局部变量
局部变量:在函数内部定义并使用的变量。它的作用范围只是在函数内部,在函数运行之前或者运行之后名字就不存在了,所以在外面使用就会抛出异常。
(2)全局变量
1.如果一个变量在函数外定义,那么它不仅可以在函数外使用,也可以在函数内部使用。
当全局变量和函数体内的变量重名时,在函数体内对变量赋值后,不影响函数体外的变量。
例如:
num=123
print(num)
def demo():
num=456
print(num)
demo()
print(num)
运行结果如下:
2.变量在函数体内定义,并且使用global修饰该变量就为全局变量
例如:
def demo():
global num
num=456
print(num)
demo()
print(num)
运行结果如下:
嘿嘿!又讲完了!真快唉!那我们下次再说呗!拜拜!
喜欢的给个关注!