python文件打开的默认方式是只读,python以只读方式打开文本文件的参数
有避免这样的假设所有用户都是同意的成年人,因此有责任使用的方法
事情本身正确。
请参阅以下我的更新
@属性的使用非常冗长。例如classclasswithmany attributes 3360
""重构为属性" "
def __init__(a、b、c、d、e)
自我a=a
自我. b=b
自我. c=c
self.d=d
self.e=e
@属性
默认(自己) :
回归自我. a
@属性
默认(自己) :
回归自我. b
@属性
默认(自己) :
回归自我. c
#你得到了这个。它很长
否使用下划线:它是公开可变的。
一次:它是受保护的。
两条下划线这是一个潜在变量。
除了最后一点,这是惯例。如果你真的努力了,你可以用双下划线访问变量。
那我该怎么办?是否要停止在计算机编程语言中使用只读属性?
你看!只读属性装修工救人!@ read _ only _ properties( readonly, forbidden )。
类别我类别(对象) :
def __init__(self,a,b,c):
self.readonly=a
self.forbidden=b
self.ok=c
m=我的班级(1,2,3)).
m.ok=4
#我们可以给m重新赋值。好的
# readonlyaccesstom。只读isok
打印(m.ok,m.readonly)。
打印(这个有效。)
#这会爆炸,并引发属性错误
m。禁止=4
问:只读属性来自哪里?defread_only_properties(*attrs):
defclass_rebuilder(cls):
"班级装修工"
类类(cls):
这是被覆盖的类
def __setattr__(self,name,value):
如果名称不在属性中:
通过
否则如果名称不在自身中。_ _词典_ _:
通过
否则:
raiseattributeerror(无法修改{ } )。格式)(名称) )
超级()。__setattr__(name,value)))))。
返回新类
返回class_rebuilder
更新
我没想到这个答案会这么受关注。令人吃惊的是。这鼓励我做一个能用的包pipinstallread只读属性
在python shell中,in[1]:fromropimportread _ only _ properties
in [2] : @ read _ only _ properties(。类foo:def __init__(self,a,b):self.a=a。self.b=b。
in[3]:f=foo(explode,)ok-to-overwrite))。
在[4]中:f.b=5
In [5]: f.a=boom
- -请参阅
属性错误跟踪(mostrecentcalllast)。
输入() )。
- 1 f.a=boom
/home/oznt/.虚拟NVS/跟踪者/库/python 3.5/站点包/ROP。pyin _ _ setattr _(self,name,name
16次通过
117其他:
- 118 raiseattributeerror(不能碰{ } )。格式(名称) )
119
120超()。__setattr__(名称,值)))。
属性错误:不能接触
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。