类里面的方法,跟属性
2022-4-30学习python笔记,望自己坚持下来
一、类?
类基本就是具有相同特征的事物的集合,具体见代码
二、代码片段
1.具体代码
代码如下(示例):
class Teacher():
def __init__(self, name, age): #初始化函数 无返回值
self.name = name
self.age = age
def cooking(self): #实例方法
print(self.name + '会做饭')
@classmethod #类方法,不能调用类里面的属性和方法
def singing(selfcls):
print('戚戚会唱歌')
# print(self.name + '戚戚会唱歌') #运行后会报错
@staticmethod #静态方法,不能调用类里面的属性和方法
def eating():
print('我们要好好的吃')
# print(self.name + '戚戚会唱歌') #运行后会报错
t = Teacher('小花', 33) #创建实例
t.cooking() #第一种调用
Teacher.cooking(t) #第二种,但是不要忘记后面的实例
t.singing()
t.eating()
2.运行结果
代码如下(示例):
*会报错*
小花会做饭
小花会做饭
戚戚会唱歌
Traceback (most recent call last):
File "c:/Users/wgt/Desktop/空闲必看/哈哈哈/420/test.py", line 67, in <module>
t.eating()
TypeError: eating() missing 1 required positional argument: 'self'
总结
1.实例方法self 类方法 cls 静态方法(普通方法)
相同点:实例和类名都可以直接调用
不同点: 静态方法和类方法,不可以电泳类里面的属性值,如果需要参数,需要自己直接传递。
2.当你类里面的 某个函数与其他函数类属性没有任何关系,就可以定义为静态方法和类方法。