当前课程知识点:Python 交互式程序设计导论 > 第8周 > B、课程视屏(动画) > 编程技巧
返回《Python 交互式程序设计导论》慕课在线视频课程列表
那,本周我们的主要的内容是给大家介绍下python的编码规范,也就是pep8标准
在之前的编程技巧中也给大家介绍过一些
但是呢没有详细的做过介绍
同学们在做项目的过程中可能也是主要注意力在功能的开发上,而没有注意编码的规范
那我们今天的课程主要给大家介绍些我们的编码规范
现在开始今天的课程
再讲之前我们先看下,其实我们一直使用的pycharm他也是在遵循pep8标准
那我给大家看一下,好,那我放大了,好
大家看下这是我在上课的时候给大家讲过的计算器程序
当我把鼠标放在def下面的时候,大家看def下面有个灰色的波浪线,我再放大
当我把鼠标放在def这块上面的时候,它下面就有一行提示pep8:需要两个空行
说明我定义这个函数不太规范,不符合我们pep8的标准
那他说需要两个标准,这个地方只有一个,我敲一个回车
现在有两个空行了,对不对,然后下面的灰色波浪线就没有了
pycharm是一直在用pep8标准,来检查你的代码符合不符合标准
介绍一下pep8的一些其他标准,好,我们来看一下
我们python编码规范就是pep8
首先我们来看下代码的编排缩进
我们在前面的视屏中讲过我们python中是用缩进来表示代码的层次的对吧
比如说你第一层四个空格来缩进,第二个层就要八个,第三层用十二个是这样讲的
我们的编译器其实一般情况下可以完成这个功能,但是强调的是不能使用Tap
这个大家注意的是不能使用Tap键更不能把Tap键和空格键混用,这是第一点缩进
第二点类和全局函数定义之间空两行,这是我们的写的时候注意方法之间定义空一行
函数内如果说函数内无关段落之间空一行,其他地方尽量不要再空行了
还有哦我们看到的全局变量和函数之间空两行,是吧,符合我们pep8的标准
好,第三个我们写代码的时候我们是要求我们的代码实在一平之间可以看到
如果说我的屏幕这么宽,那么你的代码就要在这个宽度之内
如果说你的代码超出了这个宽度,你还要拖下才能 看到的话这就不符合他的标准了
所以说每行最大长度79,若果在更长的话你就要 换行了,换行了你可以使用反斜杠
但是一般还可以敲回车,我们换行就可以了,这是代码编排
第二个命名规范,从大家写的项目我发现,大家对命名规范掌握的不是很好
第一个:你看函数命名使用全部小写的方式,全部小写,多个单词用下滑线分隔
第二个:说常量命名一般使用全部大写的方式,多个单词之间用下划线分隔
第三点:变量命名不要使用python中的保留字,python有好多保留字 比如手如def等
def在python中是用来定义一个函数defind的意思
那如果我定义了一个变量名字叫def,我们的编辑器就会搞糊涂,
他就不清楚你后面干什么了,是定义函数还是在定义变量
所以我们不要使用python的保留字给变量起名字,起个其他的名字
第四点:前面我们讲说类的命名使用驼峰式命名法,什么叫驼峰式的命名法,
就是说多个单词这个是多个单词,我们的首字母大写,其他字母都小写,这叫做驼峰式命名方法
第五个:类的属性包括方法和变量,其实和我们普通函数命名是是一样的,
全部小写的方式,多个单词之间用下划线分隔 ,好这是第五点!
第六点:类的第一个参数必须是self,如果不是self的话,调用的过程中它会给你报错
这个时候回给你报错的,因为这个self,代表对象本身,你在调用的时候,对象点这个操作会把对象传给类的方法
所以这个第一个参数必须是self。
第三个我们看空格,我们讲过说适当的增加空格,增加你代码的可读性,但是空格也不能乱用
比如说第一点逗号,冒号,分号之间呢前面不要加空格,但是后面要加空格
但是有一点,说我们的冒号在行尾若果说是结束了就不加空格,
比如时候我们类定义,我们函数定义,我们一般,还有后面的if
我们讲过if条件语句后面,写完了之后要加个冒号,此时我们要敲回车键,而不是加空格
大家记清楚,这是冒号与其他两个不同的
第三点:函数的左括号前面不要加空格,你看函数名是func对不对,这是他的参数列表
这个左括号之间呢不要加空格,虽然说不会给你报错,但是不符合我们的标准
第四点:序列的左括号前不要加空格,比如说创建了一个列表list,这个左括号和list之间不要空格的
还有set啊 元组啊都是跟他一样的
第五点:操作符左右各加一个空格,你看这是加法运算符,左右各加一个空格,可以增加你代码的可读性
第六点:不要将多句语句写在同一行,比如说你写了一个if,冒号,条件写完了后面就是他的执行语句
建议不要这样这样写,一般我们一行语句写一行就可以了,一条语句写一行,好,这是第三
我们看第四:注释。我们建议大家注释,增加注释,增加代码的可读性,
同时也能保证你代码写了一段时间之后,你代码拿过来在看的时候,可以知道你当时代码实干什么的。是吧
每个函数的作用是什么,但是你的注释写的是错误的,还不如没有,这是他的总体原则
错误的注释你就不要写了,比如说一个函数明明在求和的操作,但是你给他写的注释是减法,求差是吧,这会引起别人的误导
还有一个修改改别人的代码这个代码作用发生变化时,同时要记得修改你的注释
注释一般有下面几种:第一个是块注释,块注释呢一般写在代码前,
它的规范是这样的,写一个#号,这个地方要有个空格,第二行呢是空行,但是是以#号开头的空行,这是块注释的一个格式
好,我们在看行注释,一般情况下不建议大家使用,一般我们会写在代码的前面,这样写不是写在后面
第三就是避免无谓的注释,不需要的注释就不要写了
下面是文档编排,文档编排这个呢我们可能在写项目的时候注意的比较少
因为我们刚开始学习吗有时候在于关注于功能的实现,就是说你把这个项目完成,关于这些大家注意的比较少,
你看他的顺序是这样的:模块说明,这个模块是干什么的,其次是文档字符串,再下来是import语句,再下来是全局变量,它,
还有其他定义
当然,在我们import部分中它还细分了首先你导入的是标准模块,第二点你在导入第三方模块,
再导入自己编译的模块,而且这三类之间要用空格分隔,这是模块内容的顺序
第二点强调的是import os sys 不推荐啊
一个import语句只导入一个库,是这样写的
第三:如果你要这种方式写的话一般会引起命名冲突,我们建议大家直接用import方式来导入
这是文档编排,再看下文档描述,文档描述跟文档字符串分不开的
一般建议就是说给一些公共的模块啊函数啊 类啊方法啊写上文档字符串,来说明你这个函数,模块干什么的,
方面自己看,也方便别人看,那我们在写文档字符串的时候,它是这种顺序,
他呢,首先是一个多行字符串,对不对,首行呢是大写字母开始,句号结尾
大家注意哈,第二行是空行,从第三行开始是详细的描述
那,她呢,文档字符串是写在三对双引号里面,这是你的文档字符串内容
后面还是一样一三对双引号结束,是这样写的
第二点注意的就是说如果不是公共的模块的话,就不要写多行字符串,你可以在写一个注释,同事私有的不是
公共的,def写一行注释就可以了,还有一些简单的函数,不要去写文档字符串,写一个函数
比如说求和函数,那你就写个求和,简单注释就可以了,这是我们文档字符串
关于python的编码规范pep8呢,今天我就给大家介绍到这,其实还有一些其他的规范,
我只是挑了一些重要的,而且大家在刚开始学的时候应该可以关注到的一些规范
如果大家感兴趣的话,建议大家搜一下pep8标准,
好,今天的课就给大家上到这,再见!!!
-课程简介
--课程简介
-A 课程视频(算数操作符及表达式)
--绪论
-B 课程视频(变量及赋值)
--变量
--项目提交
-C 辅助视频(计算机结构、Python开发环境安装)
-D 辅助视频(如何提交项目)
--项目提交
-第0周--小测验
-本周项目:"我喜欢Python"
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
--项目提交
-A 课程视频(函数)
--函数
--其它操作符
--随机函数
-B 课程视频(逻辑及表达式)
--逻辑值和比较
--条件
--编程技巧
-第1周--小测验
-本周项目:“老虎杠子鸡虫”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(Python交互式应用)
--事件驱动编程
--按钮
-B 课程视频(输入框、全局变量)
--输入框
--编程技巧
-第2周--小测验A
-第2周--小测验B
-本周项目:猫咪藏在哪个房间
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(画布绘图)
--画布和图形绘制
--字符串处理
--图片和音效
-B 课程视频(计时器)
--计时器
--交互式绘图
--“神奇时钟”游戏
--编程技巧
-第3周--小测验A
-第3周--小测验B
-本周项目:“神奇时钟”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(列表)
--列表
--键盘输入
--碰撞和反射
-B 课程视频(键盘控制)
--速度控制
--运动
--编程技巧
--“桌上冰球”游戏
-第4周--小测验A
-第4周--小测验B
-本周项目:“桌上冰球”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(鼠标输入、列表进阶)
--鼠标输入
--Video
--Video
--Video
-B 课程视频(字典和图片)
--Video
--Video
--Video
--Video
-第5周--小测验A
-第5周--小测验B
-本周项目:“世界杯八强连连看”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类)
--华容道中的类
-B 课程视频(平铺图片)
--平铺图片
--理解对象
--编程技巧
--“华容道”游戏
-第6周--小测验A
-第6周--小测验B
-本周项目:“华容道”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类进阶及文件操作)
--集合
--文件操作
--文字块类
--处理停止的文字块
-B 课程视频(游戏状态控制)
--游戏记分规则
--编程技巧
-第7周--小测验A
-第7周--小测验B
-本周项目:决战三字经
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板
-A、课程视屏(精灵集合)
--Video
--精灵类
--战士类
--编程技巧
-B、课程视屏(动画)
--精灵碰撞
--精灵动画
--编程技巧
--保卫家园游戏
-第8周--小测验
-本周项目:守卫家园
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板