类的基本定义
class 关键字 :
成员方法
注:关键字首字母要大写
实例化对象:
class Car():
def glaring(self):
print("my name is Olive Queen")
a=Car()
a.glaring()
my name is Olive Queen
公有和私有
________________________________________
>>> class Person:
name="666"
>>> a=Person()
>>> a.name #公有成员直接访问
'666'
________________________________________
>>> class Person:
__name="666"
def getname(self):
return self.__name
>>> a=Person()
>>> a.getname() #私有成员内部访问(内部函数)
'666'
________________________________________
>>> class Person:
__name="666"
>>> a=Person
>>> a._Person__name #私有成员通过“_类名__对象名”访问
'666'
继承
import random as r
class Fish: #基类
def __init__(self):
self.x = r.randint(0,10)
self.y = r.randint(0,10)
def move(self):
self.x =self.x -1
print("我的位置是:",self.x,self.y)
class Goldfish(Fish): #子类
pass
class Carp(Fish): #子类
pass
class Salmon(Fish): #子类
pass
class Shark(Fish): #子类
def __init__(self):
super().__init__() #super()函数直接继承基类的函数
self.hungry=True
def eat(self):
if self.hungry:
print("no eat")
类组合
class Turtle:
def __init__(self, x):
self.num = x
class Fish:
def __init__(self, x):
self.num = x
class Pool:
def __init__(self, x, y):
self.turtle = Turtle(x)
self.fish = Fish(y)
def print_num(self):
print("水池里总共有乌龟 %d 只,小鱼 %d 条!" % (self.turtle.num, self.fish.num))
BIF...
1,判断是否为子类 issubclass(子类,基类)
>>> class B():
pass
>>> class A(B):
pass
>>> issubclass(A,B)
True
>>>
2.isinstance(实例对象,类)判断对象是否属于类
>>> class A:
pass
>>> a=A()
>>> isinstance(a,A)
True
>>>
3.property()便于后期维护
>>> class A():
def __init__(self,size=100):
self.size=size
def myname(self):
return self.size
def hername(self):
return self.size
def hisname(self):
return self.size
x=property(myname,hername,hisname)
>>> a=A()
>>> a.myname()
100
>>> a.x
100