码迷,mamicode.com
首页 > 其他好文 > 详细

类方法、静态方法

时间:2018-11-20 13:31:07      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:dict   *args   技术   local   src   对象   print   show   div   

# 类方法:
class
B: country = China # 静态变量(属性,字段) def func(self): # 动态普通方法 pass def __init__(self,name,age): # 特殊方法:双下方法 self.name = name @classmethod # 类方法 def func2(cls): # print(cls) cls.area = 东北 cls.name = 狗哥 print(B) print(B.__dict__) B.func2() print(B.__dict__)

技术分享图片

 # 练习:检测一下我示例化了多少个对象。

# 类方法:必须通过类的调用,而且此方法的意义:就是对类里面的变量或者方法进行修改添加。
class C:
    count = 0
    def __init__(self):
        C.cou()

    @classmethod
    def cou(cls):
        cls.count += 1
#
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
obj = C()
print(C.count) #11

# 静态方法:

# 静态方法: 就是一个不依赖类以及对象的一个普通函数,为什么在类里面?
# 为了保证代码的一致性,可调控性,整洁性。

举个例子:
class C:
    def __init__(self):
        pass

    @staticmethod
    def func(*args, **kwargs):
        print(666)

def func(*args, **kwargs):
    print(555)
C.func()
c1 = C()
c1.func()

技术分享图片

 

技术分享图片

 

import time
class TimeTest(object):
    def __init__(self, hour, minute, second):
        self.hour = hour
        self.minute = minute
        self.second = second
    # 各种方法


    @staticmethod # 静态方法
    def showTime():
        return time.strftime("%H:%M:%S", time.localtime())

def showTime():
    return time.strftime("%H:%M:%S", time.localtime())

print(TimeTest.showTime())
t = TimeTest(2, 10, 10)
nowTime = t.showTime()
print(nowTime)

 技术分享图片

 



类方法、静态方法

标签:dict   *args   技术   local   src   对象   print   show   div   

原文地址:https://www.cnblogs.com/wangkaiok/p/9988051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!