测试你的Python 水平----5

1、问:面向对象编程的基本特性有哪些?

答:抽象,封装,继承和隐藏。


2、问:请简述python垃圾回收机制?
答:
(1)引用计数:python对于每一个对象都维护一个对指向该对象的引用的计数;当一个对象的引用计数变为0,解释器释放该对象;
(2) 循环垃圾收集:python还包含一个循环垃圾回收器,用于释放循环引用的对象。

3、 问:请使用python找出下面两个列表的中相同的元素,要求输出为一个列表:
  A=[1,25,32,42,77,68,30,23,55,76,102,43,78,79,3,7,6]
  B=[2,34,23,67,68,26,43,3,32,103,45,98,99,33,20,19,4,22]
答:
setA=set(A)
setB=set(B)
print list(setA.intersection(setB))

4、 问:python中内置函数str()和repr()的区别?
答:repr()输出一个对象的“官方”字符串表示,所谓“官方”指绝大多数情况下能够用eval()计算重新得到该对象;str()输出一个对象的“通俗”字符串表示,所谓“通俗”指能够被print友好打印;很多情况下,这两个函数的输出是一样的。

5、 问:xml文件解析,config.xml文件如下:
<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<pc name=’SVNServer’>

<cpu>Intel(R) core(TM) i5</cpu>

<memory>2.0G</memory>

<harddisk>500G</harddisk>

<os>windows 7 sp1</os>

</pc>


<pc name=’WebServer’>

<cpu>Intel(R) core(TM) i7</cpu>

<memory>4.0G</memory>

<harddisk>2T</harddisk>

<os>windows server 2008 R2</os>

</pc>

</configuration>


读取显示’WebServer’这台PC主机的配置信息。

答:


from xml.dom import minidom

#定义参数
filename="config.xml"
pcName="WebServer"
pcInfo={}

# 使用minidom解析 XML 文档
doc = minidom.parse(filename)
root = doc.documentElement

# 获取节点为PC的信息集合
pcCollection = root.getElementsByTagName("pc")

#提取

for pc in pcCollection:

  if pc.hasAttribute("name") and pc.getAttribute("name")==pcName:

      #cpu

      cpu = pc.getElementsByTagName('cpu')[0]

      pcInfo["cpu"] = cpu.childNodes[0].data

      #memory

      memory = pc.getElementsByTagName('memory')[0]

      pcInfo["memory"] = memory.childNodes[0].data

      #harddisk

      harddisk = pc.getElementsByTagName('harddisk')[0]

      pcInfo["harddisk"] = harddisk.childNodes[0].data

      #os

      os = pc.getElementsByTagName('os')[0]

      pcInfo["os"] = harddisk.childNodes[0].data


#输出

for item in pcInfo:

   print item,"->",pcInfo[item]


转载于:https://my.oschina.net/jastme/blog/506687

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值