函数
一 函数的定义
语法形式如下:
def <函数名>(<参数列表>):
<函数体>
return <返回值列表>
二 函数的返回值
三 函数的参数
一般格式为:
函数名( <实际参数表> )
实参:在调用函数时,函数名后面圆括号中的变量名
def fun(arg1=1,arg2=2,arg3=3):
print( 'arg1 = ', arg1)
print( 'arg2 = ', arg2)
print( 'arg3 = ', arg3)
注意:如果调用方没有为该参数传递数值的话,则使用默认值,如果调用该函数的时候为该参数传递了数值的话,则使用传递的值。如果函数的某个参数指定了默认值,则这个参数后的所有参数都必须指定默认值。
info(age=25, name="王五",sex='男')
def info(name,age,sex):
print('name :',name,'age:',age,'sex:',sex)
info('张三', 30, '男')
注意:位置绑定参数和关键字绑定参数可以在满足特定条件时混和使用,该条件是:所有关键字绑定参数必须出现在位置绑定参数之后
四 函数的变量
g = 0 #定义全局变量
def bindVar():
global g #在函数中声明g是全局变量
g = g+1
return g
print(bindVar()) #输出 1
print('g =',g) #输出 g = 1
注意:如果定义了一个全局变量,然后又在函数中用同样的名字定义了一个局部变量,那么,在局部变量的作用范围内(也就是该函数内),全局变量不起作用,只有局部变量起作用。
五 函数的闭包和递归
def f1():
x = y = 2
y = 3
print('f2 函数内 x =', x)
print('f2 函数内 y =', y)
f2()
print('f1 函数内 x =', x)
print('f1 函数内 y =', y)
f1()
2)字符串反转
def rvs(s):
If s == “”:
return s
else:
Return rvs(s[1:])+s[0]
def f(n):
If n == 1 or n ==2:
return 1
else:
return f(n-1)+f(n-2)
def hanoi(n,A,B,C):
if n==1:
print("move",A,"->",C)
return
else:
hanoi(n-1,A,C,B)
hanoi(1,A,B,C)
hanoi(n-1,B,A,C)
n = int(input("请输入盘子数"))
print("移动",n,"个盘子的步骤是:")
hanoi(n,"A","B","C")
六 内置函数
python/人工智能学习联盟:913550303