2.1.3 方法、函数
本节目标:
了解什么是方法,与数学函数的相似处。
学习使用
fd
,lt
,bk
,rt
方法。
什么是方法
方法(Method)是实现某种特定功能、可以重复使用的一段代码 。在不同场合,这样的一段代码也会被叫做其他名字,比如子程序、过程、函数等 (https://zh.wikipedia.org/wiki/子程序 ) 。在Python中,如果这段代码出现在一个类中,通常叫方法。 如果是不依赖一个类的“方法”,一般叫函数,如之前出现的mainloop
。
方法与数学中函数的概念有类似之处,如二次函数f(x) = x^2
将x
映射到x^2
。 一个Python中的方法也可以实现类似功能,比如一个正方形对象,求面积是它的一个方法。(相应地,面积可以是它的一个属性。) Python中的方法不局限于数学函数,比如对于小海龟对象,画一个正方形也是它的一个方法。
刚才的例子f(x) = x^2
是一个一元函数,这里的“元”在Python中叫做参数,即“f(x)
带有一个参数”。 方法也可以没有参数。
Python中的参数可以是任何对象,数字、字符串、小海龟都可以。
Learning By Doing 难度:★ 重要性:★★★★★
运行以下代码,观察结果。
可以看到,屏幕上一只小海龟动了起来,而另一只小海龟停留在原地。
并且,通过在创建对象的时候带上参数'turtle'
,我们让小海龟真的变成了海龟的形状。 'turtle'
中的turtle
被引号括起来了,这是一个字符串对象。 我们以后再来看字符串的其他特性。
这里,是把字符串'turtle'
当作类turtle.Turtle
的参数。
t1.fd
让小海龟t1
前进(fd
是forward
的缩写),这个方法带一个参数,表示前进的距离; t1.lt
让小海龟t1
左转(lt
是left
的缩写),带一个参数,表示转动的角度。
类似,t1.bk
和t1.rt
让小海龟后退、右转。
我们可以再让小海龟走几步,画一个正方形。
Learning By Doing 难度:★ 重要性:★★★★★
让小海龟
t2
画一个正五边形。
Learning By Thinking 难度:★ 重要性:★★★
数学函数与Python中的函数有什么异同?
数学中的函数是一个映射,计算机函数的概念从数学函数中产生,可以看作是从参数定义域到代码的映射。 然而,在编程中相比于函数的代码,我们更关心这段代码的运行结果。从参数的定义域到运行结果却并不一定是一个映射。 比如,Python函数可以用来产生随机数,每一次对随机函数求值都会得到不同的结果,这显然(至少在形式上)不是数学函数。
注意这只是Python中的情况,在有些语言中,比如Haskell,函数与数学函数是一样的概念。
Last updated