构造属性
class Circle:
def __init__(self,o,r,color):
self.o=o;
self.r=r;
self.color=color;
其它方法
def zc(self):
Zc=2*math.pi*self.r
return Zc
def area(self):
s=math.pi*self.r**2
return s
实例化对象
if __name__ == "__main__":
r=eval(input("请输入半径"))
circle=Circle((0,0),r,'red')#实例化对象
C=circle.zc()#类中的调用方法
S=circle.area()
print("圆的周长为{0},面积为{1}".format(C,S))
私有属性的定义
class Course:
def __init__(self,Csite):
self.__Csite=Csite #私有属性
私有属性必须用公有方法来返回
def get__Csite(self):
return self.__Csite
语法格式;
class father():
pass
class sub(father):
pass
多继承语法
class father():
pass
class mother():
pass
class sub(father,mother):
pass
案例
重写父类方法:
多个子类继承父类中的方法进行重载
案例
意思是把 @staticmethod 下面的函数和所属的类截断了,这个函数就不属于这个类了,没有类的属性了,只不是还是要通过类名的方式调用
class Person:
def __init__(self, name):
self.name = name
@staticmethod # 把eat方法变为静态方法
def eat(x):
print("%s is eating" % x)
d = Person("xiaozhao")
d.eat("Sam")
用@classmethod标记,不能访问实例对象的属性与变量,只能访问类的属性与变量
class Person:
name = "詹姆斯"
def __init__(self, name):
self.name = name
@classmethod # 把eat方法变为类方法
def eat(self):
print("{0}正在吃饭".format(self.name))
d = Person("xiao")
d.eat()