【Python基础编程232 ● 面向对象 ● 静态方法】


 ---------Python基础编程---------

Author : AI菌


【内容讲解】  

一、定义静态方法的步骤:
1.在方法定义的那一行的上面,使用@staticmethod装饰器
标识下面的方法是静态方法
2.方法的第一个形参,既不是self也不是cls.

二、特点:
在方法中不能访问实例属性和实例方法了,因为在它里面得不到self
通常在这个方法中不访问实例属性和实例方法,也不访问类属性和类方法.

三、访问方式:
1.实例对象.类方法名(实参1,实参2,...)
2.类对象.类方法名(实参1,实参2,...)(推荐的方式)

四、在什么时候定义静态方法?
当在这个方法中既不访问实例属性、实例方法,也不访问类属性、类方法时.
一般工具类中的方法,定义为静态方法

【代码演示】

"""
   一、定义静态方法的步骤:
        1.在方法定义的那一行的上面,使用@staticmethod装饰器
          标识下面的方法是静态方法
       2.方法的第一个形参,既不是self也不是cls.

   二、特点:
       在方法中不能访问实例属性和实例方法了,因为在它里面得不到self
       通常在这个方法中不访问实例属性和实例方法,也不访问类属性和类方法.

   三、访问方式:
        1.实例对象.类方法名(实参1,实参2,...)
        2.类对象.类方法名(实参1,实参2,...)(推荐的方式)

   四、在什么时候定义静态方法?
       当在这个方法中既不访问实例属性、实例方法,也不访问类属性、类方法时.
       一般工具类中的方法,定义为静态方法
"""


class EncodeUtils:
    @staticmethod
    def encode(data, charset):
        print("加密...")

    @staticmethod
    def decode(data, charset):
        print("解密...")


# 实例对象.类方法名(实参1,实参2,...)
eu = EncodeUtils()
eu.encode("robit", "UTF-8")
eu.decode("robit", "UTF-8")

# 类对象.类方法名(实参1,实参2,...)(推荐的方式)
EncodeUtils.encode("robit", "UTF-8")
EncodeUtils.decode("robit", "UTF-8")
View Code

【往期精彩】

▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】

【加群交流】



原文地址:https://www.cnblogs.com/hezhiyao/p/13426465.html