关键词:封装、独立功能、代码块、模块、调用
Python提供了许多内建函数,比如print()。但我们也可以自己创建函数,这被叫做用户自定义函数。
在学习过程中老师提出一个问题input()函数是否有返回值,答案自然是肯定的,input()必然有返回值,在Python 2.7下,该函数返回一个数值,raw_input()函数返回字符串,在Python 3.x下input()函数返回字符串并且没有raw_input()函数。
函数的学习,要注重其形参,实参的意义以及运行语句的顺序:
print("------1------") def class_info(): "显示班级信息" print("------9------") print("name") print("------10------") print("age") print("------2------") def sum(num1,num2): "用来完成两个数的求和等" n = num1 + num2 m = num1 - num2 x = num1 * num2 print("------6------") return (n,m,x) #返回元组,可表示多个值 print("------3------") m = input("请输入数字一:") print("------4------") n = input("请输入数字二:") print("------5------") x = sum(m,n) #调用函数 print("------7------") print(x) print("------8------") class_info() #调用函数 help(class_info) #输出帮助信息 help(sum)
输出结果如下:
------1------ ------2------ ------3------ 请输入数字一:32 ------4------ 请输入数字二:21 ------5------ ------6------ ------7------ (53, 11, 672) ------8------ ------9------ name ------10------ age Help on function class_info in module __main__: class_info() 显示班级信息 Help on function sum in module __main__: sum(num1, num2) 用来完成两个数的求和等 ***Repl Closed***
可以看出,程序运行是按照1、2、3、4、5、6、8、9、10来运行的
函数间的相互调用:
n = input() def output(): print("-----------------") def output2(n): for x in range(0,n): output() #以前写过的不能浪费 output2(n)
假如本来只能输出一行的函数,现在要求输出多行,可以再写一个函数,调用原本的,利用循环实现。
实现求三个数平均值,利用函数嵌套:
可将目标进行分解,先求和,再求平均值(将复杂的问题分步解决)
代码如下:
def sum(x,y,z): #求和函数 sum = x+y+z return sum def averge(a,b,c): #求平均值函数 s = sum(a,b,c) averge = s/3.0 return averge a = int(input("输入数字1:")) b = int(input("输入数字2:")) c = int(input("输入数字3:")) print("%s"%averge(a,b,c))