这里有四种不同的存储变量的方法。我试着从一个容易阅读的角度来看,哪种方式是最具蟒蛇式的。
定义方法内部的变量。
class Cat(object):
def __init__(self, color, breed, age):
self.color = color
self.breed = breed
self.age = age
def is_old_cat(self):
OLD_AGE = 15
if self.age > OLD_AGE:
return True
return False
def is_young_cat(self):
YOUNG_AGE = 5
if self.age < YOUNG_AGE:
return True
return False
def is_medium_young(self):
LOW_MEDIUM_AGE = 8
HIGH_MEDIUM_AGE = 12
if LOW_MEDIUM_AGE < self.age < HIGH_MEDIUM_AGE:
return True
return False
在教室里。
class Cat(object):
OLD_AGE = 15
YOUNG_AGE = 5
LOW_MEDIUM_AGE = 8
HIGH_MEDIUM_AGE = 12
def __init__(self, color, breed, age):
self.color = color
self.breed = breed
self.age = age
def is_old_cat(self):
if self.age > self.AGES['OLD_AGE']:
return True
return False
def is_young_cat(self):
if self.age < self.AGES['YOUNG_AGE']:
return True
return False
def is_medium_young(self):
if self.AGES['LOW_MEDIUM_AGE'] < self.age < self.AGES['HIGH_MEDIUM_AGE']:
return True
return False
在教室外面。
OLD_AGE = 15
YOUNG_AGE = 5
LOW_MEDIUM_AGE = 8
HIGH_MEDIUM_AGE = 12
class Cat(object):
def __init__(self, color, breed, age):
self.color = color
self.breed = breed
self.age = age
def is_old_cat(self):
if self.age > AGES['OLD_AGE']:
return True
return False
def is_young_cat(self):
if self.age < AGES['YOUNG_AGE']:
return True
return False
def is_medium_young(self):
if AGES['LOW_MEDIUM_AGE'] < self.age < AGES['HIGH_MEDIUM_AGE']:
return True
return False
在另一个班里。
class Ages:
OLD_AGE = 15
YOUNG_AGE = 5
LOW_MEDIUM_AGE = 8
HIGH_MEDIUM_AGE = 12
class Cat(object):
def __init__(self, color, breed, age):
self.color = color
self.breed = breed
self.age = age
def is_old_cat(self):
if self.age > Ages.OLD_AGE:
return True
return False
def is_young_cat(self):
if self.age < Ages.YOUNG_AGE:
return True
return False
def is_medium_young(self):
if Ages.LOW_MEDIUM_AGE < self.age < Ages.HIGH_MEDIUM_AGE:
return True
return False