#局部变量#
在函数体内部定义的变量称为局部变量,作用范围只在此函数,而且不同函数体可以中的局部变量可以用相同的名称
示例
代码演示
def student1():
name='小明'
age=20
print('姓名:{},年龄:{}'.format(name,age))
def student2():
name='小红'
age=19
print('姓名:{},年龄:{}'.format(name, age))
student1()
student2()
在上述代码中,name和age就是局部变量,它们只在他们的函数中起作用,而且上述代码中也体现了不同函数中用了相同的变量名
结果演示
#全局变量#
全集变量的定义有两种方法:
①在函数外定义的变量就是全局变量
②在函数内定义的变量可以使用global关键字变成全局变量
示例①
代码演示
def SUM(x, y):
sum = x + y
print('结果为:%d' % sum)
def C(x, y):
c = x * y
print('结果为:%d' % c)
x = int(input('请输入x:'))
y = int(input('请输入y:'))
SUM(x, y)
C(x, y)
上述示例①代码的全局变量就是在函数外定义的
结果演示
示例②
代码演示
def SUM(x, y):
global s #定义全局变量 s
s = 100
sum = x + y + s
print('结果为:%d' % sum)
def C(x, y):
c = x * y * s
print('结果为:%d' % c)x = int(input('请输入x:'))
y = int(input('请输入y:'))
SUM(x, y)
C(x, y)
上述示例②代码的全局变量 s 就是使用global关键字在函数内定义的
global关键字定义的全局变量名不能和形参相同,所以SUM(x,y)的全局变量名 s 就不能更改为 x 或 y
结果演示
#递归函数#
递归函数:一个函数在其函数体内调用函数自身
下面拿数学阶乘给来举例
示例
代码演示
def fuc(x):
if x>1:
s=x*fuc(x-1) #展开就是s=x*(x-1)*(x-2)*(x-3)...*(x-n) x>n
return s
else:
return x
x=int(input('x='))
print('%d'%fuc(x))
结果演示