day23
xml模块
import xml.etree.ElementTree as ET
# 读文件
tree = ET.parse("xmltest.xml")
# 根节点
root_ele = tree.getroot()
# 遍历下一级
for ele in root_ele:
print(ele)
# 全文搜索指定名的子标签
ele.iter("标签名")
# 非全文查找满足条件的第一个子标签
ele.find("标签名")
# 非全文查找满足条件的所有子标签
ele.findall("标签名")
# 读文件
tree = ET.parse("xmltest.xml")
# 根节点
root_ele = tree.getroot()
# 遍历下一级
for ele in root_ele:
print(ele)
# 全文搜索指定名的子标签
ele.iter("标签名")
# 非全文查找满足条件的第一个子标签
ele.find("标签名")
# 非全文查找满足条件的所有子标签
ele.findall("标签名")
# 标签名
ele.tag
# 标签内容
ele.text
# 标签属性
ele.attrib
ele.tag
# 标签内容
ele.text
# 标签属性
ele.attrib
# 修改
ele.tag = "新标签名"
ele.text = "新文本"
ele.set("属性名", "新属性值")
ele.tag = "新标签名"
ele.text = "新文本"
ele.set("属性名", "新属性值")
# 删除
sup_ele.remove(sub_ele)
sup_ele.remove(sub_ele)
# 添加
my_ele= ET.Element('myEle')
my_ele.text = 'new_ele'
my_ele.attrib = {'name': 'my_ele'}
root.append(my_ele)
my_ele= ET.Element('myEle')
my_ele.text = 'new_ele'
my_ele.attrib = {'name': 'my_ele'}
root.append(my_ele)
# 重新写入硬盘
tree.write("xmltest.xml")
tree.write("xmltest.xml")
面向对象编程
关注点是对象,把思维角度从具体操作变成了一个指挥者。
注:对象不是凭空产生,需要我们自己先设计对象,然后再使用它们。
优点:1.无需关注具体实现细节,可以更好关注业务逻辑
2.扩展性提高,维护性高,复用性高
缺点:1.对比面向过程而言,程序需先设计,结构更复杂
2.无法准确预知执行结果
应用场景:对于扩展性要求较高的应用程序
代码中先有类再有对象
#类名称所有首字母大写
class ClassName:
pass
eg.class Student:
#描述特征使用变量(属性)
school = "oldBoy"
#描述技能使用函数(方法)
def say_hi(self):
print("hello i am tiger")
pass
#调用类来获得一个对象
stu1 = Student()
stu1.say_hic()
#1.执行到class关键字就会创建一个名称空间, 并且执行class中的代码,将产生的名字存储到名称空间。
2.class中的代码仅在第一次加载时执行
3.每个对象都会存储所在类的地址,可使用__class__来访问
4.类和对象的名称空间相互独立

浙公网安备 33010602011771号