【Python 第21课】函数的参数


在19课里,我们讲了怎样定义一个自己的函数,但我们没有给他提供输入参数的功能。不能指定参数的函数就好比你去餐厅吃饭,服务员告诉你,不能点菜,有啥吃啥。这显然不能满足很多情况。

 

所以,如果我们希望自己定义的函数里允许调用者提供一些参数,就把这些参数写在括号里,如果有多个参数,用逗号隔开,如:

def sayHello(someone):
   print(someone + ' says Hello!')

 

或者

def plus(num1, num2):
   print(num1+num2)

 

参数在函数中相当于一个变量,而这个变量的值是在调用函数的时候被赋予的。在函数内部,你可以像过去使用变量一样使用它。

 

调用带参数的函数时,同样把需要传入的参数值放在括号中,用逗号隔开。要注意提供的参数值的数量和类型需要跟函数定义中的一致。如果这个函数不是你自己写的,你需要先了解它的参数类型,才能顺利调用它。

 

比如上面两个函数,我们可以直接传入值:

sayHello('Crossin')

还是注意,字符串类型的值不能少了引号。

 

或者也可以传入变量:

x = 3
y = 4
plus(x, y)

 

在这个函数被调用时,相当于做了num1=x, num2=y这么一件事。所以结果是输出了7。

当函数结束后,这里的 num1、num2 就不再可以使用了,它们只存在于函数内部。关于这一点,后面我们会专门来细说。

 

#======= 课外的话 =======#

今天发现了一个iPad上的游戏,叫Cargo-Bot。这个游戏需要你用指令控制一个机械臂去搬箱子。游戏里蕴含了很多编程的思想,包括循环、函数调用、条件判断、寄存器、递归等等,挺有意思的。更厉害的是,这个游戏是用一个叫Codea的app直接在iPad上编写出来的。有iPad的同学不妨玩玩看,挑战一下你的“程商”。

有些家长想让小孩子学编程,其实我觉得,比较小的孩子,玩一玩这种“编程思维”的游戏就足够了。

 

来源:Crossin的编程教室