首页 > 编程语言 >实验7 面向对象编程与内置模块

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

时间:2023-06-13 23:15:23浏览次数:35  
标签:内置 模块 self 8f amount func ._ print 面向对象编程

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

  运行结果:

 

标签:内置,模块,self,8f,amount,func,._,print,面向对象编程
From: https://www.cnblogs.com/3100974046y/p/17478928.html

相关文章

  • 实验7 面向对象编程与内置模块
    task1'''银行账户数据:持卡人姓名、账号、当前余额操作:取款、存款、打印账户信息、返回账户余额'''classAccount:'''一个模拟银行账户的简单类'''def__init__(self,name,account_number,initial_amount=10):'''构造新......
  • 模块(os、json、pickle)
    os模块主要与操作系统打交道,是与操作系统交互的一个窗口1.os.mkdir('dirname')创建单级目录dirname2.os.makedirs('dirname1/dirname2')生成多层递归目录dirnmae1下的dirname23.os.rmdir('dirname')删除空白单级目录dirname,若dirname不为空则无法删除,并报错 ......
  • linux reset模块
    前言大家都知道,复杂IC内部有很多具有独立功能的硬件模块,例如CPUcores、GPUcores、USB控制器、MMC控制器、等等,出于功耗、稳定性等方面的考虑,有些IC在内部为这些硬件模块设计了复位信号(resetsignals),软件可通过寄存器(一般1个bit控制1个硬件)控制这些硬件模块的复位状态。Linuxk......
  • 实验七 面向对象编程与内置模块
    实验任务1task1.pyclassAccount:def__init__(self,name,account_number,initial_amount=10):self._name=nameself._card_no=account_numberself._balance=initial_amountdefdeposit(self,amount):self._balance+=amoun......
  • Python基础之subprocess模块、hashlib模块、日志模块
    subprocess模块tasklist:列举出来文件进程命令"""1.以后我们可以用自己的电脑连接上别人的电脑(socket)2.通过subprocess可以在别人的计算机上执行我们想要执行的命令3.把在别人计算机上执行的结果给返回过来"""importsubprocessimportsubprocessres=subprocess.P......
  • python 之logging 模块
    一、日志的简单使用1、什么是日志记录你的代码在执行过程中的一些变化(记录的是一些有意义的变化)2、日志的5个等级importlogginglogging.debug('debugmessage')#10logging.info('infomessage')#20logging.warning('warningmessage')#30logging.error('errorm......
  • RDIFramework.NET V3.3 Web版角色授权管理新增角色对操作权限项、模块起止生效日期的
    在实际应用在我们可能会有这样的需求,某个操作权限项(按钮)或菜单在某个时间范围内可以让指定角色访问。此时通过我们的角色权限扩展设置就可以办到。在我们框架V3.3Web版本全新增加了角色权限扩展设置的功能。主要是针对角色对操作权限项、角色对模块在指定时间范围内有效的设置。功......
  • RDIFramework.NET V3.3 WinForm版角色授权管理新增角色对操作权限项、模块起止生效日
    在实际应用在我们可能会有这样的需求,某个操作权限项(按钮)或菜单在某个时间范围内可以让指定角色访问。此时通过我们的角色权限扩展设置就可以办到。在我们框架V3.3WinForm版全新增加了角色权限扩展设置的功能。主要是针对角色对操作权限项、角色对模块在指定时间范围内有效的设置。......
  • nginx添加第三方模块
    1.理念nginx除了支持内置模块,还支持第三方模块,但是第三方模块需要重新编译进nginx。(重新生成nginx二进制命令)1.如你的nginx默认不支持https2.给你的nginx添加echo模块,用于打印nginx的变量。 2.编译添加echo模块echo-nginx-module 模块可以在Nginx中用来输出一些信息......
  • 实验7 面向对象编程与内置模块
    实验任务1#task1源码1'''2银行账号3数据:持卡人姓名、账号、当前余额4操作:取款、存款、打印账户信息、返回账户余额5'''67classAccount:#一个模拟银行账户的简单类89def__init__(self,name,account_number,initial_amount=10):#构......