【从零学习python 】45.Python中的类方法和静态方法

这篇具有很好参考价值的文章主要介绍了【从零学习python 】45.Python中的类方法和静态方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类方法、静态方法

类方法

类方法是以类对象作为第一个参数的方法。需要使用装饰器@classmethod来标识其为类方法。对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数。

class Dog(object):
    __type = "狗"
    
    @classmethod
    def get_type(cls):
        return cls.__type

使用场景:

  • 当方法中需要使用类对象(如访问私有类属性等)时,定义类方法。
  • 类方法一般和类属性配合使用。

静态方法

静态方法通过装饰器@staticmethod来修饰,静态方法既不需要传递类对象也不需要传递实例对象(形参没有self/cls)。静态方法也可以通过实例对象和类对象去访问。

class Dog(object):
    type = "狗"

    def __init__(self):
        name = None

    @staticmethod
    def introduce():
        print("犬科哺乳动物,属于食肉目..")

使用场景

  • 当方法既不需要使用实例对象(如实例对象,实例属性),也不需要使用类对象(如类属性、类方法、创建实例等)时,定义静态方法。
  • 取消不需要的参数传递,有利于减少不必要的内存占用和性能消耗。

注意点:

  • 当类中定义了同名的方法时,调用方法会执行最后定义的方法。
class Dog:
    def demo_method(self):
        print("对象方法")

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

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

dog1 = Dog()
Dog.demo_method()  # 结果:静态方法
dog1.demo_method()  # 结果:静态方法

进阶案例

【Python】Python 实现猜单词游戏——挑战你的智力和运气!

【python】Python tkinter库实现重量单位转换器的GUI程序

【python】使用Selenium获取(2023博客之星)的参赛文章

【python】使用Selenium和Chrome WebDriver来获取 【腾讯云 Cloud Studio 实战训练营】中的文章信息

使用腾讯云 Cloud studio 实现调度百度AI实现文字识别

【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片

【玩转Python系列】【小白必看】使用Python爬取双色球历史数据并可视化分析

【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中

【小白必看】Python图片合成示例之使用PIL库实现多张图片按行列合成

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

【小白必看】Python词云生成器详细解析及代码实现

【小白必看】Python爬取NBA球员数据示例

【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码

【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现

【小白必看】Python爬虫数据处理与可视化

【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序

【小白必看】利用Python生成个性化名单Word文档

【小白必看】Python爬虫实战:获取阴阳师网站图片并自动保存

小白必看系列之图书管理系统-登录和注册功能示例代码

小白实战100案例: 完整简单的双色球彩票中奖判断程序,适合小白入门

使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化

使用selenium爬取猫眼电影榜单数据

图像增强算法Retinex原理与实现详解

爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析

爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

爬虫入门指南(6):反爬虫与高级技巧:IP代理、User-Agent伪装、Cookie绕过登录验证及验证码识别工具

爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】

爬虫入门指南(4): 使用Selenium和API爬取动态网页的最佳方法

爬虫入门指南(3):Python网络请求及常见反爬虫策略应对方法

爬虫入门指南(2):如何使用正则表达式进行数据提取和处理

爬虫入门指南(1):学习爬虫的基础知识和技巧

深度学习模型在图像识别中的应用:CIFAR-10数据集实践与准确率分析

Python面向对象编程基础知识和示例代码

MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作

Python文件操作指南:编码、读取、写入和异常处理

使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出“粽” # 的投稿文章

Python多线程与多进程教程:全面解析、代码案例与优化技巧

Selenium自动化工具集 - 完整指南和使用教程

Python网络爬虫基础进阶到实战教程

Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

Pandas数据处理与分析教程:从基础到实战

Python 中常用的数据类型及相关操作详解

【2023年最新】提高分类模型指标的六大方案详解

Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能

用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归文章来源地址https://www.toymoban.com/news/detail-657528.html

