【Python】字典或者对象类型中键或者属性的获取与存在性判断
admin
2023-07-17 11:23:34
0
# 定义测试用对象A,字典B
class A(object):
    length = 10

B ={"length":10}

# 判断对象是否含有某种属性
# 推荐这种方式,更Pythonic
try:
    x = A.lengt
except AttributeError:
    print("does not have {}".format("lengt"))

# 这种low一点
if "leng" in dir(A):
    print(A.length)
else:
    print("does not have {}")

# 或者这种方式
try:
    x = getattr(A,"length")
except AttributeError:
    print("does not have {}".format("lengt"))

# 判断字典是否具有某个键:
try:
     x = B['ssss']
except KeyError:
   print("Not have")

# 或者
if x in x.keys():
    do something
# 或者
if  x.get('gridman'):
    do something
else 
    print("Not have")

# 获取属性的方式
# 对象
print(getattr(A,"length"))
print(A.length)

print(B.get("length","if not have return DefaultValue"))
print(B['length'])

# 注意
从**kwargs中获取参数值可以等同于从字典中获取的方式

相关内容

热门资讯

月竹里取得混凝土速凝剂研磨装置... 国家知识产权局信息显示,湖北月竹里建材有限公司取得一项名为“混凝土速凝剂研磨装置”的专利,授权公告号...
千帆卫星迎重要里程碑:数量增至... 上证报中国证券网讯(记者 宋薇萍)垣信卫星6月5日披露,5日14时34分,垣信卫星在海南国际商业航天...
杭州泰威盾智能科技有限公司 杭州泰威盾智能科技有限公司是一家专注于智慧用电断路器领域的技术型企业,主营智能用电安全监测与保护系统...
中卫市在第40届宁夏青少年科技... 中卫市在第40届宁夏青少年科技创新大赛中成绩斐然 5月15日至17日,由自治区科协、教育厅、团委、...
高通宣布车端人工智能Claw生... 记者 花子健 6月5日,电厂获悉,在2026高通汽车技术与合作峰会上,高通技术公司宣布与诚迈科技、车...
字节跳动李亮回应豆包蘑菇识别争... 观点网讯:6月5日,字节跳动副总裁李亮针对“豆包误判蘑菇导致用户中毒”一事作出回应,称AI目前还在发...
一加 Turbo 6X系列官宣... 最近,关于一加后续新品的消息陆续出现了多份。 今天,博主@数码闲聊站 的爆料中提到息:“10000m...
欧企仓促逃离古巴,“美国制裁面... 【文/观察者网 柳白】特朗普政府不断收紧针对古巴的制裁枷锁,作为古巴主要外资来源地的欧洲被迫卷入风波...
潍坊市检验检测中心举办科技周实... 为积极响应2026年市场监管科技周“奋进十五五 科技谱新篇”的主题号召,近日,潍坊市检验检测中心成功...
新品 | 斯迈得3030Mol... 据QYResearch调研数据显示,2025年全球美容医学光疗灯与设备市场规模约为10.08亿美元,...