首页 > 文章列表 > python静态方法如何定义

python静态方法如何定义

python静态方法
498 2022-08-07

定义

1、静态方法也可以直接通过类名调用,不需要先创建对象。区别在于类方法的第一个参数是类本身(cls),而静态方法没有这样的参数。

如果方法需要与其他类属性或类方法互动,可以定义为类方法;如果方法不需要与其他类属性或类方法互动,可以定义为静态方法。

2、定义静态方法时,需要在方法的前面加上装饰器 @staticmethod。

class 类:
@staticmethod
    def 静态方法():
        pass

实例

import random
 
class Char:
    letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    digits = '0123456789'
    @classmethod
    def random_letter(cls):
        return random.choice(cls.letters)
    @classmethod
    def random_digits(cls):
        return random.choice(cls.digits)
    
    @staticmethod
    def random_char(string):
        if not isinstance(string, str):
         raise TypeError('需要字符串参数')
        
        return random.choice(string)

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。