—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——
领取专属 10元无门槛券
私享最新 技术干货