@@ -5,7 +5,7 @@
|
||||
----------
|
||||
问题
|
||||
----------
|
||||
你想读取一个XML文档,对它最一些修改,然后将结果写回XML文档。
|
||||
你想读取一个XML文档,对它做一些修改,然后将结果写回XML文档。
|
||||
|
||||
----------
|
||||
解决方案
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
而 ``binascii`` 模块中的函数大小写都能处理。
|
||||
|
||||
还有一点需要注意的是编码函数所产生的输出总是一个字节字符串。
|
||||
如果想强制以Unicode形式输出,你需要增加一个额外的界面步骤。例如:
|
||||
如果想强制以Unicode形式输出,你需要增加一个额外的解码步骤。例如:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
||||
@@ -80,6 +80,6 @@ Python并不会真的阻止别人访问内部名称。但是如果你这么做
|
||||
|
||||
lambda_ = 2.0 # Trailing _ to avoid clash with lambda keyword
|
||||
|
||||
这里我们并不使用单下划线前缀的原因是它避免误解它的使用初衷
|
||||
(如使用单下划线前缀的目的是为了防止命名冲突而不是指明这个属性是私有的)。
|
||||
这里我们并不使用单下划线前缀的原因是避免误解它的使用初衷
|
||||
(如使用单下划线后缀的目的是为了防止命名冲突而不是指明这个属性是私有的)。
|
||||
通过使用单下划线后缀可以解决这个问题。
|
||||
|
||||
@@ -110,7 +110,7 @@ property的一个关键特征是它看上去跟普通的attribute没什么两样
|
||||
<function Person.first_name at 0x1006a62e0>
|
||||
>>>
|
||||
|
||||
通常来讲,你不会直接取调用fget或者fset,它们会在访问property的时候自动被触发。
|
||||
通常来讲,你不会直接去调用fget或者fset,它们会在访问property的时候自动被触发。
|
||||
|
||||
只有当你确实需要对attribute执行其他额外的操作的时候才应该使用到property。
|
||||
有时候一些从其他编程语言(比如Java)过来的程序员总认为所有访问都应该通过getter和setter,
|
||||
|
||||
Reference in New Issue
Block a user