【Python基础】初识函数

本文标识 : 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