Python基础:类和对象

类与对象

类是某个特定的群体,实例是群体中某个具体的个体

对象

万事万物,皆为对象

类的创建和调用

创建类

class Computer:

    screen = True

    def start(self):
        print('电脑正在开机中……')

类的调用

class Computer:
    screen = True

    def start(self):
        print('电脑正在开机中……')

my_computer = Computer()
print(my_computer.screen)
my_computer.start()

创建类的两个关键点

self

self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行

class Chinese:

    name = '吴枫'  # 类属性name

    def say(self, someone):  # 带有两个参数的方法
        print(someone + '是中国人')

person = Chinese()
print(person.name)
person.say('xuemeng2016') 

初始化方法

定义初始化方法的格式是def init(self),是由init加左右两边的【双】下划线组成( initialize “初始化”的缩写)

class Chinese:

    def __init__(self, name, birth, region):
        self.name = name   # self.name = '吴枫' 
        self.birth = birth  # self.birth = '广东'
        self.region = region  # self.region = '深圳'

    def born(self):
        print(self.name + '出生在' + self.birth)

    def live(self):
        print(self.name + '居住在' + self.region)    

person = Chinese('xuemeng2016','甘肃','兰州') # 传入初始化方法的参数
person.born()
person.live()

面向对象编程

以对象为中心,将计算机程序看作一组对象的集合

import math

class Project:
    
    def __init__(self):
        self.key = 1

    def input(self):
        choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
        if choice == '1':
            self.size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
            self.number = int(input('请输入人力数量:(请输入整数)'))
            self.time = None
        if choice == '2':
            self.size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
            self.number = None
            self.time = float(input('请输入工时数量:(请输入小数)'))

    def estimated(self):
        # 人力计算
        if (self.number == None) and (self.time != None):
            self.number = math.ceil(self.size * 80 / self.time)
            print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(self.size,self.time,self.number)) 
        # 工时计算
        elif (self.number != None) and (self.time == None):
            self.time = self.size * 80 / self.number
            print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(self.size,self.number,self.time))  
    
    def again(self):
        a = input('是否继续计算?继续请输入y,输入其他键将结束程序。')
        if a != 'y':
            # 如果用户不输入'y',则把key赋值为0
            self.key = 0  

    # 主函数
    def main(self):
        print('欢迎使用工作量计算小程序!')
        while self.key == 1:
            self.input()
            self.estimated()
            self.again()
        print('感谢使用工作量计算小程序!')
        
# 创建实例
project1 = Project()
project1.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿卢

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值