爬虫学习2(面向对象编程)

面向对象的理解可参考:2分钟让你明白什么是面向对象编程 - 知乎 (zhihu.com)

1. class

名字使用大写字母分割:

定义属性和行为

class CyberPunk:  # 定义类
    def __init__(self, punk_name, punk_gender, punk_status):  # 属性构造函数
        self.name = punk_name
        self.gender = punk_gender
        self.status = punk_status

    def speak(self, content):  # 方法构造函数(定义对象可以做的事情) 可以理解为定义一个函数
        print("V said %s" % content)


character1 = CyberPunk("V", "man", "legends")
character2 = CyberPunk("Judy", "woman", "V_love")
print("%s的性别是%s,地位是%s" % (character2.name, character2.gender, character2.status))
character1.speak("fuck you")

2. 继承的运用

# 人力系统
# 员工分为两类:全职员工FulltimeEmployee和兼职员工Parttimeemployee
# 均有姓名(name)和工号(id)属性
# 都具备打印信息方法(print_info)打印姓名和工号方法
# 全职有月薪(monthly_salary)属性
# 兼职有日薪(daily_salary)属性和每月工作天数(work_days)属性
# 全职和兼职都有计算月薪的方法calculate_monthly_pay,具体计算过程不同
class Employee:
    def __init__(self, name, id):
        self.name = name
        self.id = id

    def print_info(self):
        print("姓名是%s,工号是%s" % (self.name, self.id))


class FulltimeEmployee(Employee):
    def __init__(self, name, id, monthly_salary):
        super().__init__(name, id)
        self.monthly_salary = monthly_salary

    def calculate_monthly_pay(self):
        pay = self.monthly_salary
        return pay


class ParttimeEmployee(Employee):
    def __init__(self, name, id, daily_salary, work_day):
        super().__init__(name, id)
        self.daily_salary = daily_salary
        self.work_day = work_day

    def calculate_monthly_pay(self):
        pay = self.daily_salary * self.work_day
        return pay
Alan=FulltimeEmployee("Alan","2021141410130",8000)
Judy=ParttimeEmployee("Judy","2021141410136",300,20)
Alan.print_info()
Judy.print_info()
print(Alan.monthly_salary)
print("Alan本月的工资是%d"%Alan.calculate_monthly_pay())
print("Judy本月的工资是%d"%Judy.calculate_monthly_pay())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值