设为首页 收藏本站
查看: 947|回复: 0

[经验分享] pyhton学习之旅:python命名规范(转载)

[复制链接]

尚未签到

发表于 2018-8-13 09:40:58 | 显示全部楼层 |阅读模式
  文件名
  全小写,可使用下划线
  包
  应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。
  模块
  与包的规范同。如mymodule。
  类
  总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。
  函数&方法
  函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。
  注意:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。
  函数和方法的参数
  总使用“self”作为实例方法的第一个参数。总使用“cls”作为类方法的第一个参数。
  如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。
  全局变量
  对于from M import 导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线。
  注意*:应避免使用全局变量
  变量
  变量名全部小写,由下划线连接各个单词。如color = WHITE,this_is_a_variable = 1
  注意
  1.不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
  2.私有类成员使用单一下划线前缀标识,多定义公开成员,少定义私有成员。
  3.变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。
  常量
  常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。
  异常
  以“Error”作为后缀。
  缩写
  命名应当尽量使用全拼写的单词,缩写的情况有如下两种:
  1.常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
  2.命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
  例如:
  function 缩写为 fn
  text 缩写为 txt
  object 缩写为 obj
  count 缩写为 cnt
  number 缩写为 num,等。
  前导后缀下划线
  一个前导下划线:表示非公有。
  一个后缀下划线:避免关键字冲突。
  两个前导下划线:当命名一个类属性引起名称冲突时使用。
  两个前导和后缀下划线:“魔”(有特殊用图)对象或者属性,例如init或者file。绝对不要创造这样的名字,而只是使用它们。
  注意:关于下划线的使用存在一些争议。
  特定命名方式
  主要是指 xxx 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如
  class Base(object):

  def init(self,>
  self.id =>  self.parent = parent
  def message(self, msgid):
…略
  其中 idparentmessage 都采用了系统保留字命名法。
  附:Google Python命名规范

  module_name, package_name,>  本文转载自https://www.cnblogs.com/wangcp-2014/p/4608265.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-550999-1-1.html 上篇帖子: Python21 软件目录开发规范 下篇帖子: Python10 三级菜单
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表