标签:code 改变 代码冗余 全局 形式 过程 def 进一步 dagger
:dagger:
什么是函数:
函数的作用,为什么要用函数:
函数的使用:
函数只有调用才会被执行,例如下面的程序
def hello(): ##定义hello函数
print('hello1') ##函数内容
print('hello2')
print('hello3')
hello() ##调用函数
hello1` `hello2` `hello3
有参函数,无参函数,空函数
#有参函数:
def func(test):
print(123)
#无参函数:
def func():
print(123)
#空函数:
def func():
pass
返回值:函数运行的结果,还需要进一步操作时,给一个返回值 return用来返回函数执行结果,如果没有返回值,默认为None
python可以间接返回多个值(返回了一个元组),一旦遇到return,函数执行结束,后面的代码不会执行。
形参
(可以任意起名)函数调用阶段传入的参数是实参
def welcome(a): ##这里的a是形参
print('hello',a)
welcome('luck') ##这里的luck是实参
参数可以分为实参和行参,而行参又可以分为四类,位置参数、默认参数、可变参数和关键字参数。
def info(name,age):
print(name,age)
Info('leiting',20) ##按照位置的写法
Info(age=20,name='letin') ##如果不按照位置的话,就是要这样
设置默认参数时注意事项:必选参数在前,默认参数在后
在定义函数阶段就已经传入参数
如果说你在实参的时候传入了一个新的参数,就会使用新参数默认参数在传值的时候
不要将可变类型当做参数传递
应用场景:
def pow(x,y=2):
print(x ** y)
pow(4,3) ##此时就将y的值改成了3
匹配完定义好的参数,**剩余的参数以元组的形式存储在 *args**(*args 名称你可以自行定义)
def hello(*args):
pass
*wargs
(可变参数) 和 **kwargs
(关键字参数)
def hello(**kwargs):
pass
声明只能在默认参数之前,最好老老实实呆在对应的位置
def pow(x,y=2):
return x ** y,x +y
放到实参中就是打散
在函数的定义时,位置参数,*****关键字参数-–-–>聚合。
在函数的调用(执行)时,位置参数,*****关键字参数-–-–>打散
一般在函数体外定义的变量成为全局变量
,在函数内部定义的变量称为局部变量
。
全局变量所有作用域都可用,局部变量只能在本函数可用,变量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量
那么问题来了, 如果想在函数内使用全局变量,或改变全局变量的值, 应该怎么做呢?
global: Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global(声明之后为全局变量)。
标签:code 改变 代码冗余 全局 形式 过程 def 进一步 dagger
原文地址:https://www.cnblogs.com/leiting7/p/11826733.html