class GirlFriend: '''这个是男朋友类''' # 性别女 身高160 体重50kg 会唱歌 会做饭 会写代码 # 属性就是 前3项 sex = '女' height = 160 weight = '50kg' def singing(self,songs): print('女朋友会唱歌,最喜欢唱{}'.format(songs)) @classmethod #类方法 类方法 def cooking(cls,*args): dishname = '' for item in args: dishname += item dishname += '、' print('会做饭,擅长做:{}'.format(dishname)) # def cooking1(self,dishnamae1): # print('最喜欢做{}'.format(dishnamae1)) @staticmethod def coding(*args): print('我的女朋友会写代码,而且写的66的,最擅长写java'.format(args)) @classmethod #类方法 类方法 def playbasketball(cls): return '最喜欢打篮球' @classmethod def playpingpang(cls): print('我女朋友天的性别是:{}'.format(cls.sex)) #类是可以调用属性的 cls().singing('GGGG') #对象方法必须是对象调用 cls..singing('GGGG') 会报错 @staticmethod def print_self(self): print('self',self) print('我女朋友的身高是{}'.format(self.height)) self.cooking('韭菜鸡蛋','蒜黄炒肉') ####对象可以调用类方法 self.coding('ruby') #对象可以调用静态方法t = GirlFriend()print(t.sex)t.singing('两只老虎')t.coding('java')# t.cooking('西红柿蛋汤','炒猪肝','红烧排骨','咖喱鸡块')t.cooking('西红柿蛋汤','炒猪肝','红烧排骨','咖喱鸡块')res = t.playbasketball()print(res)t.print_self()t.playpingpang()# 类的概念 比如人类 、鸟类、鱼类 类是一个比较大的概念 而对象是类中具体的某一个个体# 对象的书写方式 :类名() 比如 t=GirlFriend()就是一个对象 对象可以调用类的属性、方法 对象具有类的所有属性和方法 调用的时候 对象.属性 对象.方法;对象也可以调用类里面的方法和属性# 万物皆对象 对象肯定是属于某一个类的 -->类可以产生对象# self就是调用这个方法的本身# 对象方法:必须是由对象来进行调用 -- 只有它不同!!# 类方法: 类可以调用 对象也可以调用 @classmethod装饰 方法内的self编程cls# GirlFriend.cooking()# GirlFriend().cooking()# 静态方法:类可以调用,对象可以调用@staticmethod 装饰; self去掉