类的方法

类的方法类的方法有五种: 实例方法:实例对象的方法,由各实例对象独享 类方法:类对象的方法,由所有实例对象共享 自由方法:由类所在命名空间管理,类对象独享 静态方法:由类对象和实例对象共享 保留方法: 保留使用,如_len_() 1.实例方法 def < 方法名>(self, <参数列表&

类的方法"

类的方法有五种:

  1. 实例方法:实例对象的方法,由各实例对象独享
  2. 类方法:类对象的方法,由所有实例对象共享
  3. 自由方法:由类所在命名空间管理,类对象独享
  4. 静态方法:由类对象和实例对象共享
  5. 保留方法: 保留使用,如_len_()

1.实例方法

          def < 方法名>(self, <参数列表>)

          

class Democlass:
    def __init__(self, name): #创建构造函数
        self.name = name       #创建实例属性name
    def lucky(self):            # 创建实例方法lucky
        s = 0
        for c in self.name:
            s+=ord(c)%100
        return s
dc1 = Democlass("老王")
dc2 = Democlass("老李")
print(dc1.name,"的幸运数字是:",dc1.lucky())
print(dc2.name,"的幸运数字是:", dc2.lucky())


运行结果:老王 的幸运数字是: 148
        老李 的幸运数字是: 115

 

2.类方法

  class <类名>

          @classmethod

           def <方法名> (cls, <参数列表>)

  • 类方法至少包含一个参数,表示类对象,建议使用cls
  • @classmethod 是装饰器
  • 类方法只能操作类属性和其他类方法,不能操作实例属性和实例方法
class Democlass:
    count = 0
    def __init__(self,name):
        self.name = name
        Democlass.count +=1
    @classmethod
    def getchrcount(cls):
        s = "零一二三四56789"
        return s[Democlass.count]  #类方法只可以操作类属性,count为类属性
dc1 = Democlass("老王")
dc2 = Democlass("老李")
print(dc1.getchrcount())
print(Democlass.getchrcount())  
  

运行结果: 二
         二

3.自由方法(定义在类的命名空间中的函数,由类对象独享)

     def <方法名>(<参数列表>)

自由方法不需要self或cls这类参数,可以没有参数

自由方法只能操作类属性和类方法,不能操作实例属性和实例方法

自由方法的使用只能使用< 类名>

class Democlass:
    count = 0
    def __init__(self,name):
        self.name = name
        Democlass.count+=1
    def f00():          #创建自由方法
        Democlass.count*=100
        return Democlass.count
dc1 = Democlass("老王")
print(Democlass.f00())

运行结果: 100

4.静态方法

          class < 类名>

               @staticmethod

               def < 方法名>(<参数列表>)

           静态方法只能操作类属性和类方法

class Democlass:
    count = 0
    d
def __init__(self,name):
        self.name = name
        Democlass.count+=1
    @staticmethod
    def f00():          #创建静态方法
        Democlass.count*=100
        return Democlass.count
dc1 = Democlass("老王")
print(Democlass.f00())
print(dc1.f00())



运行结果:100
        10000

5.保留方法

class Democlass:
    def __init__(self,name):
        self.name = name
    def __len__(self):
        return  len(self.name)
dc1 = Democlass("老王")
dc2 = Democlass("kjuj")
print(len(dc1))
print(len(dc2))


运行结果:二
        四

 

今天的文章类的方法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/46294.html

(0)
编程小号编程小号
上一篇 2023-08-24
下一篇 2023-08-24

相关推荐

发表回复

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