Python学习笔记20151211

面向对象编程

* 数据类被视为一个对象
* `class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))`
    * 属性绑定
        * `__init__` 方法
        * 第一个参数永远是`self`,表示创建的实例本身,因此,在`__init__` 方法内部,就可以把各种属性绑定到self, 因为self就指向创建的实例本身
        * 在创建了`__init__` 方法之后,在创建实例的时候,就不能直接传入空的参数了,必须传入与`__init__` 匹配的参数,但是self 本身不需要传递,Python解释器自己会把实例变量传进去

    * 数据封装
        * 定义一个方法,除了第一个参数是self之外,其他的地方和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入
    * 类是创建实例的模板,而实例则是一个个的具体的对象,各个实例拥有的数据都互相独立,互不影响;
    * python 允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然他们都是同一个类的不同实例,但是拥有的变量名称可以不同

 * 内部属性可以被外部访问和修改
     * `    def __init__(self, name, score):
                self.name = name
                self.score = score`
 * 内部属性不可以被外部访问和修改
    * `     def __init__(self, name, score):
                self.__name = name 
                self.__score = score`
    *  属性的名称前面加上两个下划线`__`, 在python中,如果实例的变量名以`__`开头,就变成了一个私有变量,外部不能访问
* 在python中,变量名以 `__xx__`,是特殊变量,并不是私有变量

继承和多态

* 父类和子类
    * 子类自动继承父类的方法
    * 当子类和父类同时定义同名的方法时,子类的方法覆盖父类的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值