首页 > 编程语言 >python的类方法和静态方法

python的类方法和静态方法

时间:2022-11-18 13:25:41浏览次数:39  
标签:静态方法 python --- 对象 print 方法 属性

实例方法

1、只能通过对象调用(第一个参数self:代表对象本身)
2、适用场景:方法内部如果要使用对象的属性或者方法,就要定义成对象方法

类方法

1、要先使用@classmethod声明
2、(第一个参数cls:代表类本身)
3、可以通过类调用,也可以通过对象用
4、适用场景:方法内部只使用类属性或者类方法(不需要使用对象属性和方法),适合定义为类方法

静态方法

1、要先使用@staticmethod声明
2、可以通过类调用,也可以通过对象用
3、适用场景:方法内部(既不需要使用类属性和类方法也不需要使用对象属性和方法),适合定义为静态方法方法

class Demo:
    def func(self):
        print("---实例方法---")

    @classmethod
    def work(cls):
        print("---类方法---")

    @staticmethod
    def work1():
        print("---静态方法---")


d = Demo()
d.func()
d.work()
d.work1()
Demo.func()  # 不能通过类去调用

标签:静态方法,python,---,对象,print,方法,属性
From: https://www.cnblogs.com/nikeairball/p/16902875.html

相关文章

  • python笔记76-types.FunctionType 动态创建函数
    前言types.FunctionType创建函数有2种方式:从已有函数的基础上,创建一个新函数从一个compile构建的函数对象上,创建一个新函数FunctionType使用FunctionType可以用......
  • Python算法题库(入门)
    1. 字符串最后一个单词长度str=input("输入一串字符串:")strList=str.split('')[-1]print(len(strList)) 2. 计算某字符出现的次数str=input("请输入:").......
  • 使用Python批量对文本文件编码互转
    在Windows下写C语言默认是GB2312,放到Linux上就会乱码,因为Linux和MacOS默认是UTF-8,因此写了个Python小脚本对指定路径下的文件进行转换。fromsysimportargvimportosf......
  • Python-统计执行时间
    方法一:importdatetimeimporttimestarttime=datetime.datetime.now()print(starttime.strftime("%Y-%m-%d%H:%M:%S"))time.sleep(2)endtime=datetime.datet......
  • Python - typing 模块
    typing模块的作用类型检查,防止运行时出现参数和返回值类型不符合。作为开发文档附加说明,方便使用者调用时传入和返回参数类型。该模块加入后并不会影响程序的运行,不会......
  • python 增删改查sqlserver
    importpymssql#打开数据库连接db=pymssql.connect(server='localhost',user='sa',password='888888',database='customerdb')#创建游标对象,并设置返回数据的类型为......
  • 【HMS Core】使用图形引擎服务点击一次会多次触发RenderView的方法addOnTouchEventLis
    ​问题描述使用图形引擎服务点击一次会多次触发RenderView的方法addOnTouchEventListener 解决方案addOnTouchEventListener会有MotionEvent.ACTION_DOWN、MotionEven......
  • python模块 - copy模块
    copy模块用于对象的拷贝操作。该模块只提供了两个主要的方法:copy.copy与copy.deepcopy,分别表示浅复制与深复制。b=a.copy():浅拷贝,a和b是一个独立的对象,但他......
  • python-日志详解
    一.logging模块_打印以及保存日志1、Logging:用来做简单的日志。等级分为debug()、info()、warning()、error()和critical()等级 使用场景DEBUG 调试......
  • Python print() 实时打印
    在程序中发现print内容输出和实际输出时间不一致,所以怀疑输出时间有问题,实践发现print没有进行实时刷新。#正常使用print("something。。。")#实时刷新print("someth......