实验任务1:
实验源码:
1 class Account: 2 """一个模拟银行账户的简单类""" 3 4 def __init__(self, name, account_number, initial_amount = 10): 5 """构造新账户""" 6 self._name = name 7 self._card_no = account_number 8 self._balance = initial_amount 9 10 def deposit(self, amount): 11 """存款""" 12 self._balance += amount 13 14 def withdraw(self, amount): 15 """取款""" 16 17 if self._balance < amount: 18 print('余额不足') 19 return 20 21 self._balance -= amount 22 23 def info(self): 24 """打印账户信息""" 25 print('持卡人姓名:', self._name) 26 print('持卡人账号:', self._card_no) 27 print('持卡人账户余额:', self._balance) 28 29 def get_balance(self): 30 """返回账户余额""" 31 return self._balance 32 33 34 def main(): 35 """创建Account类对象,测试类""" 36 print('测试账户1:'.center(30, '*')) 37 a1 = Account('Bob', '5002311', 20000) 38 a1.deposit(5000) 39 a1.withdraw(4000) 40 a1.info() 41 42 print() 43 44 print('测试账户2:'.center(30, '*')) 45 a2 = Account('Joe', '5006692', 20000) 46 a2.withdraw(10000) 47 a2.withdraw(5000) 48 a2.info() 49 50 51 if __name__ == '__main__': 52 main()
运行截图:
1.类:定义一个抽象类型的表现形式,其中包含了适用于该类型的一系列操作和运算,但它实际上可以不含任何实际的数据
对象:类中一个特定的个体,是类的实例
属性:类中的变量,提供关于类或对象的额外信息的元素
方法:类中定义的函数
实例化:用类创建对象的过程
2.类的封装性:将数据和操作打包成一个不可分割的整体;对外只提供专门的接口供使用者访问部分数据和操作。
实验任务2:
实验源码:
1 from shape import Rect, Circle 2 shape_lst = [Rect(5, 5, 10, 5), Circle(), Circle(1, 1, 10)] 3 4 for i in shape_lst: 5 i.info() 6 print(f'面积: {i.area(): .2f}') 7 print(f'周长: {i.perimeter(): .2f}') 8 print()
运行截图:
类的继承:对于不同的对象可以直接调用类中的方法,不需要重复编码;也可以在原有的类的基础上,扩展,修改或替换,节省了开发时间
多态:对于不同的实例对象。可以进行不同的计算行为即同名的方法有不同的功能,增强了代码的灵活性。
模块:模块是一个单独的python文件,是对代码更高级的封装,能够实现一类型的功能,方便导入使用,可以避免函数名和变量名冲突。
实验任务3:
实验源码:
1 import math 2 3 4 def func(x, m, s): 5 a = (-1/2)*((x-m)/s)**2 6 y = math.exp(a)/(pow(2*math.pi, 0.5)*s) 7 print(f'x = {x},f = {y:.8f}') 8 9 10 x = [1, 3, 5, 7, 9] 11 for i in x: 12 func(i, 0, 2)
运行截图:
标签:内置,面向对象编程,self,amount,模块,._,print,balance,def From: https://www.cnblogs.com/xrl1113/p/17473856.html