python装饰器和python面向对象练习题

今天在上课结束老师突然生活咱们好久没练习python了就布置了3道题可以供大家参考
‘’’

  1. 编写装饰器,为函数加上统计时间的功能

‘’’

import time

def zhuangshiqi(s):

def inner(*x):

a=time.time()

s(*x)

b=time.time()

print(b-a)

return inner()

@zhuangshiqi

def mysum1():

sum = 1

for i in range(9999999):

sum *= i

‘’’
2. 编写装饰器,为函数加上认证的功能
‘’’

def zhuangshiqi(a):

def yanzheng(*x,**y):

zhanghao= input(‘请输入账号:’)

mima= input(‘请输入密码:’)

if zhanghao==‘619864585’ and mima==‘123’:

print(‘账号密码正确’)

a(*x,**y)

else:

print(‘输入错误’)

return yanzheng

@zhuangshiqi

def my():

print(111111)

my()

‘’’
3. 定义一个名为Vehicles 交通工具 的基类 该类中应包含str类型的成员属性brand 商标 和 color 颜色 还应包含对象方法run 行驶在控制台显示“我已经开动了” 和show_info 显示信息
在控制台显示商标和颜色 并编写构造方法初始化其成员属性。 编写Car 小汽车 类继承于Vehicles类 增加int型成员属性seats 座位还应增加成员方法show_car 在控制台显示小汽车的信息 并编写构造方法。
编写Truck 卡车 类继承于Vehicles类 增加float型成员属性load 载重 还应增加成员方法show_truck 在控制台显示卡车的信息 并编写构造方法

父类 :
vehicles :交通工具
属性:brand:商标
color颜色
行为:run行驶
子类:
car:小汽车
属性:member成员
seats座位
行为:show_car添加成员
Truck:卡车
属性:members成员
load载重
行为:shuow_truck添加成员

‘’’
class vehicles(object):
def init(self):
self.bradnd=None
self.color=None
def run(self):
print(‘我已经开动了’)

class Car(vehicles):
def super(self):
self.member=None
self.seats=None
def show_car(self):
print(‘车牌:%s,颜色:%s,成员%d人,座位%d座’%(self.bradnd,self.color,self.member,self.seats))

car=Car()
car.bradnd=‘马自达’
car.color=‘红色’
car.member=2
car.seats=2
car.run()
car.show_car()

class Truck(vehicles):
def super(self):
self.members=None
self.load=None
def show_truck(self):
print(‘车牌:%s,颜色:%s,成员%d人,载重%d吨’ % (self.bradnd, self.color, self.members, self.load))

truck=Truck()
truck.bradnd=‘宝骏’
truck.color=‘银色’
truck.members=7
truck.load=50
truck.run()
truck.show_truck()

猜你喜欢

转载自blog.csdn.net/qq_38636998/article/details/83548781