#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 静态方法和普通方法 方法都是属于类的 静态方法由类调用执行;普通方法由对象调用执行 ''' class Province: country = '中国' #静态字段 def __init__(self,name): self.name = name #普通字段 #普通方法:至少一个参数(self) # 由对象去调用执行(方法属于类) def show(self): print(self.name) #静态方法:无self参数(可以有其他参数),方法上面要添加@staticmethod #类中有些方法根本没有用到对象封装的字段,要执行这些方法还要先创建对象就显得多余,这时,就可以使用静态方法了 @staticmethod def f1(arg): print(arg) #类方法:至少要有一个参数(cls,和普通方法中的self参数类似) #类方法是静态方法的一种 # 和一般的静态方法相比,就是多了一个cls参数,可以自动将类本身传递进去 @classmethod def f2(cls): print(cls) #cls代指class本身 obj = Province('河南') obj.show() #对象调用普通方法 Province.f1(111) #静态方法是通过类来调用 Province.f2()
关注我的公众号,不定期推送资讯
本文来自博客园,作者:链条君,转载请注明原文链接:https://www.cnblogs.com/MacoLee/articles/6038550.html