1 面向对象知识
2
很多类都倾向于将对象创建为有初始状态的。因此类可能会定义一个名为 __init__() 的特殊方法(构造方法),类定义了 __init__() 方法的话,类的实例化操作会自动调用 __init__() 方法。当然, __init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化操作上。例如:
class Student(object): # 自定义一个Student类,包括学号、姓名、分数、性别等信息 def __init__(self,number, name, score, sex): # 初始化Student,参数 number,name,score,sex self.number = number self.name = name self.score = score self.sex = sex stu1=Student(3054,"shen",90,"male") print(stu1.name,stu1.score) # 输出结果:shen 90
self 代表类的实例,而非类:
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
3 类的方法
在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
#类定义 class people: #定义基本属性 name = ‘‘ age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 说: 我 %d 岁。" %(self.name,self.age)) # 实例化类 p = people(‘runoob‘,10,30) p.speak()
4 类的属性与方法
1)类的私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。
在类内部的方法中使用时 self.__private_attrs。
2)类的方法
在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。
self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定是用 self。
3)类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。
在类的内部调用 : self.__private_methods。
4)类的专有方法
5 Python 的类也可以继承、多继承以及重写方法……
原文:http://www.cnblogs.com/shenxiaolin/p/7770616.html