~什么是函数?

!函数是一段具有特定功能的、可重用的语句组,是一种功能的抽象。一般函数表达特定功能。

~它的一般表示形式为:

def <函数名>(参数):

      <函数体>

      return <返回值>

注意:上面的参数可有可无,但是我们括号一定得有。

示例:

def fact(n):
	s=1
	for i in range(1,n+1):
		s*=i
	return s
print(fact(10))

 其中,上面的def ... return 是函数的定义,后面的print(fact(10))是函数的调用

~函数调用

!函数调用是运行函数代码的方式

这里需要指明的地方是:调用的时候需要给出实际参数,然后我们代码运行的时候,实际参数会v替代定义中的形式参数,然后通过最后得到返回值。我们上面那个案例是将返回值输出来了。

!函数定义中的参数,有一部分为可选参数,一部分为非可选参数。函数定义时可以为某些参数指定默认值,构成可选函数;我们可以这样理解,函数定义的时候,有一部分参数是必须要有的,这一部分是不可选参数,有一部分参数是可有可无的,这一部分是可选参数。为了区分,我们需要注意的是可选函数必须放在不可选函数的后面。

!可变参数传递

函数定义的时候,可以设计不确定参数总数量,示例:

def <函数名>(参数,*b):  //b是指不确定参数总数量

      <函数体>

      return <返回值>

示例:

def fact(n,*a):
	s=1
	for i in range(1,n+1):
		s*=i
	for item in a:
		s*=item
		return s
print(fact(10,3))

 !参数传递的两种方式

位置传递与名称传递

~函数的返回值

return 保留字用于传递返回值,函数可以有返回值,也可以没有,返回值数量不定,甚至returrn 可有可无,

!函数的局部变量与全局变量

很好理解,局部变量就是在函数内部有效的变量,全局变量就整个程序都有效。然后,我们需要注意的是:在程序中我们可以使用global 保留字在函数内部使用全局变量:

示例:

n,s=10,100
def fact(n):
	global s #此处s为全局变量
	for i in range(1,n+1):
		s*=i
	return s
print(fact(n),s)

 除了使用global 保留字,在局部变量为组合数据类型且未创建,则等同于全局变量,如果它在函数内部被创建了,那么它就是一个局部变量。

示例:

l=["F","f"]
def fun(a):
	l.append(a)
	return 
fun("R")
print(l)
def func(b):
	l=[]
	l.append(b)
	return
func("M")
print(l)

 输出结果:

函数内定义函数 python 有什么好处_全局变量