介绍Python设置属性值方法setattr()和判断变量是否存在的方法

以属性名为变量的方式给一个对象添加属性

使用 setattr 方法

obj = SomeClass()
key = 'key_name'
val = 'key_value'
setattr(obj, key, val)
print(obj.key_name)

示例:给报文字段赋值

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from scapy.all import *
layer = {"ether":"dst='33:33:00:01:00:02',src='00:0c:29:d9:98:c7'"}
Ethernet_field = layer.setdefault('ether')
ethernet = Ether(type=0x86dd)
fields = dict(((lambda a:(a[0].strip("'"),a[1].strip("'"))) (field.split('=')) for field in Ethernet_field.split(',')))
for key, val in fields.items():setattr(ethernet, key, val)
ethernet.show()

out:

>>> ethernet.show()
###[ Ethernet ]###dst       = 33:33:00:01:00:02src       = 00:0c:29:d9:98:c7type      = IPv6

判断变量是否存在

三种方法:

  • locals().keys()
  • dir()
  • vars()
ethernet = 'Ether'
dhcpv6 = 'dhcpv6_solicit'
message = ['ethernet','ip','udp','dhcpv6']
del_message = []
for layer_i, value in enumerate(message):             if message[layer_i] not in locals().keys():del_message.append(value)
for m in del_message:message.remove(m)
print(f'message:{message}')

运行结果:

C:\Users\DELL>python3 test_locals.py
message:['ethernet', 'dhcpv6']

Python基础教程:属性值设置和判断变量是否存在相关推荐

  1. python平稳性检验_时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python)...

    时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python) 发布时间:2019-01-10 00:02, 浏览次数:620 , 标签: Python 导读: 本文介绍了数据平稳 ...

  2. python input与返回值-Python基础教程之输入输出和运算符

    在我们python中输入输出函数在程序中运用较为广泛,运算符常用于if判断的条件中,今天我来给大家讲解这两项概念. input输入和print输出 input()输入函数 从标准输入设备(一般指键盘) ...

  3. python基础教程pdf百度云-《Python基础教程(第3版)》PDF高清版

    <python基础教程第3版>PDF高清版  百度云资源,内涵教材源代码 百度云链接:百度云盘 提取码:7r7o 编辑推荐 久负盛名的Python入门经典,是非常优秀的基础教程,深入浅出, ...

  4. python基础教程第三版怎么样-Python基础教程(第三版)(七)再谈抽象

    菜鸡的学习笔记. 7.1 对象魔法 多态:可对不同类型的对象执行相同的操作,但是操作将随对象所属的类型而异: 封装:对外隐藏对象内部工作原理的细节: 继承:可基于通用类创建出专用类. 按作者的意思,多 ...

  5. python基础教程笔记—即时标记(详解)

    最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...

  6. python基础教程-《Python基础教程(第3版)》PDF高清版

    <python基础教程第3版>PDF高清版  百度云资源,内涵教材源代码 百度云链接:百度云盘 提取码:7r7o 编辑推荐 久负盛名的Python入门经典,是非常优秀的基础教程,深入浅出, ...

  7. python基础教程第三版-Python基础教程(第三版)(七)再谈抽象

    菜鸡的学习笔记. 7.1 对象魔法 多态:可对不同类型的对象执行相同的操作,但是操作将随对象所属的类型而异: 封装:对外隐藏对象内部工作原理的细节: 继承:可基于通用类创建出专用类. 按作者的意思,多 ...

  8. python基本代码教程-Python基础教程(第3版)

    Python基础教程(第3版) 第2版前言 第1版前言 引言 1 快速上手:基础知识 1.1 交互式解释器 1.2 算法是什么 1.3 数和表达式 十六进制.八进制和二进制 1.4 变量 1.5 语句 ...

  9. python基础教程免费下载-Python基础教程第三版PDF电子书免费下载

    <Python基础教程(第3版)>是2018年人民邮电出版社出版的图书,作者是[挪]Magnus Lie Hetland.该书全面介绍了Python的基础知识和基本概念,包括列表.元组.字 ...

最新文章

  1. 小米note3无线显示电脑连接服务器,小米note3如何连接电脑 小米note3连接电脑没反应怎么办...
  2. spark大批量读取Hbase时出现java.lang.OutOfMemoryError: unable to create new native thread
  3. ping: sendto: Network is unreachable
  4. 绝大部分项目都是跟金融创新、互联网、移动互联网、社区经济、分享经济、互联网金融有关...
  5. 小甲鱼python全部视频_小甲鱼全套教程之Python系列视频教程
  6. python技巧 pdf-求教使用python库提取pdf的方法?
  7. 微课系列(6):Python关键字else的三种用法
  8. 永大电梯小键盘服务器显示黑色条杠,永大电梯小键盘操作手顺
  9. 随笔2010.01.25
  10. Charles使用笔记
  11. windows开机自启exe程序bat
  12. Linux 配置No module named enchant
  13. JustinMind原型制作工具
  14. HDU 6627 equation(模拟,分类讨论)
  15. 男神网络红人莫小涛2022生活百度图片大全
  16. OracleBBED工具说明
  17. 快速入门EasyX图形编程
  18. 2.14情人节还是情人劫?海南大宗开户有返佣吗
  19. rosbag录制问题:/use_sim_time set to true and no clock published. Still waiting for valid time...
  20. 等价关系运算c语言大作业,离散数学C语言上机题.doc

热门文章

  1. 借evdev之力 Linux全局热键魔改造
  2. 引入JQuery提示:Uncaught ReferenceError: $ is not defined
  3. hdu1978(递推dp)
  4. 【过程改进】 windows下jenkins常见问题填坑
  5. 关于SharePoint 2010体系架构的几个话题
  6. Javascript自由拖拽类
  7. new 开始转向PHP
  8. mq日志怎么看_RocketMQ的消息是怎么丢失的
  9. 【经济法常识转摘】借款人逾期不还钱,利率如何确定?
  10. SAP ABAP 异常处理