实验七

任务一

 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}')

 

posted @ 2023-06-08 15:05  (o‿∩)  阅读(41)  评论(0)    收藏  举报