类的定义:类是对现实生活中一类具有共同特征的事物的抽象,为所有的对象定义了抽象的属性与行为
对象和类解释:
1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
2)类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述
1、类的基础
class rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def rouder(self):
return (self.length + self.width) * 2
def area(self):
return self.length * self.width
if __name__ == '__main__':
print(rectangle(2, 5).rouder())
print(rectangle(2, 5).area())
#实例化的时候,类体rectangle一定要带上括号
class rectangle:
list1=[1,3,5,6] #类属性,具有唯一性
def __init__(self, length, width):
self.length = length
self.width = width
self.list2=[4,5,45] # 实例属性,不唯一
def rouder(self):
return (self.length + self.width) * 2
def area(self):
return self.length * self.width
if __name__ == '__main__':
print(rectangle.list1) #类属性可以不实例化就可以执行
print(rectangle(2,3).list2) #实例属性必须实例花才可以执行
类的单例模式
# 单例模式
# 一般情况下,类可以生产任意个实例,单例模式只生成一个
class Single:
def __init__(self): #初始化方法
pass
def __new__(cls, *args, **kwargs): #构造方法,用于生成实例
if not hasattr(cls,'obj'): #判断类当中有没有实例方