变量
#!-*-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
推荐
#推荐
#一行列数 : PEP 8 规定为 79 列,这有些苛刻了。根据自己的情况,比如不要超过满屏时编辑器的显示列数。这样就可以在不动水平游标的情况下,方便的查看代码。
#一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。
#一个类 : 不要超过 200 行代码,不要有超过 10 个方法。
#一个模块 不要超过 500 行。
# easy_install pep8
# pep8 -r --ignoire E501 Test.py
# 这个命令行的意思是,重复打出错误,并且忽略 501 错误(代码超过 79 行)。