到了这里,关于【从零学习python 】45.Python中的类方法和静态方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零学习python - 10程序中的异常处理

    * try: ... except: ... finally: ...  使用一个计算器方法测试一下 在 try: 中的代码块如果出现异常,会根据我们下方抛出的不同异常进行捕获(ValueError - ZeroDivisionError - Exception),并且进行不同的异常处理. * raise

    2023年04月09日
    浏览(41)
  • Python 中的类与继承

    Python中,类通过 class 定义。 例如最简单的一个类定义可以为: Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。 例如上面的person类,我们可以创建很多实例: Python是动态语言,对每一个实例,都可以直接给他们的属性赋

    2023年04月27日
    浏览(43)
  • 一文解释python中的实例方法,类方法和静态方法作用和区别是啥?该如何使用

    我们都知道 ,python类中有三种常见的方法 ,分别是实例方法 ,类方法和静态方法 。那么这几个方法到底有什么作用 ? 它们之间有什么区别 ?该如何使用 ? 带着这些问题 ,下面我们就来了解下这三种方法 。 若我们要实现一个学生的类 ,里面要实现3功能,分别是: 功能

    2024年02月10日
    浏览(37)
  • 【从零学习python 】17. Python字符串的format方法(二)

    2.2 复合字段名 同时使用了数字和变量名两种形式的字段名就是复合字段名。 2.2.1 使用. 点号 传递位置参数 替换字段形式: {数字.属性名} 只有一个替换字段的时候可以省略数字 2.2. 使用[]中括号 用列表传递位置参数 用元组传递位置参数 用字典传递位置参数 中括号用法:用

    2024年02月13日
    浏览(57)
  • 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[使用静态方法和类方法]

    分类目录:《系统学习Python》总目录 相关文章: · 静态方法(staticmethod)和类方法(classmethod):基础知识 · 静态方法(staticmethod)和类方法(classmethod):使用静态方法和类方法的原因 · 静态方法(staticmethod)和类方法(classmethod):初识Python中的静态方法 · 静态方法(

    2024年01月25日
    浏览(51)
  • python中的类class: 继承、覆盖、重写、重载、扩展、多态、封装

    使用  class  创建类。类中有方法、属性。 1.1 __init__() 函数 类的内置  __init__()  函数。所有类都有一个名为 __init__() 的函数,它在启动类时执行。 使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作。 每次使用类创建新对象时,都会 自动调

    2024年02月08日
    浏览(52)
  • Python的类(Classes)——学习笔记

    When you write a class, you define the general behavior that a whole category of objects can have. 1.1 一个Class的组成部分 最直观的理解 :可以把一个class理解为一个生命体,这个生命体有一些特有的attributes(这些attributes定义了它自己)。然后这个生命体可以完成特定动作,即method。 1)特征(att

    2024年01月18日
    浏览(40)
  • Python 调用同一文件夹下另一个.py文件中的类和函数

    A.py文件如下: 在B.py文件调用A.py文件的add函数如下: 输出结果为: A.py文件如下: 在B.py文件调用A.py文件的add函数如下: 得到结果: 参考链接 python调用另一个.py文件中的类和函数或直接运行另一个.py文件

    2024年02月13日
    浏览(61)
  • 三分钟学习一个python小知识2-----------我的对python的类(Class)和对象(Object)的理解

    Python是一种面向对象的编程语言,其基本的面向对象编程机制就是类(Class)和对象(Object)。 类是一种定义对象属性和方法的蓝图或模板。 它们是一种代码结构,可以包含属性存储和函数操作,从而使其更有结构和可读性。对象则是这些类的一个实例化结果,拥有类定义的

    2024年02月10日
    浏览(55)
  • Python的类与对象、构造方法、类与对象三大特性封装、继承和多态、类型注解

      使用对象组织数据 在程序中是可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的。 在程序中设计表格,我们称之为: 设计类(class) class Student: name None #记录学生姓名 在程序中打印生产表格,我们称之为: 创建对象 #基于类创建对象 stu_1 Student() stu_2 St

    2024年02月02日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包