ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Python中的枚举类

Python中的枚举类

提问:

下面这段 python 代码会输出什么样的结果?True还是False

class DataSource(Enum):akshare = "akshare"alpaca = "alpaca"alphavantage = "alphavantage"baostock = "baostock"binance = "binance"ccxt = "ccxt"iexcloud = "iexcloud"joinquant = "joinquant"quandl = "quandl"quantconnect = "quantconnect"rqdata = "rqdata"ricequant = "ricequant"tushare = "tushare"wrds = "wrds"yahoofinance = "yahoofinance"print('tushare' == DataSource.tushare)

召唤豆包!

ee13d139acc81b8e1d25c2b79edc1608

False

解释:

  • DataSource 是一个 Enum(枚举)类,DataSource.tushare 是该枚举类的一个成员对象,而非字符串。
  • 比较 'tushare' == DataSource.tushare 时,是在比较字符串枚举成员对象,两者类型不同,因此结果为 False

正确的比较方式:

若要判断枚举成员的值是否为 'tushare',应使用枚举成员的 .value 属性:

print('tushare' == DataSource.tushare.value)  # 输出:True
返回列表