python变量是否在类中-普通常规类也可以判断
枚举类如果是枚举类型,那很简单#!/bin/python3# coding: utf-8from enum import Enumclass Color(Enum):# 为序列值指定value值red = 1green = 2blue = 3red = 1print(red in Color)# Falsetest_color = Color.redprint(test_color in Colo
·
枚举类
如果是枚举类型,那很简单
#!/bin/python3
# coding: utf-8
from enum import Enum
class Color(Enum):
# 为序列值指定value值
red = 1
green = 2
blue = 3
red = 1
print(red in Color)
# False
test_color = Color.red
print(test_color in Color)
# True
#调用枚举成员的 3 种方式 -- Color.red
print(Color.red)
print(Color['red'])
print(Color(1))
#调取枚举成员中的 value 和 name
print(Color.red.value) # 1
print(Color.red.name) # red
#遍历枚举类中所有成员的 2 种方式
for color in Color:
print(color)
'''
Color.red
Color.green
Color.blue
'''
重头戏在非枚举类–普通类
利用vars
可以把对象变成字典
class ColorCode(object):
red = 1
green = 2
blue = 3
# print(red in ColorCode)
# 以上操作报错: Value 'ColorCode' doesn't support membership test
# 所以一般类怎么判断 变量是否在类中呢
for k, v in vars(ColorCode).items():
print("k:{} v:{}".format(k, v))
'''
k:__module__ v:__main__
k:__doc__ v:
vars()的注意点是,这个注释和一些其他东西都会输出
k:red v:1
k:green v:2
k:blue v:3
k:__dict__ v:<attribute '__dict__' of 'ColorCode' objects>
k:__weakref__ v:<attribute '__weakref__' of 'ColorCode' objects>
'''
int_value = 1
valid = False
for flag_value in vars(ColorCode).values():
if int_value == flag_value:
valid = True
print('value in Class')
break
# value in Class
test_color_2 = 'red'
if test_color_2 in vars(ColorCode).keys():
print(test_color_2)
print('name in Class')
'''
red
name in Class
'''
int_value = 4
if int_value not in vars(ColorCode).values():
print('value not in Class')
'''
value not in Class
'''
参考

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)