python访问类的属性_python-类以及如何访问类中的属性

本文深入讲解了如何在Python中创建类,包括类的定义、属性和方法的使用,以及继承和方法重写的概念。通过实例演示了如何定义Employee类,创建对象,并展示了如何利用继承实现代码重用。重点介绍了类的初始化、访问属性、修改属性以及类和对象的交互。
摘要由CSDN通过智能技术生成

创建类

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例:

classClassName:'类的帮助信息' #类文档字符串

class_suite #类体

下面代码就创建了一个名为Employee的类.

classEmployee:#'所有员工的基类'

empCount =0def __init__(self, name, salary):

self.name=name

self.salary=salary

Employee.empCount+= 1

defdisplayCount(self):print "Total Employee %d" %Employee.empCountdefdisplayEmployee(self):print "Name :", self.name, ", Salary:", self.salary

如下代码创建Employee的实例。

#"创建 Employee 类的第一个对象"

emp1 = Employee("Zara", 2000)#"创建 Employee 类的第二个对象"

emp2 = Employee("Manni", 5000)

访问属性

可以使用点(.)来访问对象的属性。使用如下类的名称访问类变量:

#定义类

classEmployee:#'所有员工的基类'

empCount =0def __init__(self, name, salary):

self.name=name

self.salary=salary

Employee.empCount+= 1

defdisplayCount(self):print "Total Employee %d" %Employee.empCountdefdisplayEmployee(self):print "Name :", self.name, ", Salary:", self.salary#"创建 Employee 类的第一个对象"

emp1 = Employee("Zara", 2000)#"创建 Employee 类的第二个对象"

emp2 = Employee("Manni", 5000)#访问类成员

emp1.displayEmployee()

emp2.displayEmployee()

我们也可以对类的属性进行修改,增加,删除。

emp1.age = 7 #添加一个 'age' 属性

emp1.age = 8 #修改 'age' 属性

del emp1.age #删除 'age' 属性

类的继承

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

继承语法为 class 派生类名(基类名)://... 基类名写作括号里,基本类是在类定义的时候,在元组之中指明的。

派生类的声明,与他们的父类类似,继承的基类列表跟在类名之后,如下所示:

classSubClassName (ParentClass1[, ParentClass2, ...]):'Optional class documentation string'class_suite

如下继承的例子。

class Parent: #定义父类

parentAttr = 100

def __init__(self):print "调用父类构造函数"

defparentMethod(self):print '调用父类方法'

defsetAttr(self, attr):

Parent.parentAttr=attrdefgetAttr(self):print "父类属性 :", Parent.parentAttrclass Child(Parent): #定义子类

def __init__(self):print "调用子类构造方法"

defchildMethod(self):print '调用子类方法 child method'c= Child() #实例化子类

c.childMethod() #调用子类的方法

c.parentMethod() #调用父类方法

c.setAttr(200) #再次调用父类的方法

c.getAttr() #再次调用父类的方法

方法重写

如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法:

class Parent: #定义父类

defmyMethod(self):print '调用父类方法'

class Child(Parent): #定义子类

defmyMethod(self):print '调用子类方法'c= Child() #子类实例

c.myMethod() #子类调用重写方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值