实验七
任务一
1 class Account: 2 '''一个模拟银行账户的简单类''' 3 def __init__(self, name, account_number, initial_amount = 10): 4 '''构造新账户''' 5 self._name = name 6 self._card_no = account_number 7 self._balance = initial_amount 8 def deposit(self, amount): 9 '''存款''' 10 self._balance += amount 11 def withdraw(self, amount): 12 '''取款''' 13 if self._balance < amount: 14 print('余额不足') 15 return 16 self._balance -= amount 17 18 def info(self): 19 '''打印账户信息''' 20 print('持卡人姓名:', self._name) 21 print('持卡人账号:', self._card_no) 22 print('持卡人账户余额:', self._balance) 23 24 def get_balance(self): 25 '''返回账户余额''' 26 return self._balance 27 def main(): 28 '''创建Account类对象,测试类''' 29 30 print('测试账户1:'.center(30, '*')) 31 a1 = Account('Bob', '5002311', 20000) 32 a1.deposit(5000) 33 a1.withdraw(4000) 34 a1.info() 35 print() 36 print('测试账户2:'.center(30, '*')) 37 a2 = Account('Joe', '5006692', 20000) 38 a2.withdraw(10000) 39 a2.withdraw(5000) 40 a2.info() 41 if __name__ == '__main__': 42 main()

面向对象中的类在本题中是创建的Account,对象为实用类所需的变量和类中自带的变量,初始化中的name, account_number, initial_amount
为属性,类中的其他def函数为方法,具体实用类就是类的实例化。封装性指类中有些方法和属性可以设为私有,只在类内可以访问,也可以设置接口,使外部也可访问
任务二
1 from main import Rect,Circle 2 shape_lst = [Rect(5, 5, 10, 5), Circle(), Circle(1, 1, 10)] 3 for i in shape_lst: 4 i.info() 5 print(f'面积: {i.area(): .2f}') 6 print(f'周长: {i.perimeter(): .2f}') 7 print()

继承可以实用基类的内置函数,多态特性指还可以根据自身的目的添加或是修改函数
一个python文件就是一个模块,其他Python文件可以调用其中的函数和类
任务三
1 from math import * 2 def func(x): 3 f=1/((2*pi)**0.5*2)*exp(-x**2/8) 4 return f 5 for i in range(1,10,2): 6 print(f'x={i},f={func(i):.8f}')

浙公网安备 33010602011771号