函数是带名字的代码块,用于完成具体的工作。
要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需要调用执行该任务的函数。让Python运行其中的代码。你将发现,通过使用函数,程序的编写、阅读、测试和修复都将更容易。
python大大的图
我的图
1.向函数传递信息
def用于定义函数,greet_user( )是函数名,括号内的是函数为完成其任务需要的信息,通过在这里添加username,就可以让函数接受你给username指定的任何值。(即便函数不需要额外信息,括号也必不可少)。最后,定义以冒号结尾。
要调用函数,可依次指定函数名以及用括号括起的必要信息。调用greet_user( )时,可将一个名字传递给它。
代码greet_user(“jack london”)调用函数greet_user( )并向它传递“jack london”,打印的内容分为三部分:1.Hello+空格;2.参数的首字母大写,即为Jack London;3.!。合起来即为Hello, Jack London!。你可以根据需要调用函数greet_user( )任意次,调用时无论传入什么样的名字,都会生成相应的输出。
2.实参和形参
在函数greet_user( )的定义中,变量username是一个形参——函数完成其工作所需的一项信息。在代码greet_user(“jack london”)中,值“jack london”是一个实参。实参是调用函数时传递给函数的信息。我们调用函数时,将要让函数使用的信息放在括号内。在greet_user(“jack london”)中,将实参“jack london”传递给了函数greet_user( ),这个值被存储在形参username中。
注意:大家有时候会形参、实参不分,因此如果你看到有人将函数定义中的变量称为实参或将函数调用中的变量称为形参,不要大惊小怪。
3.动手试一试
(1)消息:编写一个名为display_message( )的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。
(2)喜欢的图书:编写一个名为favorite_book( )的函数,其中包含一个名为title的形参。这个函数打印一条消息,如One of my favorite books is Alice in Wonderland。调用这个函数,并将一本图书的名称作为实参传递给它。
函数是为了简化程序,我们不需要每次print一整个句子,只需要把句子中需要修改的词写出来就行了。因此写多个句子也十分方便
这里非常有意思的是程序能够区分作为形参的title和作为函数的title( ),即使放在一起写成title.title( )也不受影响。但是这样的话书名里的虚词也大写了,这样并不好。
如果把实参写成一个列表,结合while循环来按元素输出,代码又会简洁一些。我猜可能可以这么写,但是我暂时并不会写。