实验7 面向对象编程与内置模块

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():
    '''创建Account类对象,测试类'''
    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()
复制代码

测试结果

1.

1.面向对象中类、对象、属性、方法、实例化的概念:
  类:具有相同特征事物的统称
  对象:由类创建出来的具体存在。
  属性:类的特征. __init__(self)一般用来定义属性
  方法:类的行为动作‘
  实例化:创建对象.
2. 你对类的封装性的理解:
  封装是指保护类的成员不被随意访问的能力,通过把类的实现细节设置为private,能够完成类的封装。
 
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()
复制代码

 

测试结果

 

1. 你对类的继承、多态特性的理解:

继承:在继承关系中,已有的,设计好的类称为父类或基类,新设计的类称为子类或派生类。派生类可以继承父类的公有成员,但是不能继承其私有成员。

多态特性:定义时的类型和运行时的类型不一样,此时就成为多态。

2. 你对python中模块的理解:什么是模块:
 以扩展名py结尾的python源代码文件,好比工具包。
 
task3
源代码
复制代码
import math

def func(x):
    m=0
    s=2
    y = 1/((2*math.pi)**0.5)/s * math.exp(-1/2*(((x-m)/s)**2))
    print(f'x = {x}, f = {y:.8f}')

func(1)
func(3)
func(5)
func(7)
func(9)
复制代码

测试结果

 

 

 

 
posted @   田羽翼  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示