变量
python中的变量也分为全局变量和局部变量。
局部变量
- 位置:在函数内部定义的变量
- 作用范围:这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
-
作用:为了临时保存数据需要在函数中定义变量来进行存储
当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了
全局变量
概念:既能在一个函数中使用,也能在其他的函数中使用的变量
- 位置:在函数外边定义的变量
- 访问权限:全局变量能够在所有的函数中进行访问
全局变量和局部变量名称相同
当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值
修改全局变量
如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量
返回值
1.一个return:执行到return,结束函数
2.多个return:只要执行到一个return,结束函数
3.return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据
4.如果return后面有多个数据,那么默认是元组
参数
缺省参数
在形参中默认有值的参数,称之为缺省参数。
调用函数时,缺省参数的值如果没有传入,则取默认值。
注意:带有默认值的参数一定要位于参数列表的最后面
例子:
def printinfo(name, age=35):
# 打印任何传入的字符串
print("name: %s" % name)
print("age %d" % age)
# 调用printinfo函数
printinfo(name="miki") # 在函数执行过程中 age去默认值35
printinfo(age=9 ,name="miki")
结果:
name: miki
age: 35
name: miki
age: 9
不定长参数
格式
def functionname([formal_args,] *args, **kwargs):
"""函数_文档字符串"""
function_suite
return [expression]
加了星号(*)的变量args会存放所有未命名的变量参数,args为元组
而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典.
缺省参数在*args后面
如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 args的后面, 但如果有kwargs的话,*kwargs必须是最后的
网友评论