Python3新手Day6: 方法是什么?

论坛 期权论坛 期权     
家里有橙   2019-6-30 05:30   2514   0
点击上方“家里有橙”
右上角“...” 点选"置顶公众号"
★迅速获取橙子最新发布★



前面几天已经学习了基本的控制流语句。今天来看方法的基本定义。
什么叫做方法?数学中的函数还有印象吗?如f(x) = y

简单来说,方法指关于解决问题的门路、步骤等。在编程中,方法非常类似于数学中函数的概念,  为了解决一个问题而定义实现的一个逻辑过程,是一个单独的代码块。

定义一个方法的出发点, 一定是为了解决一个问题, 而且一般这个问题具有普遍性,避免到处去写相同逻辑的冗长重复的代码。 因为方法定义之后,可以在它的命名空间中多次被调用。

当然并非一定具有普遍意义才能写方法, 比如某个特定的问题的逻辑代码写出来会特别长又复杂,为了程序的可读性和简洁性也可以拉出来定义个方法去实现它。

在Day5中我们写了一个打印质数的程序,那么我们把它写成一个方法该怎么写?
.
...
......
此处省略十万字
......
...
.

直击Python3方法定义:




方法定义详细解读
1. def关键字:
定义一个python方法就用def关键字, def语句包括方法名,参数列表,




python的整个代码块风格就是冒号和缩进,从第10行到第31行,都是方法体,不像别的语言是用花括号{}标识代码块,习惯就好。

2. 方法名字:
python合法的方法名字也变量的命名规则是一样,这里统一说明:python中的所有标识符(方法名,变量名, 类名)可以由字母,数字,下划线(_)组成,并且不能以数字开头,区分大小写,注意了, 不要与内置变量名和内置方法重名。

_var1: 合法
1var: 不合法
var:   合法
_:    合法,不过这样的命名还是不要了
var*&:不合法


变量名一般是名词, 方法名一般是动词开头的名字, 因为方法是一种行为, 方式。

通用的命名规则是这样的:

a. 变量和方法名全部小写,以下划线分割多单词名字,如:print_prime, user_name

b. 类名首字母大写, 多个单词用大骆驼方式,即每个单词的首字母都大写


这骆驼头部咋那么像羊驼呢?

这个规则不是固定的, 也可以根据自己的规则来调整, 保证合法并且可读性够强即可。

3. 参数列表
小括号是也。可以有0到多个参数。到今天为止是不是发现每个变量定义的时候都没有声明它的类型,比如它是一个int 或者是字符串,这个是在赋值的时候决定变量的类型的, 参数列表也不需要, 直接写参数变量名即可。如:
def fun1():             #empty params
def fun2(a, b, c) :    #multiple params
至于更多参数方式, 新手系列暂时不介绍。

4. 方法的注释
注释都不是语法必须的部分,但是正规编程, 我希望每个开发者都要认真写注释!这是一种专业素养。

方法定义下方一般会跟有文档注释。



一般包含:
       方法描述
       作者
       参数列表说明
       返回值说明

5. 方法体实现:
print_prime这个方法体的内容基本和Day5一致, 不再作过多讲解。
相信认真读到今天的都可以看得懂。 关于返回值, 今天先略过, 后续加讲。

6.方法调用
方法定义好了, 怎么使用呢?

方法定义的部分只是定义, 不会直接执行, 需要调用它, 才会执行它里面的代码。

第34行就在调用了:方法名+参数
print_prime(10)

我当然可以给不同的参数,打印不同范围内的质数。
print_prime(20)
print_prime(101)

这就是方法的意义, 它实现了打印一个范围内的质数的功能,要使用这个功能, 只需给出不同的参数即可,而不需要每个参数都要重复写一遍这个代码。

抄到编辑器中执行以下吧:




总结:天气闷热,小编没有啥要说的啦。坐着几个小时过去了,蚊子逮住就咬,急需提高写文速度。还帮同事搞定一个python包的问题。惨烈又充实的一天啊,今天小练习也暂时不留了







-END-



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:5
帖子:1
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP