返回顶部
首页 > 资讯 > 后端开发 > Python >python中@staticmethod
  • 142
分享到

python中@staticmethod

pythonstaticmethod 2023-01-31 05:01:25 142人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@claSSMethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利


一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@claSSMethod,就可以不需要实例化,直接类名.方法名()来调用。

这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。


既然@staticmethod和@classmethod都可以直接类名.方法名()来调用,那他们有什么区别呢从它们的使用上来看,

  • @staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。

  • @classmethod也不需要self参数,但第一个参数需要是表示自身类的cls参数。

  •     如果在@staticmethod中要调用到这个类的一些属性方法,只能直接“类名.属性名“或“类名().方法名“。

  •     而@classmethod因为持有cls参数,可以来调用类的属性,类的方法,实例化对象等,避免硬编码。



示例代码如下:

A():
    bar = ():
        ():
        A.bar
        A().foo()


    ():
        .bar
        A.bar
        ().foo()
        A().foo()

A.static_foo()
A.class_foo()


输入结果如下:

static_foo

A.bar= 1

foo

class_foo

cls.bar= 1

A.bar= 1

foo

foo




转自:Http://blog.csdn.net/handsomekang/article/details/9615239


--结束END--

本文标题: python中@staticmethod

本文链接: https://lsjlt.com/news/188276.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python中@staticmethod
    一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利...
    99+
    2023-01-31
    python staticmethod
  • python中的classmethod与staticmethod
    目录1.静态方法(staticmethod)2.类方法(classmethod)为什么会出现classmethod1.静态方法(staticmethod) 静态方法: @static...
    99+
    2024-04-02
  • @staticmethod
    -----------------------------------------------------------代码部分:class Dog(object): def __init__(self,name): se...
    99+
    2023-01-30
    staticmethod
  • 详解python中@classmethod和@staticmethod方法
    在python类当中,经常会遇到@classmethod和@staticmethod这两个装饰器,那么到底它们的区别和作用是啥子呢?具体来看下。 @classmethod :默认有一...
    99+
    2024-04-02
  • 详解python中静态方法staticmethod用法
    在开发的时候, 可以使用类对方法进行封装,如果某一个方法需要访问到对象的实例属性,可以把这个方法封装成一个实例方法。如果某一个方法不需要访问对象的实例属性,但是需要访问到类的类属性,...
    99+
    2024-04-02
  • Python函数介绍:staticmethod函数的功能和示例
    Python函数介绍:staticmethod函数的功能和示例Python是一种功能强大的编程语言,它具有丰富的内置函数和模块,能够帮助我们轻松完成各种任务。其中一个有用的函数是staticmethod函数。本文将介绍staticmetho...
    99+
    2023-11-03
    功能 关键词:Python函数 Python函数介绍:staticmethod函数 staticmethod
  • 怎么使用@Staticmethod、@Classmethod和@Property类装饰器
    这篇文章主要讲解了“怎么使用@Staticmethod、@Classmethod和@Property类装饰器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用@Staticmethod、...
    99+
    2023-06-15
  • python3--面向对象的三大特性:封装,property,classmethod,staticmethod
    python中的封装隐藏对象的属性和实现细节,仅对外提供公共访问方式好处:1 将变化隔离2 便于使用3 提供复用性4 提高安全性封装原则1 将不需要对外提供的内容都隐藏起来2 把属性都隐藏,提供公共方法对其访问私有变量和私有方法在pytho...
    99+
    2023-01-30
    三大 面向对象 特性
  • [Python ] python中文件的
    原文地址: http://blog.163.com/qimeizhen8808@126/ 这女孩写的挺好,有值得学习的地方。   1) 文件的打开和创建,关闭  a)文件的打开和创建 主要有两个open()和file()两个方法。它们的功能...
    99+
    2023-01-31
    文件 Python python
  • 初窥Python(五)——python中
    1. 介绍decorator是用来在代码运行期间动态增加功能的,本质上是一个返回函数的高阶函数。假设现在有这样一种需求,即在每个函数调用前记录日志,记录被调用的函数名称,可以这样实现:def log(func):     def wrapp...
    99+
    2023-01-31
    初窥 Python python
  • python中virtualenvwr
    虚拟环境 使用virtualenvwrapper前先说一下virtualenv,virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要在虚拟环境所在目录下的bin目录下执行source命令、activate命令,而我们又很难记...
    99+
    2023-01-31
    python virtualenvwr
  • Python中ImportError:
    Python脚本在编译的时候,经常会遇到ImportError: No module named *** 的错误错误提示:ImportError: No module named request问题分析:原因是Python中有些模块未导入。...
    99+
    2023-01-31
    Python ImportError
  • Python中time
    def get_time(): time_array = time.localtime() time_array = time.mktime(time_array) return time.strftime("%Y ...
    99+
    2023-01-31
    Python time
  • 【Python】在python中使用MySQL
    文章目录 0 前言1 参考链接2 数据库概述3 MySQL配置3.1 下载及安装3.1.1 其他安装方式 3.2 环境配置3.3 基本使用3.4 问题解决3.4.1 如何重置密码3.4....
    99+
    2023-09-10
    mysql python 数据库 pymysql
  • 【Python】Python语言基础(中)
    ❤️博客主页: iknow181 🔥系列专栏: Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 目录 第十章 Python的数据类型 基本数据类型...
    99+
    2023-10-18
    python 开发语言
  • 【Python学习笔记】-Python中
    python中的格式为 为真时的结果 if 判定条件 else 为假时的结果 实例: print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0 一般用于判断赋值中,例...
    99+
    2023-01-31
    学习笔记 Python
  • 【Python学习21】Python中函
    今天学习了Python函数的用法,了解了使用Python如何定义一个函数。而且代码编写过程中也遇到了一些小小的错误,特此记录一下,以方便以后在遇到同样错误时能够快速找到问题的点。 # --coding: utf-8 -- # 定义4个简单的...
    99+
    2023-01-31
    Python
  • Python中SQL——LIKE中的%
    转载自:http://blog.csdn.net/chenxiao_ji/article/details/51332791 需求:做项目的过程中,使用了MySQL数据库,后台使用Python来做逻辑层。项目中需要实现一个功能,通过输入搜索框...
    99+
    2023-01-31
    Python SQL
  • python(一):Python中的主函数
    Python中的主函数 1、概述2、主函数2.1、Python文件作为脚本运行2.2、将Python文件作为模块运行 3、总结 1、概述 大家好,我是欧阳方超。今天说一下Python中...
    99+
    2023-09-22
    python 开发语言 数学建模
  • 【Python】解析Python中的条件
    1.if语句 if语句有好几种格式,比如: if condition: statement 使用 if ... else ...: if condition: statement(1) else: state...
    99+
    2023-01-31
    条件 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作