您的位置 首页 seo基础

python 类方法,静态方法,普通方法的区别

类方法: class Person: # 成员方法:通过对象调用 def eat(self): print(‘能吃是福’)   # 类方…

类方法:

class Person:

# 成员方法:通过对象调用

def eat(self):

print(‘能吃是福’)

 

# 类方法:通过类名调用

@classmethod

def test(cls):

# cls:表示当前类

print(cls)

 

# 可以创建对象 或 简单的创建对象

@classmethod

def create(cls):

p = cls()

p.age = 1   可简洁创建对象,对外提供简易的接口。

静态方法:

class Person:

# 定义静态方法:也是通过类名调用,但是没有第一个表示当前类的参数

@staticmethod

def test():

print(‘静态方法 test’)

 

形式上(传参)的区别

 

实例方法隐含的参数为类实例self,而类方法隐含的参数为类本身cls。 静态方法无隐含参数,主要为了类实例也可以直接调用静态方法。

 

逻辑上的区别:

类方法被类调用,而且因为传入了参数cls,故也可以由实例来调用,实例方法被实例调用,(普通方法)应该由实例调用,类不能调用。静态方法两者都能调用。

 

三种方法和属性的关系

实例方法(普通方法)————随着实例属性的改变而改变

 

类方法(无论是类调用还是实例调用———都是类属性的值,不随实例属性的变化而变化

 

静态方法—————不可以访问类属性,故直接输出传入方法的值

 

本文来自网络,不代表立场,转载请注明出处:http://www.zhengzhou888seo.com/3553.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

18134416366

在线咨询: QQ交谈

邮箱: 894974231@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部