Python入门 L3.Functions&Methods

—Function—

在第二次的课程中,我们介绍了List是什么,以及一些相关的基础知识。今天我们来进入一个新的话题“Function”。

其实这个话题并不陌生,例如我们之前的学过的type( )、print( )、str( )、int( )等等命令都是不同的Function. 在进行一些基础的数据数理时,这些已经在Python中设置好的Functions,可以帮助我们更容易地达成目标。

举个例子,假设我们想找出身高数据的最大值,只需要输入max( )命令:

这个命令是非常有用的,例如我们建立一个tallest的新变量:

同样,我们也可以利用len ( )命令,让Python告诉我某个变量包含多少个数据,同时把结果设立为一个新的变量number:

—万能的help—

Python包含很多不同的Function,我们不能详细地介绍每一种。但一旦你学会运用help()命令,就可以自己探究不同的Function了。

现在,我们来看这样一个命令: round( )

虽然我们之前从来没有介绍过它,但是你可以直接向Python寻求帮助:

从这段描述中,我们得知round是一个可以帮我们进行四舍五入计算的工具,它要输入两个数值,第一个叫number,第二个叫ndigit。Ndigit表示想要精确到小数点后几位。Ndigits=None表示:你可以提供一个具体的数值给Python,也可以不提供。如果省略ndigit的话,Python会按照自己的标准四舍五入,这时ndigits可能为负数.

为了更清楚的说明help命令,让我们再看一个例子:sorted()

在这段描述中,我们看到sorted命令有三个input:第一个叫iterable,第二个叫key(不必须),第三个叫reverse,并且reverse=False)。这个命令可以给输入的变量进行递增排序,如果修改reverse=True,可以得到递减排序:

第一行中,我建立了x,它由几个数字组成。接着我将x变量进行递增排序,同时将这个排好顺序的结果命名为x_increase,并且输出了这个新的变量。同样,我又对x进行了递减排序,并且将结果命名为x_decrease,最后进行结果输出。

练习:请你自己利用help探索一下abs ( )是什么意思噢。

—Method—

在介绍Method之前,我们先理解一下object是什么意思。我们之前已经学习了如何建立变量,例如我所建立的sister, height, family 它们都属于object,但是类型不同。针对不同的类型,Python提供不同的methods:

我们可以将Method理解为一种Function,在使用时要加“.”

举个例子:我们建立了family变量,并且想知道”tony”的index是多少。那么我们需要用到index( ) 这个methods:

注:1)在第二次的课程中,我们介绍了如何提取list中的单个数据和范围数据,具体操作是:输入index,然后输出我们想要提取的数据。而今天的方式恰恰相反——如何输入数据,获得与其相对应的index.这两个不要混在一起啦。2)index( )前要加“.”,如黄色的标注。

如果不是很清楚的话,让我们再看一个例子:现在我有一组身高数据,建立height变量,我们想要知道在这些同学中,有多少是165cm,有多少是180cm,又有多少是155cm.而count( )可以实现这种操作:

注:同样,count( )前也要加“.”,如黄色的标注

而Capitalize( ) 可以将str数据的首字母大写化,replace( )则可以替换str数据的部分内容:

总结:我们可以将Python中的一切都理解为“Object”,例如我们之前学习过得str、float、int和list数据等。而每一种“Object”都有不同的“Method”与之相匹配。

有的Method可以匹配多种object,而有些却只能匹配一种。

我们可以举个例子:

首先我建立了sister变量(str类型),并对其使用“.replace( )”,结果是Python成功帮助我们达到了目的。接着我又建立了height变量(list类型),同样使用“.replace( )”,但Python说不行,因为list类型的数据不可以使用“replace”.

同样,之前我们说过:有的method可以在不同类型的object间共用。现在我们举个例子来说明这一点:

对于sister变量(str类型),我们使用了.index( ),想知道“i”的index是多少;对于height变量(list类型),我们使用了.index( ),想知道“sam”的index是多少。面对这两种不同类型的object,Python都提供了我们想要的答案。换句话说,.index( )可以同时在str 和 list间使用。

好啦,现在假设一种新的情况:我们想在height中加入新的数据“jack”,那么可以这样操作:

注:我们可以使用之前课程中提到的“+”进行操作,但是这样我们只能在height变量上增加新的内容,但height变量是不变的,因此我们建立了新的变量height_new。但是如果我们使用“.append”则可以直接改变height变量。

现在设想我们想在height中同时加入“jack”和“188”,按照之前的思路我们也许会这样操作:

但是Python提示错误,因为.append( )只可以输入一个数据,而我们提供了两个。因此我们需要再次单独对“188”使用一次命令:

—总结—

在这次的课程中我们首先介绍了Function是什么,并且通过max( )和len( )帮助我们理解function有什么作用。对于Python而言,它包含了各种各样的function,但我们并不可能熟知每一种。因此,我们介绍了如何使用help( )去分析那些我们不熟悉的Function。

接着通过object的概念我们引入了method, 并将function 与method做了对比。针对不同的Object,Python使用不同的method进行操作,但是有些method可以在不同类型的Object之间同时适用。

代码:

max( )

len( )

help( )

round( )

sorted( )

.index( )

.count( )

.capitalize( )

.replace( )

.append( )

练习1:

1)建立room变量,使其等于的“bathroom”。

2)对room使用“upper()”Method,并将结果命名为“room_up”

3)输出“room”和“room_up”对比它们的不同

练习2:

1)建立length变量(list类型),使其包含“15.5,13.4,19.7,18.4,16.3,18.1”这几个数字

2)使用“.append( )”给length添加两外两个数据:24.5,37.1

3)输出length

4)对length使用“.reverse( )”Method,并输出结果,对比它和之前的不同

练习的答案会在下一期的课程中公布噢,亲自动手试一下吧~

——End——

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181128G05W1N00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券