python类方法举例说明_Python类方法、静态方法与实例方法

2022-09-29 12:49:34

Python类方法、静态方法与实例方法,这三个方法是class里面的一个难点,实例方法是最常见,静态方法相当于普通方法,类方法可以让整个类更加方法,添加多元化的属性。

cfa9ae04541bd10f425b322eba0e1799e82aa7d1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

python 3.7

sublime text 3

windows 7

方法/步骤

1

打开编辑器(sublime text 3),新建一个py文档。

304f0999e92abab8f43d554a4814f1c594eea1d1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

class Game():

def __init__(self, name):

self.name = name

def greeting(self):

print("Hello! Welcome %s." %(self.name))

peter = Game("Peter")

peter.greeting()

首先最基本最常见的是实例方法,重点就是在这个self。

6bbfdd14f1c595eefabc889327530688902c9ad1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

class Game():

@staticmethod

def greeting():

print("Hello!")

静态方法的时候要加入@staticmethod,并且不用加self。

4080a927ac5306882e519a7e57e8904801fc96d1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

class Game():

people = 99

@classmethod

def greeting(cls):

print("Total people is %d." %(cls.people))

类方法需要加入@classmethod,并且把self改为cls,调用的时候也要用cls。

a48bc2e8904800fcb38aa7bad42043715edb93d1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

class Game():

people = 99

@classmethod

def greeting(cls):

print("Total people is %d." %(cls.people))

Game.greeting()

类属性调用的时候要写class的名字来调用。

91091efc77f7980e995d7cc5d4db3620b83a91d1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6

class Game():

@staticmethod

def greeting():

print("Hello!")

Game.greeting()

同样调用静态方法的时候也是需要写类的名字。

423041db3620b93a06f41f71ad0f8835dc8a8ad1.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

最主要的是self和cls的区别

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

  • 作者:weixin_39951419
  • 原文链接:https://blog.csdn.net/weixin_39951419/article/details/109941553
    更新时间:2022-09-29 12:49:34