zoukankan      html  css  js  c++  java
  • Python中staticmethod方法

    staticmethod叫做静态方法,在类里面加上@staticmethod装饰器的方法不需要传入self,同时该方法不能使用类变量和实例变量。在类内部可以调用加上装饰器@staticmethod的方法,同时也不需要实例化类调用该方法

    静态方法和类方法的区别在于:
    静态方法对类一无所知,只处理参数。
    类方法与类一起使用,因为它的参数始终是类本身。

    例子1:

    class Person():
        #加上静态方法
        @staticmethod
        def get_name():
            return 'Jack'
    
        def work(self):
            #调用静态方法
            return f'{self.get_name()} is a teacher'
    
    #不需要实例化直接调用get_name()
    print(Person.get_name())
    
    #实例化调用work()
    a_obj = Person()
    print(a_obj.work())
    
    结果:
    Jack
    Jack is a teacher
    

    例子2:

    class Dates:
        def __init__(self, date):
            self.date = date
    
        def getDate(self):
            return self.date
    
        @staticmethod
        def toDashDate(date):
            return date.replace("/", "-")
    
    date = Dates("15-12-2016")
    dateFromDB = "15/12/2016"
    dateWithDash = Dates.toDashDate(dateFromDB)
    
    if(date.getDate() == dateWithDash):
        print("Equal")
    else:
        print("Unequal")
    

    总结:如果类里面不想某个方法使用类属性和调用其它方法就可以使用静态方法,有助于优化代码结构和提高程序的可读性。 

      

  • 相关阅读:
    sublime使用技巧
    周末时间学习Linux
    中小企业网络安全提升
    NoSQL是什么?
    IBM的淘汰之路
    Linux 中断处理浅析
    深入理解 C 语言的函数调用过程
    LAMP简易安装
    安装Fedora 24后必要的设置
    wget命令详解
  • 原文地址:https://www.cnblogs.com/lucktomato/p/15175084.html
Copyright © 2011-2022 走看看