集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都python培训班哪个好?python编程规范

发布者: 成都达内     浏览次数:     发布时间:2020-07-15 10:11:19

成都python培训班哪个好?python编程规范缩进换行Imports 导入模块级的“呆”名表达式和语句中的空格其他建议注释命名约定公共和内部的接口编程建议。...

  python编程规范缩进换行Imports 导入模块级的“呆”名表达式和语句中的空格其他建议注释命名约定公共和内部的接口编程建议

  缩进

  每一级缩进使用4个空格

  续行应该与其包裹元素对齐,要么使用括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐

  用挂行缩进时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行

  # 与左括号对齐 foo = long_function_name(var_one, var_two, var_three, var_four) # 用更多的缩进来与其他行区分 def long_function_name( var_one, var_two, var_three, var_four): print(var_one) # 挂行缩进应该再换一行 foo = long_function_name( var_one, var_two, var_three, var_four) # 在条件判断的语句添加额外的缩进 if (this_is_one_thing and that_is_another_thing): do_something()

  空格是首选的缩进方式,直接禁止使用tab键

  换行

  # 推荐:运算符和操作数很容易进行匹配 income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest)

  顶层函数和类的定义,前后用两个空行隔开。

  类里的方法定义用一个空行隔开。

  相关的功能组可以用额外的空行(谨慎使用)隔开。

  Imports 导入

  导入总是位于文件的顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前。

  导入应该按照以下顺序分组:

  标准库导入

  相关第三方库导入

  本地应用/库特定导入

  你应该在每一组导入之间加入空行。

  推荐使用绝对路径导入

  避免通配符的导入(from import *)

  模块级的“呆”名

  “呆名“(名字里有两个前缀下划线和两个后缀下划线)必须出现在除文档字符串之外的其他代码之前。

  """This is the example module. This module does stuff. """ from __future__ import barry_as_FLUFL __all__ = ['a', 'b', 'c'] __version__ = '0.1' __author__ = 'Cardinal Biggles' import os import sys

  表达式和语句中的空格

  在下列情况下,避免使用无关的空格:

  紧跟在小括号,中括号或者大括号后

  紧贴在逗号、分号或者冒号之前

  紧贴在函数参数、索引、切片的左括号之前

  Yes: spam(ham[1], {eggs: 2}) No: spam( ham[ 1 ], { eggs: 2 } ) Yes: if x == 4: print x, y; x, y = y, x No: if x == 4 : print x , y ; x , y = y , x Yes: spam(1) No: spam (1) Yes: dct['key'] = lst[index] No: dct ['key'] = lst [index]

  其他建议

  避免在尾部添加空格。

  总是在二元运算符两边加一个空格:赋值(=),增量赋值(+=,-=),比较(==,<,>,!=,<>,<=,>=,in,not,in,is,is not),布尔(and, or, not)。

  如果使用具有不同优先级的运算符,请考虑在具有最低优先级的运算符周围添加空格。有时需要通过自己来判断;但是,不要使用一个以上的空格,并且在二元运算符的两边使用相同数量的空格。

  在制定关键字参数或者默认参数值的时候,不要在=附近加上空格。

  功能型注释应该使用冒号的一般性规则,并且在使用->的时候要在两边加空格。

  # √ i = i + 1 submitted += 1 x = x*2 - 1 hypot2 = x*x + y*y c = (a+b) * (a-b) def complex(real, imag=0.0): return magic(r=real, i=imag) # × def complex(real, imag = 0.0): return magic(r = real, i = imag)

  注释

  若注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,且每句话结束有个句号。

  在句尾结束的时候应该使用两个空格。

  块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。

  有节制地使用行内注释。行内注释是与代码语句同行的注释。行内注释和代码至少要有两个空格分隔。注释由#和一个空格开始。

  多行文档说明使用的结尾三引号应该自成一行。

  """Return a foobang Optional plotz says to frobnicate the bizbaz first. """

  对于单行的文档说明,尾部的三引号应该和文档在同一行。

  命名约定

  类名首字母大写

  函数名应小写,若想提高可读性,可用下划线分隔

  始终要将 self 作为实例方法的的第一个参数

  始终要将 cls 作为类静态方法的第一个参数

  如果函数的参数名和已有的关键词冲突,在最后加单一下划线比缩写或随意拼写更好。因此 class_ 比 clss 更好。(也许最好用同义词来避免这种冲突)

  使用下划线分隔小写单词以提高可读性

  常量通常定义在模块级,通过下划线分隔的全大写字母命名。例如: MAX_OVERFLOW 和 TOTAL

  公共和内部的接口

  模块应该使用__all__属性显式地在它们的公共API中声明名称。将__all__设置为空列表表示模块没有公共API。

  即使通过__all__设置过,内部接口(包,模块,类,方法,属性或其他名字)依然需要单个下划线前缀。

  编程建议

  和像None这样的单例对象进行比较的时候应该始终用 is 或者 is not,永远不要用等号运算符

  始终使用def表达式,而不是通过赋值语句将lambda表达式绑定到一个变量上

  # √ def f(x): return 2*x # × f = lambda x: 2*x

  返回的语句保持一致。函数中的返回语句都应该返回一个表达式,或者都不返回。如果一个返回语句需要返回一个表达式,那么在没有值可以返回的情况下,需要用 return None 显式指明,并且在函数的最后显式指定一条返回语句(如果能跑到那的话)。

  # √ def foo(x): if x >= 0: return math.sqrt(x) else: return None def bar(x): if x < 0: return None return math.sqrt(x) # × def foo(x): if x >= 0: return math.sqrt(x) def bar(x): if x < 0: return return math.sqrt(x)

  使用字符串方法代替字符串模块

  使用 ”.startswith() 和 ”.endswith() 代替通过字符串切割的方法去检查前缀和后缀

  对象类型的比较应该用isinstance()而不是直接比较type

  正确: if isinstance(obj, int): 糟糕: if type(obj) is type(1):

  不要用 == 去和True或者False比较

  正确: if greeting: 糟糕: if greeting == True: 更糟: if greeting is True:

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56