python学习笔记三:面向对象


定义一个类

class Person:
    '''这是文档字符串'''
    phone = None 				#这是类变量
    def __init__(self, name, age = 20):
        self.name = name   #成员变量
        self.age = age
    def show(self):
        print self.name
        print self.age    

p = Person("Mat")
print p.__doc__
p.phone = 10
p.show()

输出:

Mat
20
  1. py允许在类或函数头使用文档字符串来描述其作用, 使用函数名.__doc__, 类名.__doc__或者类实例名.__doc_来获取其文档字符串
  2. 每个函数必须带一个参数, 是指向类实例的引用, 默认应该命名为self
  3. __init__函数为构造函数, python自带垃圾回收机制
  4. 类中分为类变量成员变量, 两者作用域不同, 可以理解为类变量属于类, 成员变量属于类实例.
    类变量可以通过类或者实例去调用,
    成员变量只能通过实例调用
    如果成员变量和类变量同名, 使用实例调用时默认先看实例变量
    类变量属于类, 每个对象分别在实例化时将类变量复制一份, 各个实例之间互不影响, C++的类静态变量由所有对象共同持有
  5. python没有访问控制, 没有权限控制, 所有变量都可以从外部调用, 可以在类成员加双下划线__实现伪私有化

写一个类是否继承object区别


updating

发布了81 篇原创文章 · 获赞 97 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章