正常的函数和变量是公开的(public),可以被直接引用,比如:abcx123PI等;

类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如模块中的的__author____name__就是特殊变量;

类似_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)

小伍
139 声望4 粉丝