class 类
Posted yangjinquan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了class 类相关的知识,希望对你有一定的参考价值。
类的简介:
""" 什么事类: 类:把一类事物相同的特征和动作整合到一起就是类,类是一个抽象的概念 什么对象: 对象:是基于 类 而创建的一个具体的事物(具体存在的) 也就是特征和动作整合到一起 """
class foo: ‘文档注释‘ def speak(self): print(‘yjq再说话‘) def eat(self,name): print(‘%s在吃饭‘%name) obj = foo()#实例化一个对象 obj.speak()#调用对象中的方法 o = foo()#实例化一个对象 o.eat(‘yjq‘)#调用对象中的方法 print(o.__doc__) print(o.__module__)
初始化构造函数:
p1 = chinese(‘yjq‘,21,‘男‘)#实例化一个对象 print(‘类country‘,chinese.country) print(‘实例化‘,p1.country) p1.country = ‘japan‘ #给实例化对象复制(修改值),都是对实例化对象进行操作 print(‘实例化更改实例 的 country值‘,p1.country) #调用实例对象的方法 p1.like(‘Python编程‘) print(‘打印实例化的字典变量‘,p1.__dict__) p2 = chinese(‘xxl‘,22,‘男‘) p2.like(‘汽车机修‘) """ yjq 类country china 实例化 china 实例化更改实例 的 country值 japan 我非常喜欢这Python编程书 打印实例化的字典变量 {‘name‘: ‘yjq‘, ‘age‘: 21, ‘sex‘: ‘男‘, ‘country‘: ‘japan‘, ‘book‘: ‘Python编程‘} xxl 我非常喜欢这汽车机修书 """
append
print(chinese.lis) print(chinese.__dict__) p2.lis.append(‘C++‘) # 添加: 添加class 并不是实例化对象的 print(p2.lis) print(chinese.lis) print(chinese.__dict__) ""[‘c‘, ‘java‘, ‘python‘] {‘__module__‘: ‘__main__‘, ‘country‘: ‘china‘, ‘lis‘: [‘c‘, ‘java‘, ‘python‘], ‘__init__‘: <function chinese.__init__ at 0x0000027F3922F9D8>, ‘like‘: <function chinese.like at 0x0000027F3922FA60>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘chinese‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘chinese‘ objects>, ‘__doc__‘: None} [‘c‘, ‘java‘, ‘python‘, ‘C++‘] [‘c‘, ‘java‘, ‘python‘, ‘C++‘] {‘__module__‘: ‘__main__‘, ‘country‘: ‘china‘, ‘lis‘: [‘c‘, ‘java‘, ‘python‘, ‘C++‘], ‘__init__‘: <function chinese.__init__ at 0x0000027F3922F9D8>, ‘like‘: <function chinese.like at 0x0000027F3922FA60>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘chinese‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘chinese‘ objects>, ‘__doc__‘: None} """
@property
class Room: def __init__(self,name,onewr,width,length,height):#构造函数 self.name = name self.onewr = onewr self.width = width self.length = length self.height = height @property #更改函数的调用方式,print(r1.cal_arae) 有点:封装函数了处理逻辑 def cal_arae(self): return self.width*self.length @property def cal_volume(self): return self.width*self.height*self.length r1 = Room(‘客厅‘,‘yjq‘,20,30,3.5) print(r1.name) print(r1.cal_arae) print(r1.cal_volume) ‘‘‘ 运行结果: 客厅 600 2100.0 ‘‘‘
调用类方法
class Room:#类数据 def __init__(self,name,onewr,width,length,height): self.name = name self.onewr = onewr self.width = width self.length = length self.height = height @property #更改函数的调用方式,print(r1.cal_arae) 有点:封装函数了处理逻辑 def cal_arae(self): return self.width*self.length @property def cal_volume(self): return self.width*self.height*self.length @classmethod def test_info(cls): print(cls) print(‘from test_info‘) #调用类方法 Room.test_info() #from test_info
静态方class Room:#类数 def __init__(self,name,onewr,width,length,height) self.name = name self.onewr = onewr
self.width = width self.length = length self.height = height @staticmethod#静态方法 def room_info(): print(‘111111111‘) @staticmethod def wash_body(name): print(‘%s正在洗澡‘% name) Room.room_info() Room.wash_body(‘yjq‘) """
111111111 yjq正在洗澡 """