本文共 5442 字,大约阅读时间需要 18 分钟。
关于面向过程和面向对象,下列说法错误的是(B).
关于类和对象的关系,下列描述正确的是(D).
构造方法的作用是(C).
构造方法是类的一个特殊方法,Python中它的名称为(C).
Python类中包含一个特殊的变量(A),它表示当前对象自身,可以访问类的成员.
阅读下面的代码,并分析假设文件“D:\test.txt”不存在的情况下两段代码可能发生的问题。
try: fp = open(r'd:\test.txt') print('Hello world!', file=fp) finally: fp.close() 如果文件不存在,会抛出FileNotFoundError,因为无法打开文件。
try: fp = open(r'd:\test.txt', 'a+') print('Hello world!', file=fp) finally: fp.close() 如果文件不存在,open会自动创建该文件,因此不会抛出异常,代码可以正常运行。
写出下面代码的优化版本,提高运行效率。
x = list(range(500)) for item in x: t = 5**5 print(item + t)
x = list(range(500)) t = 5**5for item in x: print(item + t)
写出下面代码的运行结果。
def Sum(a, b=3, c=5): return sum([a, b, c]) print(Sum(a=8, c=2)) print(Sum(8)) print(Sum(8, 2))
阅读下面的程序,判断其是否可以正常运行,如果可以运行则写出执行结果,如果不能运行则写出理由。
class Test: def __init__(self, value): self.__value = value @property def value(self): return self.__value t = Test(3) t.value = 5 print(t.value)
value被定义为只读属性,无法修改其值。代码:
import revalue = []print("请输入:") items = [x for x in input().split(',')]for p in items: if len(p) < 6 or len(p) > 12: continue if not re.search("[a-z]", p): continue if not re.search("[0-9]", p): continue if not re.search("[A-Z]", p): continue if not re.search("[$#@]", p): continue if re.search("\s", p): continue value.append(p)print(",".join(value)) 代码:
x = input("x=")l = x.split()d = {}for i in l: d[i] = d.get(i, 0) + 1l2 = sorted(d)for i in l2: print(f"{i}: {d[i]}")l = []for i in range(3): x = int(input("x=")) l.append(x)l.sort()print(" ".join(map(str, l))) 代码:
class Person: def __init__(self, name, weight): self.name = name self.weight = weight def __str__(self): return f'我的名字叫 {self.name} 体重是 {self.weight:.2f}' def run(self): print(f'{self.name} 爱跑步') self.weight -= 0.5 def eat(self): print(f'{self.name} 吃东西') self.weight += 1xx = Person('小明', 75.0)xx.run()xx.eat()print(xx)xm = Person('小美', 45.0)xm.run()xm.eat()print(xm)print(xx) 代码:
class Home: def __init__(self, home_type, area): self.home_type = home_type self.area = area self.freearea = area self.jiaju = [] def __str__(self): return ('户型:%s\n总面积:%.2f\n剩余面积:%.2f\n家具名:%s' %(self.home_type, self.area, self.freearea, self.jiaju)) def add_jiaju(self, itm): if itm.area > self.freearea: print('%s的面积太大,无法添加!'%(itm.name)) return self.jiaju.append(itm.name) self.freearea -= itm.areaclass jiaju: def __init__(self, name, area): self.name = name self.area = area def __str__(self): return f'[{self.name}]:占地 {self.area:.2f} 平米'bed = jiaju("床", 4)chest = jiaju("衣柜", 2)table = jiaju("餐桌", 1.5)print(bed)print(chest)print(table)myhome = Home('三室一厅', 100)myhome.add_jiaju(bed)myhome.add_jiaju(chest)myhome.add_jiaju(table)print(myhome) 代码:
class Gun(object): def __init__(self, model): self.model = model self.bullet_count = 0 def add_bullet(self, count): self.bullet_count += count def shoot(self): if self.bullet_count <= 0: print('%s没有子弹' % self.model) else: self.bullet_count -= 1 print('%s的子弹数量为%s' % (self.model, self.bullet_count))class Soldier(object): def __init__(self, name): self.name = name self.gun = None def fire(self): if self.gun is None: print('%s没有枪' % self.name) else: self.gun.add_bullet(5) self.gun.shoot()ak47 = Gun('AK47')ak47.add_bullet(10)ak47.shoot()ruien = Soldier('RE')ruien.gun = ak47ruien.fire() 转载地址:http://igvt.baihongyu.com/