实验五
task1 class Account: '''一个模拟银行账户的简单类''' def __init__(self, name, account_number, initial_amount): # 构造新账 户 self._name = name self._card_no = account_number self._balance = initial_amount def deposit(self, amount): # 存款 self._balance += amount def withdraw(self, amount): # 提款 self._balance -= amount def info(self): # 打印账户信息 print(f'{self._name}, {self._card_no}, {self._balance}') def get_balance(self): # 返回账户余额 return self._balance # 测试类 a1 = Account('Bob', '5002311', 20000) a2 = Account('Joe', '5006692', 20000) a1.deposit(5000) a1.withdraw(4000) a2.withdraw(10000) a2.withdraw(5000) a1.info() a2.info()

task2 class Account: '''一个模拟银行账户的简单类''' def __init__(self, name, account_number, initial_amount): # 构造新账户 self._name = name self._card_no = account_number self._balance = initial_amount def deposit(self, amount): # 存款 self._balance += amount def withdraw(self, amount): # 提款 self._balance -= amount def info(self): # 打印账户信息 print(f'{self._name}, {self._card_no}, {self._balance}') def get_balance(self): # 返回账户余额 return self._balance # 测试类 def main(): a1 = Account('Bob', '5002311', 20000) a2 = Account('Joe', '5006692', 20000) a1.deposit(5000) a1.withdraw(4000) a2.withdraw(10000) a2.withdraw(5000) a1.info() a2.info()
if __name__=='__main__':
print('模块信息',__doc__)
print('Account类信息:',Account.__doc__)
main()

task2.1 import account # 导入模块 u1 = account.Account('Tom', '5004516', 10000) # 通过'模块名.类名'使用模块 account.py中的类Account u2 = account.Account('Jerry', '5003217', 10000) u1.deposit(5000) u1.info() u2.withdraw(5000) u2.info()

task2.2 from account import Account # 从模块account中导入类Account u1 = Account('Tom', '5004516', 10000) # 通过导入的类名直接使用 u2 = Account('Jerry', '5003217', 10000) u1.deposit(5000) u1.info() u2.withdraw(5000) u2.info()

class Shape: '''形状基类''' def info(self): print('形状基类') class Rect(Shape): ''' 矩形类, 继承自Shape 数据(属性):矩形左上角点的坐标、宽、高 操作(方法): 打印矩形信息,计算面积、周长 ''' def __init__(self, x, y, width, length): # 构造矩形对象 self._x = x self._y = y self._width = width self._length = length def info(self): print(f'矩形左上角顶点坐标: ({self._x}, {self._y})') print(f'矩形宽: {self._width}') print(f'矩形长: {self._length}') def area(self): return self._width * self._length def perimeter(self): return (self._width + self._length) * 2 class Circle(Shape): ''' 圆形类,继承自Shape 数据(属性):圆心坐标、半径 操作(方法): 打印圆信息,计算面积、周长 ''' def __init__(self, x, y, radius): self._x = x self._y = y self._r = radius def info(self): print(f'圆心: ({self._x}, {self._y})') print(f'半径: {self._r}') def area(self): return 3.14 * self._r * self._r def perimeter(self): return 2 * 3.14 * self._r # 测试类 def main(): r1 = Rect(1, 1, 5, 9) r1.info() print(f'矩形面积: ' , r1.area() ) print(f'矩形周长: ' , r1.perimeter() ) c1 = Circle(2, 3, 10) c1.info() print(f'园面积: {c1.area():.2f}') print(f'园周长: {c1.perimeter():.2f}') if __name__ == '__main__': main()

task3.py from shape import Rect as rect, Circle as circle # 从模块shape中导入Rect类和 Circle类,并分别取了别名 r1 = rect(3, 3, 5, 2) r1.info() print(f'矩形面积: ' , r1.area() ) print(f'矩形周长: ' , r1.perimeter() ) c1 = circle(5, 5, 1) c1.info() print(f'园面积: {c1.area():.2f}') print(f'园周长: {c1.perimeter():.2f}')

task5
class StudentDoc:
def __init__(self,number,name,major,pythonscore):
self.number = number
self.name = name
self.major = major
self.pythonscore = pythonscore
def info(self):
print(f'number:{self.number}')
print(f'name:{self.name}')
print(f'major:{self.major}')
def info_pythonscore(self):
print(f'pythonscore:{self.pythonscore}')
def change_pythonscore(self,new_pythonscore):
self.pythonscore = new_pythonscore
print(f'pythonscore:{self.pythonscore}')
import student
s1 = student.StudentDoc('202013420001','Tom','Python','90')
s2 = student.StudentDoc('202013420040','Jerry','Math','85')
s1.info()
s1.info_pythonscore()
print()
s2.info()
s2.info_pythonscore()
print()
s2.info()
s2.change_pythonscore('100')

浙公网安备 33010602011771号