码迷,mamicode.com
首页 > 编程语言 > 详细

day8-python-面向对象2

时间:2016-06-28 23:30:21      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

字段、方法、属性

 1 #静态字段与普通字段
 2 class Foo:
 3     #静态字段
 4     contry = 中国
 5     def __init__(self,name):
 6         #普通字段
 7         self.name = name
 8 
 9 #普通字段的调用需要对象调用,需要实例化对象
10 hn = Foo(河南)
11 print(hn.name)
12 >>>河南
13 hb = Foo(河北)
14 >>>河北
15 #静态字段由类调用,不用实例化对象,python中静态字段 对象与类都能访问类中的静态字段,一般情况下不适用对象调用静态字段
16 print(Foo.contry) 17 >>>中国
#补充静态字段,代码加载的时候已经创建,普通字段实例化对象时调用
#构造方法,静态方法,普通方法,类方法
class Foo:
    #构造方法
    def __init__(self,name):
        self.name = name

    # 普通方法,由对象去调用,属于类
    def show(self):
        print(self.name)

    #静态方法,属于类,不能被对象调用,用类调用
    # 静态方法的使用,类中的方法不调用对象时,使用静态方法,与函数相同
    @staticmethod
    def f1(args):
        print(args)

    @classmethod
    def f2(cls):
        ret = cls(alex)
        ret.show()
#普通方法使用对象效用
obj = Foo(liguangxu)
obj.show()
>>>liguangxu
#静态方法使用类调用
Foo.f1(abc)
>>>abc
#类方法使用类调用,默认把类名当参数传入,(必须有)可在类中初始化对象。
Foo.f2()
>>>alex

 

day8-python-面向对象2

标签:

原文地址:http://www.cnblogs.com/liguangxu/p/5625103.html

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