python:静态方法

python:静态方法

1、介绍

​ 所谓静态方法,就是:定义在类中,并且使用 @staticmethod 修饰器修饰,没有 cls 和 self 参数限制的方法我们称之为静态方法。

2、作用

​ 静态方法主要是用来存放逻辑性的代码,主要是一些逻辑属于类,但是和类本身没有实际性的交互,但是需要让这个功能成为这个类的成员,那么就可以采用静态方法。在静态方法中,不会涉及到类中的方法和属性的操作,可以理解为将静态方法寄存在该类的命名空间中。

3、定义格式

# 定义的一个类
class Person(object):
    # 类的属性
    name = "小明"
    
	# 静态方法 
    # 【1】定义在类中
    # 【2】使用 @staticmethod修饰器修饰
    # 【3】没有self、cls这样的参数限制
    @staticmethod
    def get_name():
        return Person.name

5、调用

​ 1、静态方法是 类 中的方法,不需要被实例

​ 2、可以使用【类名.静态方法名()】的形式调用,同时也可以使用实例对象调用

​ 3、切记:静态方法没有self 和 cls这样的参数限制

6、案例

​ **需求:**我想定义一个操作时间的类,比如操作属性小时、分钟、秒数。其中有一个获取某年某月日历的函数

# 导入日历模块
import calendar

# 创建一个日历类
class Time_Test(object):
    def __init__(self,hour,minute,second):
        self.hour = hour
        self.minute = minute
        self.second = second
        
    # 请看,这个静态函数压根就和该类没有直接的交互,只是寄存在了该类的命名空间中
    @staticmethod
    def show_claendar(year,monther):
        # 调用该模块下的配件month获取某年某月日历,并存储在变量中
        cal = calendar.month(year,monther)
        # 将变量返回
        return cal
    
# 使用类名.静态方法名来调用输出静态方法
print(Time_Test.show_claendar(2020,8))
# 实例化对象
time = Time_Test(20,57,30)
# 使用实例对象去调用并输出静态方法
print(time.show_claendar(2020,7))

你可能感兴趣的:(python,python)