我试图找到一种方法来约束python中的变量值。例如,假设我有一个可变门,它只能采用两个值:打开或关闭。就像是
door = 'open' || 'closed'
Run Code Online (Sandbox Code Playgroud)
然后,当我在某处使用门时,我确信不需要检查这些值,因为断言门就是打开或关闭。
也许上课?
class Door(object):
open = 'open'
closed = 'closed'
def value(v=True, self):
if v return open else return closed
Run Code Online (Sandbox Code Playgroud)
但是,如果变量可以接受两个以上的值,该怎么办(我在这里被布尔值的本质所保存)?你会怎么做?
考虑使用enum:
import enum
class Door(enum.Enum):
open = 'open'
closed = 'closed'
d = Door('open')
print(d.value)
d = Door('closed')
print(d.value)
d = Door('is not a valid Door')
print(d.value)
Run Code Online (Sandbox Code Playgroud)
输出:
open
closed
ValueError: 'is not a valid Door' is not a valid Door
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |