assert
assert
是python中的断言符号,常用方式:
assert 1 == 2, "错误!1不等于2!"
# output:
# AssertionError: 错误!1不等于2!
从中可以看出,assert
后是需要判别的表达式,当表达式为真时,程序继续执行;当表达式为假时,程序直接退出,报的错误就是表达式后面填的字符串。
assert
的使用可以提前将错误显示出来,以免在执行到最后才报错。
@property
@property
广泛应用于类中,目的是为了用简短的代码实现对类内属性的读写权限管理。@property
是将方法转为属性,同时该属性只可读而不可写,避免了调用时更改参数所导致的错误。若需要给属性赋值,则添加setter
即可,具体如下,其中name
仅是可读,而不可写。
class A():
@property
def name(self):
return self.names
a = A()
print a.name # 可以调用
a.name = "name_1" # 错误!!!
可读可以的如下:
class A():
@property
def name(self):
return self.names
@name.setter
def name(self, s):
self.names = s
a = A()
a.name = "name_1" # 正确!
print a.name # 可以调用,输出name_1