类的定义在笔记1中有叙述,本篇文章来叙述如何操作。
首先定义一个类,然后将它实例化,最后通过“对象名”或“对象名.成员”的方式来访问。
1. 基础操作
class personal_data:
def __init__(self,n,a):
self.name=n
self.age=a
def show(self):
print (self.name,self.age)
x=personal_data("Meliodas","19")
x.show()
运行结果:
Meliodas 19
回车后,左边是self.成员名,右边是对应的self函数中的参数。
引用时,对于上述实例属性,就用类名.实例名的方式引用。
PS:一般是在__init__()中定义实例属性。
2. 特殊类名
(1). _xxx:保护成员,不能通过 from module import * 导入,只有类对象和子类对象能访问。
(2). __xxx__:系统定义的特殊成员
(3). __xxx:类的私有成员,只有类对象自己才能访问,子对象不能访问,但外部可以通过“对象名._类名__xxx”访问。
class infor():
def __init__(self,a,b):
self.account=a
self.__password=b
x=infor("100900","123456")
print x.account
print x.__password
运行结果:
100900
AttributeError: infor instance has no attribute '__password'
将最后一行改为:
print x._infor__password
运行结果:
100900
123456