应该是python最难理解和掌握的部分了
直接举例吧
class Employee():
"""员工"""
def __init__(self, name): #初始化后,使用类是才可以传入一个name相关的参数,当然也可以不传
self.name = name
这是一个对Employee的类的简单定义,其中类有属性和方法。该例子定义的即是Employee的一个名为name的属性的初始化,初始化后,使用类的实例才可以传入一个name相关的参数,当然也可以不传
class Programmer(Employee):
"""程序员"""
def __init__(self, name, working_hour=0):
super().__init__(name) #继承了父类Employee的name初始化方法
self.working_hour = working_hour
def get_salary(self):
return 200 * self.working_hour
而这是一个子类Programmer对父类Employee的继承样例
同时 def get_salary(self)是对于Programmer这个子类的一种方法定义
下面是方法与属性的实际应用
emps = [Manager('刘备'), Programmer('诸葛亮'), Manager('曹操'), Programmer('荀彧'), Salesman('张辽')]
for emp in emps:
if isinstance(emp, Programmer):
emp.working_hour = int(input(f'请输入{emp.name}本月工作时间: '))
elif isinstance(emp, Salesman):
emp.sales = float(input(f'请输入{emp.name}本月销售额: '))
print(f'{emp.name}本月工资为: ¥{emp.get_salary():.2f}元')
其中isinstance
函数来判断员工对象的类型,
这是我对面对对象的浅薄理解,下一步即使要学习对文件的操作.