实验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 gat_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()
View Code

 

 

  类:一种模板,内含多种函数。

  对象:对象是类的实例。

  属性:每个对象都有的属性,例如''name'' 和 ''account_name''。在创建时属性被赋予特殊的值。

  方法:类中 使用def定义一个函数,该类有什么具体的行为。

  实例化:用类创建一个实例。

task2

from shape import circle,rect
shape_ls=[rect(5,5,10,5),circle(),circle(1,1,10)]
for i in shape_ls:
    i.info()
    print(f'面积: {i.area(): .2f}')
    print(f'周长: {i.perimeter(): .2f}')
    print()
View Code

 1.类的继承:子类会继承父类的方法和属性。

 多态特性:是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。

2.模块:对代码更高级的封装,包含很多类,函数等,导入模块可避免重复性编写。

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)
View Code

 

posted @ 2023-06-14 00:10  于q  阅读(10)  评论(0)    收藏  举报