task1
源代码:
class Account:
def __init__(self, name, account_number, initial_amount = 10):
self._name=name
self._card_no=account_number
self._balance=initial_amount
def deposit(self,amount):
self._balance+=amount
def withdraw(self,amount):
if self._balance<amount:
print('余额不足')
return
self._balance-=amount
def info(self):
print('持卡人姓名:',self._name)
print('持卡人账号:',self._card_no)
print('持卡人账户余额:',self._balance)
def get_balance(self):
return self._balance
def main():
print('测试账户1:'.center(30,'*'))
a1=Account('Bob','5002311',20000)
a1.deposit(5000)
a1.withdraw(4000)
a1.info()
print()
print('测试账户2:'.center(30,'*'))
a2=Account('Joe','5006692',20000)
a2.withdraw(10000)
a2.withdraw(5000)
a2.info()
if __name__=='__main__':
main()
运行结果:

实验结论:
类:类是一群具有相同属性和方法的对象的集合,是对象的抽象
对象:是由类创建出来的一个具体的存在
属性:用来描述对象的特征
方法:用来描述对象的行为
实例化:指在面向对象的编程中,用类创建对象的过程
类的封装性:指将类的属性和方法封装起来,不允许外部直接访问对象的内部信息
task2
源代码:
from shape import Rect, Circle
shape_lst = [Rect(5, 5, 10, 5), Circle(), Circle(1, 1, 10)]
for i in shape_lst:
i.info()
print(f'面积: {i.area(): .2f}')
print(f'周长: {i.perimeter(): .2f}')
print()
运行结果:

实验结论:
类的继承:指在一个现有类的基础上创建一个新的类,构建出来的新的类会继承原有的类的属性和方法
类的多态特性:在一个类中,可以定义多个同名的方法,只要确定他们的参数个数和类型不同,就是类的多态性
模块:一个文件就是一个模块,每一个模块在python中都被看做是一个独立的文件
task3
源代码:
from math import *
m = 0
s = 2
def func(x):
return 1/(sqrt(2*pi)*s)*(exp((-0.5)*((x-m)/s)**2))
print(f'x = 1,f = {func(1):.8f}')
print(f'x = 3,f = {func(3):.8f}')
print(f'x = 5,f = {func(5):.8f}')
print(f'x = 7,f = {func(7):.8f}')
print(f'x = 9,f = {func(9):.8f}')
运行结果:
