iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python类方法和静态方法详解
  • 695
分享到

python类方法和静态方法详解

2024-04-02 19:04:59 695人浏览 薄情痞子

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

摘要

目录类方法静态方法1特点2使用场景总结类方法 需要用装饰器@claSSMethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为参数 使用场景 1当方法中需要

类方法

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

使用场景

1当方法中需要使用类对象(如访问私有类属性)时,定义类方法

2类方法一般和类属性配合使用

# 需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为参数
# 使用场景
# 1当方法中需要使用类对象(如访问私有类属性)时,定义类方法
# 2类方法一般和类属性配合使用
class Dog(object):
    __tooth = 10
    t=10
#修改私有属性
    @classmethod
    def getooth(cls, c):
        cls.__tooth = c
        return cls.__tooth
#得到私有属性
    def get(self):
        return self.__tooth

ww = Dog()
cc=Dog()
result1=ww.get()            #10
result2 = ww.getooth(100)   #100
result3=ww.get()            #100
result4=cc.get()            #100成功修改私有属性
print(result1, result2,result3,result4 )

如果去掉@classmethod后,就无法修改私有类属性,result4 变成了10

self,和cla只是名词,可以更换其它名字,@不可去掉

静态方法

1特点

需要通过修饰器@staticmethod来修饰,静态方法既不需要传递实例对象,也不需要传递类对象(形参没有sslf/cls)

静态方法也可以通过类对象和实例对象去访问

2使用场景

当方法中既不需要使用实例对象(如实例属性,实例方法),也不需要使用类对象(如类属性、类方法、创建实例等时,定义静态方法

取消不需要的参数传递,有利于减少不必要的内存占用和性能消耗

#1特点
#需要通过修饰器@staticmethod来修饰,静态方法既不需要传递实例对象,也不需要传递类对象(形参没有sslf/cls)
#静态方法也可以通过类对象和实例对象去访问
#2使用场景
#当方法中既不需要使用实例对象(如实例属性,实例方法),也不需要使用类对象(如类属性、类方法、创建实例等时,定义静态方法
#取消不需要的参数传递,有利于减少不必要的内存占用和性能消耗
class Dog(object):
    @staticmethod
    def static():
        print("这是一个静态方法")
dog=Dog()
dog.static() #这是一个静态方法
Dog.static() #这是一个静态方法

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: python类方法和静态方法详解

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python类方法和静态方法详解
    目录类方法静态方法1特点2使用场景总结类方法 需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为参数 使用场景 1当方法中需要...
    99+
    2022-11-12
  • Python探索之静态方法和类方法的区别详解
    面相对象程序设计中,类方法和静态方法是经常用到的两个术语。 逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。 python staticmethod and classmethod ...
    99+
    2022-06-05
    方法 静态 详解
  • 详解Python中的静态方法与类成员方法
    前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目。对Python中的类,类之间的组织关系,整个项目中类之间如何耦合还缺乏认识。打...
    99+
    2022-06-04
    方法 静态 详解
  • python基础之类方法和静态方法
    目录类方法静态方法复习总结类方法 class People: country='China' # 类方法 用classmethod来修饰 @classm...
    99+
    2022-11-12
  • Python类方法和类方法静态方法分别是什么
    这篇文章主要讲解了“Python类方法和类方法静态方法分别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python类方法和类方法静态方法分别是什么”吧!一、前言类方法也可以进行更细致...
    99+
    2023-06-15
  • 详解python中静态方法staticmethod用法
    在开发的时候, 可以使用类对方法进行封装,如果某一个方法需要访问到对象的实例属性,可以把这个方法封装成一个实例方法。如果某一个方法不需要访问对象的实例属性,但是需要访问到类的类属性,...
    99+
    2022-11-11
  • python编程普通及类和静态方法示例详解
    目录前言运行环境普通方法类方法静态方法前言 本文主要讲述了python类中的三类常用方法,普通方法、类方法和静态方法。  本文主要参考了https://youtu.be/r...
    99+
    2022-11-12
  • Python 类方法和静态方法之间的区别
    目录前言1. 实例方法 instance method2. 类方法 class method3. 静态方法 static method前言 类中不仅可以有 methods,还可以有变...
    99+
    2022-11-11
  • python静态方法和类方法有什么区别
    Python中的静态方法和类方法都是与类相关联的方法,但它们有一些区别:静态方法:- 静态方法与类的实例无关,不需要访问实例中的属性...
    99+
    2023-10-11
    python
  • 浅谈python中的实例方法、类方法和静态方法
    在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法,sel...
    99+
    2022-06-04
    方法 浅谈 静态
  • Python中静态方法,类方法,属性方法使用方法
    目录1.静态方法2.类方法3.静态方法与类方法总结4.属性方法1.静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普...
    99+
    2022-11-11
  • Python的类方法与静态方法的使用
    本篇内容主要讲解“Python的类方法与静态方法的使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的类方法与静态方法的使用”吧!在Python语言中有如下3种方法:成员方法类方法(...
    99+
    2023-06-15
  • Python中的实例方法、类方法、静态方法的区别
    一、参数的区别 实例方法:实例方法的名列前茅个参数总是实例对象self,它是类实例的一个引用。 类方法:类方法的名列前茅个参数总是类对象cls,它表示该方法属于类而非实例。 静态方法:静态方法没有特定的名列前茅个参...
    99+
    2023-10-29
    方法 静态 实例
  • python实例方法、静态方法与类方法源码分析
    本篇内容介绍了“python实例方法、静态方法与类方法源码分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-19
  • Python中静态方法,类方法,属性方法怎么使用
    本篇内容介绍了“Python中静态方法,类方法,属性方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.静态方法通过@static...
    99+
    2023-06-30
  • 详解Java8中接口的默认方法和静态方法
    目录一、基本语法二、使用场景三、作用四、使用案例三、总结Java 8是Java语言的一个重要版本,其中引入了许多新特性和改进,其中一个值得关注的特性是接口的默认方法和静态方法。这篇文...
    99+
    2023-05-20
    Java8接口默认方法 Java8接口静态方法 Java8接口 Java8新特性
  • Python实例方法与类方法和静态方法介绍与区别分析
    目录1.实例方法2.类方法3.静态方法4.实例方法与类方法和静态方法的区别1.实例方法 Python 的实例方法用得最多,也最常见。我们先来看 Python 的实例方法。 class...
    99+
    2022-11-11
  • java中什么是静态方法和非静态方法
    本篇文章为大家展示了java中什么是静态方法和非静态方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的...
    99+
    2023-06-14
  • Java8接口之默认方法与静态方法详解
    目录前言为什么选择默认方法?Java 8示例:接口中的默认方法Java 8示例:接口中的静态方法Java 8 - 抽象类与接口总结前言 在Java8之前,java中的接口只能有抽象方...
    99+
    2022-11-13
  • JS中关于Class类的静态属性和静态方法
    目录一、类的两个概念二、对象的两个部分1、属性 2、方法三、静态方法使用:在方法前加上static关键字1、为什么使用静态方法三、总结1、静态属性和非静态属性的区别2.使用...
    99+
    2022-11-13
    JS中Class类 Class类静态属性 Class类静态方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作