python装饰器类方法classmethod的使用场景

 更新时间:2023年06月16日 11:29:27   作者:软件开发技术修炼  
这篇文章主要为大家介绍了python装饰器类方法classmethod的使用场景,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

【ps: 最近遇到的@classmethod比较多,故温故下其用法,一篇例子足以了解】

功能:讲解 @classmethod的使用

1、类中创建一个成员函数,用@classmethod装饰,作用类似静态类,但不一样的是可传递类参数;

2、调用方法:先用函数对字符串进行处理,再使用Date_test2类的构造函数初始化;

3、好处是:重构类时,不必修改构造函数,只需额外添加要处理的函数即可,然后使用装饰符@classmethod

@classmethod机制,可用一种与构造器相仿的方式来构造类的对象

# -*- coding: utf-8 -*-
'''
@Time    : 2023/6/12 11:36
@Author  : Celeste
@File    : classmethod_.py
'''
class Date_test2(object):
    day = 0
    month = 0
    year = 0
    def __init__(self, year=0, month=0, day=0):
        self.day = day
        self.month = month
        self.year = year
    @classmethod
    def get_date(cls, string_date):
        # 这里第一个参数是cls,表示调用当前的类名
        year, month, day = map(int, string_date.split('-'))
        date1 = cls(year, month, day)
        # 返回的是一个初始化后的类
        return date1
    def out_date(self):
        print("year :", self.year)
        print("month :", self.month)
        print("day :", self.day)
t = Date_test2(2020,3,6)
t.out_date()
r = Date_test2.get_date("2023-6-12")
r.out_date()

本场景可看到的好处:

1、将处理的函数统一放入类中,使代码更加简洁

2、可以同时支持两种输入格式。

a:“2019,10,26”,

b:“2019-10-26”

3、使代码更加容易维护

类方法与静态方法@staticmethod的区别及使用场景

一般情况下,我们的类方法,和静态方法多出现在工具类中,也就是不需要创建对象就可以调用的方法。

类方法:在方法中只使用类属性和类方法时,我们使用类方法。
静态方法:当方法中,既不是用类的属性和方法,也不适用实例的属性和方法时,我们使用静态方法。

类方法的应用范围比静态方法的使用场景要多一些,如果实在拿不定注意,就先写类方法, 如果发现cls参数并没有被使用,那么我们就可以切换为静态方法了。

以上就是python装饰器类方法classmethod的使用场景的详细内容,更多关于python装饰器类classmethod的资料请关注脚本之家其它相关文章!

相关文章

  • PyCharm中代码字体大小调整方法

    PyCharm中代码字体大小调整方法

    在本篇文章里小编给大家分享了关于PyCharm中代码字体大小调整方法以及相关知识点,需要的朋友们学习下。
    2019-07-07
  • python列出目录下指定文件与子目录的方法

    python列出目录下指定文件与子目录的方法

    这篇文章主要介绍了python列出目录下指定文件与子目录的方法,涉及Python使用os模块与glob操作目录与文件的技巧,需要的朋友可以参考下
    2015-07-07
  • python输出数学符号实例

    python输出数学符号实例

    这篇文章主要介绍了python输出数学符号实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 利用Python将彩色图像转为灰度图像的两种方法

    利用Python将彩色图像转为灰度图像的两种方法

    这篇文章主要给大家介绍了关于利用Python将彩色图像转为灰度图像的两种方法,以及python 批量将图片转为灰度图的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • Python实现井字棋小游戏

    Python实现井字棋小游戏

    这篇文章主要为大家详细介绍了Python实现井字棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers

    零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers

    文章首先介绍了urllib2的2个方法,然后详细介绍了urllib2中的2个重要概念Openers和Handlers的相关知识,希望能对大家有所帮助
    2014-11-11
  • Python求字符串的长度示例代码

    Python求字符串的长度示例代码

    这篇文章主要介绍了Python求字符串的长度,求一个字符串的长度,在main函数中输入字符串,并输出其长度,文中给大家介绍了Python计算字符串长度的函数,需要的朋友可以参考下
    2023-02-02
  • Python OpenGL绘制一场烟花盛会

    Python OpenGL绘制一场烟花盛会

    正值新春佳节,小编今天为大家带来了用Python OpenGL绘制的一场烟花盛会,文中的实现步骤讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02
  • Python Google风格注释的使用

    Python Google风格注释的使用

    Google风格注释是一种Python代码注释的标准化格式,它提供了一种规范的注释格式,使得代码更加易读、易于维护,本文就来介绍一下Google风格注释的语法和用法,感兴趣的可以了解一下
    2023-11-11
  • Python获取任意xml节点值的方法

    Python获取任意xml节点值的方法

    这篇文章主要介绍了Python获取任意xml节点值的方法,涉及Python操作XML节点的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05

最新评论