在Python中,在定义类时,可以在新属性定义中使用先前定义的属性,而无需进一步引用。
class Parent(object):
a_value = 'a'
another_value = 'b'
all_values = (a_value, another_value)
是否可以在派生类中执行相同操作但仍可访问其中一些父属性?
我尝试过这样的事情:
class Child(Parent):
a_child_value = 'c'
all_values = (a_value, another_value, a_child_value)
但它似乎没有考虑到Parent继承并给我以下错误:
NameError: name 'a_value' is not defined
那么,有没有办法表明a_value
和another_value
应该来自父类而不是当前的上下文?
在我的情况下,特别是值不是字符串,而是预编译的正则表达式,所以我希望每次创建新实例时都不必在__init__
方法中创建它们。
答案 0 :(得分:1)
您需要class Child(Parent):
a_child_value = 'c'
all_values = (Parent.a_value, Parent.another_value, a_child_value)
才能获得您追求的价值。 a_child是一个静态属性,因此附加到类本身而不是局部变量。
echo 'foo bar' | zip -@ /path/to/zipfile.zip
如果它是从某个东西派生的,你必须输入它的派生内容。
答案 1 :(得分:1)
$sqlq="SELECT DISTINCT daerah FROM kampung WHERE negeri='$negeri'";
$result_set=mysqli_query($conn, $sqlq);
while($row=mysqli_fetch_array($result_set, MYSQLI_ASSOC))
{
echo "<option value=".$row['daerah'].">".$row['daerah']."</option>";
}