【Python基础】初识函数
- 2020 年 1 月 1 日
- 筆記
本文标识 : P00020
本文编辑 : 采药
编程工具 : Python
阅读时长 : 5分钟
函数
函数就是带名字的代码块,用于执行具体的工作。
定义函数
def greet_user(): """显示问候的话语""" print("hello") greet_user()
显示结果
hello
这里我们演示了最简单的函数结构。
def关键词告诉python你要定义一个函数。这是函数定义,向python指出了函数名,指出函数为完成任务需要什么样的信息。
在这里,greet_user()函数不需要任何信息就可以完成工作,因此括号是空的,但是括号不能少。
紧跟def greet_user():后面的所有缩进,构成了函数体。
向函数传递信息
上述的函数,稍作修改,就可以实现别的功能。
def greet_user(username): print("Hello," + username.title() + "!") greet_user("tom"
我们在这个函数中,添加了一个username,这个username可以是任何值,这样我们就能得到想要的结果。
输出结果:
Hello,Tom!
实参和形参
上面在定义greet_user()时,要求给变量username指定一个值。调用这个函数并提供人名时,它就打印相应的问候语。
变量username就是一个形参。
在代码greet_user("tom")zhong ,tom就是实参。
传递实参
传递实参的方式很多,可用位置实参,关键词实参还可以用列表和字典。
位置实参
调用函数时,python必须将函数调用中的每个实参都关联到形参,最简单的关联方式就是基于实参的顺序,称之为位置实参。
def describe_pet(animal,name): print("nI have a "+animal + ".") print("My " + animal + "'s name is "+ name.title() + ".") describe_pet("hamster","harry"))
这里,调用函数时,需要提供两个参数,按照动物类型和名字的顺序来提供。
输出结果:
I have a hamster. My hamster's name is Harry.
关键字实参
关键词实参,就是传递给函数名称-值对。
def describe_pet(animal,name): print("nI have a "+animal + ".") print("My " + animal + "'s name is "+ name.title() + ".") describe_pet(animal="hamster",name="harry")
输出结果:
have a hamster. My hamster's name is Harry.
默认值
在编写函数时,我们可以给任意形参指定值。在调用函数时,如果没有提供实参,python就使用初始的默认值,如果指定了实参就使用调用时的值。
def describe_pet(pet_name,animal_type='dog'): print("nI have a " + animal_type + ".") print("My " + animal_type + "'s name is " + pet_name.title()) describe_pet(pet_name='tom')
输出结果:
I have a dog. My dog's name is Tom