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

Python 面向对象 中高级

时间:2016-09-22 19:55:42      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

类成员:
#字段
普通字段 属于对象 执行只能通过对象访问
静态字段 属于类 执行 既可以通过对象访问,也可以通过类访问
class Foo:
    def __init__(self,name):
        # 字段
        self.name = name
    # 方法
    def show(self):
        print(self.name)
obj = Foo(alex)
print(obj.name) # 调用字段,后边不需要加括号
obj.show()      # 调用方法,后边需要加括号

字段实例:

class Province:
    # 静态字段 (类比全局变量)
    country = 中国
    def __init__(self,name):
        # 普通字段
        self.name = name
henan = Province(河南)
hebei = Province(河北)
print(henan.name)       # 输出结果:河南  #通过对象访问
print(Province.country) # 输出结果:中国  #通过类访问
print(henan.country)    # 输出结果:中国  #通过对象访问
  #方法
  普通方法 保存在类中,由对象来调用 参数self 代指=>>调用对象
  静态方法 保存在类中,由类直接调用,不需要self参数
类方法 保存在类中,由类直接调用,参数cls 代指=>> 当前类
静态方法
class Foo:
    def bar(self):
        print(bar)
    @staticmethod
    def sta():
        print(123)
    @staticmethod
    def stat(a1,a2):
        print(a1,a2)
Foo.sta()
Foo.stat(1,2)

# 输出结果:
# 123
# 1 2
# 类方法
class Foo:
    def bar(self):
        print(bar)
    @classmethod
    def class_f(cls):
        print(我自己的类名)
Foo.class_f()  # 通过类直接调用访问
# 输出结果:我自己的类名
# 属性  方法的定义格式,字段的引用方式
class Foo:
    @property
    def pro(self):
        return 1
obj = Foo()
print(obj.pro)
# 输出结果:1

属性通过装饰器实现各种功能
sett
del
# 实例: 输入页码 显示分页 练习目的:通过利用属性 减少代码最后调用时,加括号。


# 属性的第二种表达方式

 



 

Python 面向对象 中高级

标签:

原文地址:http://www.cnblogs.com/hellojesson/p/5897549.html

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