python类方法和属性


类里面的方法,跟属性

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.当你类里面的 某个函数与其他函数类属性没有任何关系,就可以定义为静态方法和类方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值