正常的函數和變量是公開的(public),能夠被直接引用,好比:abc
,x123
,PI
等;函數
相似__xxx__
這樣的變量是特殊變量,能夠被直接引用,可是有特殊用途,好比模塊中的的__author__
,__name__
就是特殊變量;code
相似_xxx
和__xxx
這樣的函數或變量就是非公開的(private),不該該被直接引用;但Python中並無一種方法能夠徹底限制訪問非公開的函數或變量,不直接引用是一種約定。變量
# 非公開,不該直接引用 def _private_1(name): return 'Hello, %s' % name # 非公開,不該直接引用 def _private_2(name): return 'Hi, %s' % name # 公開,能夠直接引用 def greeting(name): if len(name) > 3: return _private_1(name) else: return _private_2(name)