所有基础文章修改完毕
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
# 五、作用域 #
|
||||
|
||||
学习过 Java 的同学都知道,Java 的类里面可以给方法和属性定义公共的( public )或者是私有的 ( private ),这样做主要是为了我们希望有些函数和属性能给别人使用或者只能内部使用。 通过学习 Python 中的模块,其实和 Java 中的类相似,那么我们怎么实现在一个模块中,有的函数和变量给别人使用,有的函数和变量仅仅在模块内部使用呢?
|
||||
学习过 Java 的同学都知道,Java 的类里面可以给方法和属性定义公共的( public )或者是私有的 ( private ),这样做主要是为了我们希望有些函数和属性能给别人使用或者只能内部使用。
|
||||
|
||||
在 Python 中,是通过 `_` 前缀来实现的。正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,ni12,PI等;类似`__xxx__`这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的 `__name__` 就是特殊变量,还有 `__author__` 也是特殊变量,用来标明作者。注意,我们自己的变量一般不要用这种变量名;类似 `_xxx` 和 `__xxx` 这样的函数或变量就是非公开的(private),不应该被直接引用,比如 `_abc` ,`__abc` 等;
|
||||
通过学习 Python 中的模块,其实和 Java 中的类相似,那么我们怎么实现在一个模块中,有的函数和变量给别人使用,有的函数和变量仅仅在模块内部使用呢?
|
||||
|
||||
注意,这里是说不应该,而不是不能。因为 Python 种并没有一种方法可以完全限制访问 private 函数或变量,但是,从编程习惯上不应该引用 private 函数或变量。
|
||||
在 Python 中,是通过 `_` 前缀来实现的。正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,ni12,PI等;类似`__xxx__`这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的 `__name__` 就是特殊变量,还有 `__author__` 也是特殊变量,用来标明作者。
|
||||
|
||||
注意,我们自己的变量一般不要用这种变量名;类似 `_xxx` 和 `__xxx` 这样的函数或变量就是非公开的(private),不应该被直接引用,比如 `_abc` ,`__abc` 等;
|
||||
|
||||
**这里是说不应该,而不是不能。因为 Python 种并没有一种方法可以完全限制访问 private 函数或变量,但是,从编程习惯上不应该引用 private 函数或变量。**
|
||||
|
||||
比如:
|
||||
|
||||
@@ -48,4 +52,6 @@ DiamondVIP2
|
||||
|
||||
------------------------
|
||||
|
||||
最后扯淡,欢迎加我微信:`androidwed`,进入微信Python讨论群,一起学习讨论。现在微信群只有50几个人.
|
||||
最后扯淡,欢迎加我微信:`thinktoday2019`, 进入微信 Python 讨论群。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user