定义函数
函数是带名字的代码块,用于实现具体的工作。在以后遇到相同的处理可以直接调用,不用重新编码。函数一般存储在称为模块的独立文件中。
def greet_user():
"""显示简单的问候语"""
print('Hello!')
greet_user()
使用关键字 def 来告诉python我要定义一个函数。这就是函数定义,指出函数名,以及需要的参数,最后冒号结尾。
三引号里面的文本被称为文档字符串的注释,描述函数主要是来做什么的。后面的缩进行,就是函数体。
要调用函数可以依次指定函数名和括号里边需要的信息,这里不需要任何信息。
向函数传递信息
其实稍微修改一下函数,就可以给函数传递函数信息。
def greet_user(username):
print("Hello," + username.title() + '!')
greet_user('jesse')
Hello Jesse!
实参和形参
在函数greet_user()中,变量username就是一个形参----函数完成其工作需要的一项信息。'jesse’就是一个实参。实参是调用函数时传递给函数的信息。
传递实参
鉴于函数定义中可能包含多个形参,因此函数调用也可能包含多个实参。避免传递混乱,规定了多重方法,有位置实参,这要求形参和实参位置相同,还有关键字实参,每个实参都由变量名和值组成,还可以使用列表和字典。
位置实参
在函数调用中,每个实参都需要关联到函数定义中的一个形参。因此最简单的关联方式就是基于实参的顺序。这种关联方式被称为位置实参。
def describle_pet(pet_type,pet_name):
"""显示宠物的信息"""
print("My" + animal_type + "'s name is " + pet_name.title() + '.')
describle_pet('hamster','harry')
describle_pet('dog','willie')
调用函数多次都可以,想要描述另外的宠物,重新调用就好了,这样程序会更加高效。而且位置实参的顺序很重要,我们一定要和形参关联起来,一对一,不能填错,否则会出现形参和实参不匹配的问题。
关键字实参
关键字实参是传递给函数名称–值对。直接在实参中将名称和值关联起来了,因此传递的实参不会混淆,这样不用考虑形参的位置,更加直观的看出每个值的用途。
def describle_pet(pet_type,pet_name):
"""显示宠物的信息"""
print("My" + animal_type + "'s name is " + pet_name.title() + '.')
describle_pet(pet_type='hamster',pet_name='harry')
describle_pet(pet_name=