zoukankan      html  css  js  c++  java
  • python中的@staticmethod作用及用法

    静态方法的使用场景如果在方法中不需要访问任何实例方法和属性纯粹地通过传入参数并返回数据的功能性方法那么它就适合用静态方法来定义

    它节省了实例化对象的开销成本往往这种方法放在类外面的模块层作为一个函数存在也是没问题的

    而放在类中仅为这个类服务


    staticmethod用于修饰类中的方法,使其可以在不创建类实例的情况下调用方法,这样做的好处是执行效率比较高。
    当然,也可以像一般的方法一样用实例调用该方法。该方法一般被称为静态方法。静态方法不可以引用类中的属性或方法,其参数列表也不需要约定的默认参数self。
    我个人觉得,静态方法就是类对外部函数的封装,有助于优化代码结构和提高程序的可读性。当然了,被封装的方法应该尽可能的和封装它的类的功能相匹配。
     
    class A:
    
        def test(self,a):
            self.a=a
            print("我是test")
            # return self.a
        @staticmethod
        def m():
            print("我是staticmethod")
    
    b=A()
    print(b)  #<__main__.A object at 0x0000026D2197D808>
    print(b.test)#<bound method A.test of <__main__.A object at 0x00000218C233FE08>>
    print(A.test)  #<function A.test at 0x00000218C2418168>
    print(A.m)  #<function A.m at 0x0000026D21987438>
     
  • 相关阅读:
    MySQL 5.7.18 zip 文件安装过程
    Mysql 自定义随机字符串
    JAVA基本类型和引用类型
    初识JSP
    Java导出错误数据
    时序图的使用习惯
    Redis踩坑
    ES踩坑
    代码规范
    Git在公司的使用流程
  • 原文地址:https://www.cnblogs.com/longyi2020/p/14451406.html
Copyright © 2011-2022 走看看