#类与对象 #python类的语法 关键字 class #class 类名 类名的规范是:数字字母下划线组成,不能以数字开头 首字母大写 驼峰命名 #类属性 放在类里面的变量值 #类方法 放在类里面的函数 #类方法里有:实例方法、类方法(classmethod) class BoyFriend: height = 175 weight = 140 def __init__(self,name,age): #初始化函数,初始化函数可以有默认值,一般不穿动态参数和关键字参数 self.name=name self.age=age pass def cooking(self): #self 传递的是实例本身 print("会做饭") def earn(self): print("会赚钱") @classmethod #类方法 def swimming(cls): print("我是个类方法!") @staticmethod #静态方法 def sing(): print("会唱歌,我是个静态方法") #实例、对象 具体的一个例子 类名() 怎么去创建一个实例??类名+() bf = BoyFriend() print(bf) #实例具有类里面的所有属性和方法的使用权限 #调用属性 实例.属性值 #调用方法 实例.方法名() #实例方法,意味着 这个方法只能实例来调用 t = BoyFriend() #实例 隐式的传递,创建实例的调用 t.cooking() BoyFriend.earn(t) #显示的传递 #类方法,创不创建实例都可以调用类方法 @classmethod BoyFriend.swimming() #方法一:直接类调用 t = BoyFriend() #方法二 创建实例调用 t.swimming() #静态方法 @staticmethod 参数非必传,普通函数 #实例和类都可以调用 BoyFriend.sing() t = BoyFriend() t.sing() #初始化函数,什么时候用呢?想用就用,如果某个属性值是多个函数公用的,就可以用初始化函数。 #没有返回值 return t1 = BoyFriend('wuzm','13') t2 = BoyFriend('lyn','23') #1、实例方法self 类方法cls 静态方法(普通方法) 实例和类名都可以直接调用 #2、不同点:静态方法和类方法不可以调用类里面的属性值,如果你要参数,请自己传递参数 #3、什么时候去定义为静态和类方法,当你的某个函数和其他的类函数、类属性没有任何关系的时候,就可以定义为静态方法和类方法。