首页 > 代码库 > Python基础11- 函数之自定义函数
Python基础11- 函数之自定义函数
自定义函数语法结构:
def fun1([x],[y],....):
语句1
语句2
使用def语句来定义函数,在def后依次写出函数名、小括号、参数(可无)、冒号,然后缩进写函数体
1、无参函数:
def test():
print ‘这是不带参数的函数‘
test()
2、带参数的函数
def test1(x,y): #x,y为形参(提供给使用者的接入)
print x * y
test1(2,3) #调用时称为实参
3、带参数有返回值的函数
def test2(a,b):
print a
print b
c = a + b
return c
sum = test2(3,5) #若函数有返回值,调用是需要有变量来存储返回值
print sum
4、带参数返回多个值 -- 返回一个元组(多个变量同时接收到一个元组)
def test3(a,b):
print a
print b
c = a + b
d = a * b
e = a / b
return c,d,e
result = test3(6,3)
print result
实例:游戏移动后坐标点返回
def move(x,y,step,angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx,ny
zb = move(100,100,60,math.pi/6)
print zb
5、函数的预定义值(默认参数)
def test4(x,y,z,h=4):
print x
print y
print z
h = x + y + z + h
return h
sum = test4(1,2,3)
print sum
def test5(h=4,x,y,z) -报错,有预定义值参数时,该参数只能放到最后
实例:求x的n次方:
def power(x,n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print power(3,4)
有多个预定义值的时候,既可以按顺序重新设定预定义值,也可以不按顺序设定
唯一区别就是:不按顺序设定时需要把参数名给加上,如:
def student(name,gender,age=8,city=‘shenzhen‘):
print ‘name is:‘,name
print ‘gender is:‘,gender
print ‘age is:‘,age
print ‘city is:‘,city
student(‘James‘,‘M‘,7)
student(‘Polo‘,‘M‘,city=‘Guangzhou‘)
Python基础11- 函数之自定义函数