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__。