函数是非常方便的一个工具,它可以帮助我们对代码的重复利用
1.创建函数
1. def 函数名(用于在函数内部传递的参数): 2. """函数介绍""" 3. 函数体
如果需要在函数内部传递多个参数,需要用逗号(英文)分隔。
2.调用函数
函数名(传输的值)
这样就可以完成一次函数的调用,传输的值可以有可以没有,如果前面没有定义内部传输的参数时就可以空,如果有很多,每个值之间都需要用逗号(英文)分开。
例子:在一个项目中,需要多次计算每个数的和的函数,以便每次调用
代码如下:
def add(x,y): """功能:计算两个数的和 x:第一个数 y:第二个数 """ print(x+y) a=int(input()) b=int(input()) add(a,b)
这样一个函数就写完了,每次使用就直接调用就可以了,非常的方便
3.位置参数
讲究一一对应原则
例如上面的例子,在调用时,变量a里的数会传输到x里,变量b里面的数会传输到y里面,这就是一一对应原则,如果参数位置错了,在一些程序中可能会造成报错。
例如:
def test(x,y): print(x+9) print(y+",python") a=3 b="hello" test(b,a)
程序就会报错,原因如下:
TypeError: can only concatenate str (not "int") to str
原因是因为变量b被传输到x中去了,所以就出现字符串去加数字,所以就报错。
4.关键字参数
向上面一一对应很多人容易搞错位置怎么办呢,我们就可以在调用的时候指定参数的值就可以解决这个问题了
1. def test(x,y): 2. 3. test(x=3,y="hello")
5.默认参数
如果在这个函数内部有一个值是一直不变的,比如一些网站的注册会让大家输入国籍,但都是中国,注册的人都要输一遍就很麻烦,所以就要规定一个默认值
def test(name,age,nat="CN"):
这样就将国籍的参数默认为"CN"了,如果有其他的选项可以再进行修改。
默认参数必须放在最后,否则会出错
如果自己傻了,忘记规定的是哪一个默认参数,我们可以使用下列方法
函数名.defaults_
来查看该类函数的默认值
6.可变参数
如果自己想在一个函数内传输很多值,但不想规定很多传输怎么办,
可以使用*parameter或者**parameter这两种方法
他们之间的区别就是
*parameter #将任意多个参数放在一个元组中
**parameter #将任意多个参数存放在一个字典中
7.返回值
返回值是比较重要的一个内容,是将函数的处理结果返回给调用它的函数
return [返回的值]
返回的值可以是一个或者多个,类型可以是任意类型的,如果是多个值,返回的是一个元组
基础知识完了,现在可以用本章内容做一道程序题了
题目如下:现在需要编辑一个学籍注册程序,需要学生填写姓名、年龄、性别、国籍、电话号码,需要添加课程选择项目
非常简单,点赞过5个 公布答案