Python3中关于下划线变量和命名的总结

变量

#!-*-coding:utf-8-*-
#__author__ = 'ecaoyng'


# 

# 变量
#_xxx,单下划线开头的变量,标明是一个受保护(protected)的变量,原则上不允许直接访问,但外部类还是可以访问到这个变量。
#这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。

class Student:
    def __init__(self, name, age):
        self._name = name
        self.age=age

stu=Student('Alvin','30')
#当要输入_name时,pycharm不会进行_name的提示
print(stu._name)
#当要显示age时,pycharm会进行age的提示
print(stu.age)
#output:
#Alvin
#30



# __xxx,双下划线开头的,表示的是私有类型(private)的变量。
# 只能是允许这个类本身进行访问了, 连子类也不可以.
# 用于命名一个类属性(类变量),调用时名字被改变
#(在类Student内部,__name变成_Student__name,如 self._Student__name)
# 双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。仍然可以通过_Student__name来访问__name变量:
class Person:
    def __init__(self, name):
        self.__name=name

per=Person('Young')
print(per._Person__name)
#output: Young



#__xxx__,以双下划线开头,并且以双下划线结尾的,是内置变量.
# 内置变量是可以直接访问的,不是 private 变量,如__init__,__import__或是__file__。
# 所以,不要自己定义这类变量


#xxx_,单下划线结尾的变量一般只是为了避免与 Python 关键字的命名冲突

#USER_CONSTANT,大写加下划线,对于不会发生改变的全局变量,使用大写加下划线

函数



#函数
#总体而言应该使用,小写和下划线。但有些比较老的库使用的是混合大小写,即首单词小写,之后每个单词第一个字母大写,其余小写。
# 但现在,小写和下划线已成为规范

#私有方法 : 小写和一个前导下划线
#这里和私有变量一样,并不是真正的私有访问权限。
# 同时也应该注意一般函数不要使用两个前导下划线(当遇到两个前导下划线时,Python 的名称改编特性将发挥作用)。特殊函数后面会提及。
class privateC:
    def _secrete(self):
        print('Don\'t test me')
priC=privateC()
priC._secrete()

#特殊方法 : 小写和两个前导下划线,两个后置下划线
#这种风格只应用于特殊函数,比如操作符重载等。
def __add__(self, other):
    return int.__add__(other)

#函数参数 : 小写和下划线,缺省值等号两边无空格
def connect(self, user=None):
    self._user = user


#类
#类总是使用驼峰格式命名,即所有单词首字母大写其余字母小写。
# 类名应该简明,精确,并足以从中理解类所完成的工作。
# 常见的一个方法是使用表示其类型或者特性的后缀,例如:SQLEngine ,MimeTypes
#对于基类而言,可以使用一个 Base 或者 Abstract 前缀


# 不要滥用 *args 和 **kwargs,可能会破坏函数的健壮性

推荐


#推荐
#一行列数 : PEP 8 规定为 79 列,这有些苛刻了。根据自己的情况,比如不要超过满屏时编辑器的显示列数。这样就可以在不动水平游标的情况下,方便的查看代码。
#一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。
#一个类 : 不要超过 200 行代码,不要有超过 10 个方法。
#一个模块 不要超过 500 行。
# easy_install pep8
# pep8 -r --ignoire E501 Test.py
# 这个命令行的意思是,重复打出错误,并且忽略 501 错误(代码超过 79 行)。
上一篇:浅谈二叉树节点删除之道 | 带你学《Java语言高级特性》之四十


下一篇:反爬虫机制