您的当前位置:首页正文

python静态方法的用法

2024-07-16 来源:华驼教育网

1、通过装饰器@staticmethod定义静态方法。

2、@staticmethod必须写在方法上。

3、在静态方法中访问实例属性和实例方法会导致错误。

4、调用格式:“类名.静态方法名(参数列表)”

实例

class Person:
 
    # 类属性
    school = "中加枫华国际学校"
    tuition = 100000
    count = 0
 
    # 实例属性
    def __init__(self,name,age):
        self.name = name
        self.age = age
        Person.count = Person.count+1
 
    # 静态实例
    @staticmethod
    def addNum(a,b):
      print("{0}+{1}={2}".format(a,b,a+b))
      return a+b
 
    # 实例方法
    def get_score(self):
        print("姓名:{0};年龄:{1}".format(self.name,self.age))
 
stu1 = Person("sue", 22)
stu1.get_score()
Person.addNum(1,2)

以上就是python静态方法的用法,希望对大家有所帮助。更多Python学习指路:

华驼教育网还为您提供以下相关内容希望对您有帮助:

[Python]实例方法、类方法、静态方法

静态方法:无需self或cls,直接通过类名调用,它们完全独立于实例和类的状态。静态方法常用于封装那些与类无关的通用操作,如Pizza类的cal_area()方法。在Django中,View类的as_view()方法采用而非classmethod,这种灵活性使得视图无需实例化就能处理不同请求。类方法的优势在于其独立性和便捷性,而静态...

Python中的面向对象(进阶)

静态方法其实就是把一个普通的函数写在类里,与直接在外层写一个函数是一样的,本质上是一个函数。为了方便理解,我们分别打印下这些方法的类型 通过type()查看对象是方法还是函数 此外,还可以通过inspect模块判断某个对象是否是某种类型,返回布尔值。用法 小Tips:概念理解 直接def定义的,我们叫做函数...

Python 中的 classmethod 和 staticmethod 有什么具体用途

print '静态方法sm()被调用'class B(A):pass A.cm()B.cm()A.sm()B.sm()输出:类方法cm(cls)调用者: A 类方法cm(cls)调用者: B 静态方法sm()被调用 静态方法sm()被调用 classmethod与@staticmethod的应用实例 !/usr/bin/env python -*- coding: utf-8 -*- class TClassStatic(ob...

Python 中的 classmethod 和 staticmethod 有什么具体用途

至于静态方法就是写在类里的方法,必须用类来调用(极少数情况下使用,一般都在全局里直接写函数了)

python静态方法和类方法的区别

逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆。而在Python中,方法分为三类实例方法、类方法、静态方法。代码如下:class Test(object):def InstanceFun(self):print("InstanceFun");print(self);classmeth...

如何在Python中使用static,class,abstract方法

Python使用函数默认值实现函数静态变量的方法,具体方法如下:Python函数默认值Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我们只要使用默认值就可以了。类是具有相同属性和方法的一组对象的集合。在Python中,对象是类的实例,类是对象的抽象。定义类定义类的语法和定义函数的语法类似,...

python 静态方法可以访问类方法吗

实现静态方法和类方法的两种方式 一、在Python 2.3及之前,用staticmethod和classmethod类型对象包装实现 例子如下(注意print里的说明):class MyClass:val1 = 'Value 1'def __init__(self):self.val2 = 'Value 2'def staticmd():print '静态方法,无法访问val1和val2'smd = staticmethod(...

python 类方法和静态方法的区别

逻辑上讲:类方法是只能由类名调用;静态方法可以由类名或对象名进行调用。在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆。而在python中,方法分为三类实例方法、类方法、静态方法。代码如下:class Test(object):def InstanceFun(self):print("InstanceFun");print(self);classmeth...

python静态方法能够调用实例方法和实例属性吗

不能够。根据Python编程的使用方法得知,静态方法可以没有参数,是可以直接使用类名调用的,静态方法名义上归类管理,实际中在静态方法中无法访问类和实例中的任何属性和方法的,是不能够调用实例方法和实例属性的。Python是一门流行的编程语言。它由GuidovanRossum创建,于1991年发布。

详解Python中的__new__、__init__、__call__三个特殊方法

__new__: 对象的创建,是一个静态方法,第一个参数是cls。(想想也是,不可能是self,对象还没创建,哪来的self) __init__ : 对象的初始化, 是一个实例方法,第一个参数是self。 __call__ : 对象可call,注意不是类,是对象。先有创建,才有初始化。即先__new__,而后__init__。

Top