Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中创建对象期间从一组值中选择变量值_Python - Fatal编程技术网

在Python中创建对象期间从一组值中选择变量值

在Python中创建对象期间从一组值中选择变量值,python,Python,我想为类播放器创建一个实例,如: myPlayer = Player(name="ABc", level="A") 参数级别是一个字符串,可以有以下值'a','B','C','D','E' 如何将level值的用户输入限制为这些特定值?如何在Python中实现这一点 我当前的程序如下所示: class Player: def __init__(self,pname, level): self.pname = pname self.le

我想为类播放器创建一个实例,如:

myPlayer = Player(name="ABc", level="A")
参数级别是一个字符串,可以有以下值
'a','B','C','D','E'

如何将level值的用户输入限制为这些特定值?如何在Python中实现这一点

我当前的程序如下所示:

class Player:          
    def __init__(self,pname, level):
        self.pname = pname
        self.level = level

如果级别无效,则可以引发异常

if level not in "ABCDE":
    raise ValueError('Level must be one of (A, B, C, D, E)')
或者,如果您有权访问python3.4+,则可以使用枚举

import enum

class Level(enum.Enum):
    A, B, C, D, E = range(5)
然后使用枚举对象创建播放器

Player('MyName', Level.B)

如果级别无效,则可以引发异常

if level not in "ABCDE":
    raise ValueError('Level must be one of (A, B, C, D, E)')
或者,如果您有权访问python3.4+,则可以使用枚举

import enum

class Level(enum.Enum):
    A, B, C, D, E = range(5)
然后使用枚举对象创建播放器

Player('MyName', Level.B)

如果级别无效,则可以引发异常

if level not in "ABCDE":
    raise ValueError('Level must be one of (A, B, C, D, E)')
或者,如果您有权访问python3.4+,则可以使用枚举

import enum

class Level(enum.Enum):
    A, B, C, D, E = range(5)
然后使用枚举对象创建播放器

Player('MyName', Level.B)

如果级别无效,则可以引发异常

if level not in "ABCDE":
    raise ValueError('Level must be one of (A, B, C, D, E)')
或者,如果您有权访问python3.4+,则可以使用枚举

import enum

class Level(enum.Enum):
    A, B, C, D, E = range(5)
然后使用枚举对象创建播放器

Player('MyName', Level.B)

最简单的方法是设置匹配。例:

class Player(object):
    _valid_levels = {'A','B','C','D','E'}

    def __init__(self, name, level):
        if level not in Player._valid_levels:
            raise ValueError("Level should be {}, got {}".format(Player._valid_levels, level))
        self.name  = name
        self.level = level

如果用户试图实例化级别不正确的
播放器
,则会引发
ValueError
。注意这是区分大小写的

最简单的方法是设置匹配。例:

class Player(object):
    _valid_levels = {'A','B','C','D','E'}

    def __init__(self, name, level):
        if level not in Player._valid_levels:
            raise ValueError("Level should be {}, got {}".format(Player._valid_levels, level))
        self.name  = name
        self.level = level

如果用户试图实例化级别不正确的
播放器
,则会引发
ValueError
。注意这是区分大小写的

最简单的方法是设置匹配。例:

class Player(object):
    _valid_levels = {'A','B','C','D','E'}

    def __init__(self, name, level):
        if level not in Player._valid_levels:
            raise ValueError("Level should be {}, got {}".format(Player._valid_levels, level))
        self.name  = name
        self.level = level

如果用户试图实例化级别不正确的
播放器
,则会引发
ValueError
。注意这是区分大小写的

最简单的方法是设置匹配。例:

class Player(object):
    _valid_levels = {'A','B','C','D','E'}

    def __init__(self, name, level):
        if level not in Player._valid_levels:
            raise ValueError("Level should be {}, got {}".format(Player._valid_levels, level))
        self.name  = name
        self.level = level

如果用户试图实例化级别不正确的
播放器
,则会引发
ValueError
。注意这是区分大小写的

请注意,
Enum
解决方案本身实际上并没有强制执行级别限制,它只是使遵循它更不容易出错。请注意,
Enum
解决方案本身并没有强制执行级别限制,它只是使遵循级别限制更不容易出错。请注意,
Enum
解决方案本身并没有强制执行级别限制,它只是使遵循级别限制更不容易出错。请注意,
Enum
解决方案本身并没有强制执行级别限制,它只是使遵循级别限制更不容易出错。您仍然需要对照某些内容进行检查。谢谢:)。很好。谢谢:)。很好。谢谢:)。很好。谢谢:)。很好。