链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#!/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()

 

posted on 2016-11-07 13:51  链条君  阅读(138)  评论(0编辑  收藏  举报