gpt4 book ai didi

python - 在类中存储变量的最佳 Python 方式

转载 作者:行者123 更新时间:2023-12-01 00:32:02 25 4
gpt4 key购买 nike

这里有 4 种不同的变量存储方式。我试图找出哪种方式最Pythonic,从某种意义上说它很容易阅读。

也许,创建一个外部文件并将所有变量放入其中可能会有所帮助?我不太关心人们是否能够将这些变量访问到其他文件中。这些变量仅用于此类。

<小时/>

定义方法内的变量。

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)内部。

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

最佳答案

如果您仅使用此文件中的枚举,请将它们放在同一文件中。否则,将它们移动到不同的文件。

关于python - 在类中存储变量的最佳 Python 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58107352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com