#定义一个类
class Myclass:
#类的属性
attr='类的属性'
#类的方法
def _init_(self):
self.data=[]
def func(var):
return 'hello python!!'
#实例化——对象
obj=Myclass()
print(obj.attr)
print(obj.func())
class Complex:
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r,x.i)
#self 代表类的实例,代表当前对象的地址,self 不是 python 关键字,我们把他换成别的也是可以正常执行的:
class Test:
def prt(self):
print(self)
print(self.__class__)
t=Test()
t.prt()
#类的方法
#在类地内部,使用 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('mary',23,120)
print(p.name)
print(p.age)
p.speak()
#继承
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))
#单继承
class student(people):
#定义基本属性
grade=0
#构造方法
def __init__(self,n,a,w,g):
#调用父类的构函
people.__init__(self,n,a,w)
self.grade=g
#覆写父类的方法
def speak(self):
print('%s说我今年%d岁了,在读%d年级。'%(self.name,self.age,self.grade))
s=student('mary',23,120,5)
s.speak()
#多继承
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))
#单继承
class student(people):
#定义基本属性
grade=0
#构造方法
def __init__(self,n,a,w,g):
#调用父类的构函
people.__init__(self,n,a,w)
self.grade=g
#覆写父类的方法
def speak(self):
print('%s说我今年%d岁了,在读%d年级。'%(self.name,self.age,self.grade))
#再定义一类
class talker():
name=''
topic=''
def __init__(self,n,t):
self.name=n
self.topic=t
def speak(self):
print('我是%s,今天讨论的主体是%s'%(self.name,self.topic))
#多重继承
class talk(talker,student):
def __init__(self,n,a,w,g,t):
student.__init__(self,n,a,w,g)
talker.__init__(self,n,t)
def speak(self):
print('我是%s,今年%d岁了,在读%d年级,今天讨论的主体是:《%s》'%(self.name,self.age,self.grade,self.topic))
test=talk('mary',12,120,5,'python的应用')
test.speak() #方法名同,默认调用的是在括号中排前地父类的方法