Python3学习笔记之面向对象编程

面向对象编程


参考链接:廖雪峰的官方网站



类和实例

代码示例:

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))
  • 通过class关键字来定义类,类名通常要大写,后面的括号里面表示该类继承于哪个类,所有类最终继承于object类,这类似于Java
  • python允许对实例变量绑定任何数据,因此同一个类的不同实例拥有的变量名称可能会不同
  • 特殊的__init__方法可以把必须绑定给类实例的属性填写进去,它的第一个参数永远是self,表示创建的实例本身,在创建实例的时候,必须传入与__init__方法匹配的参数,self除外
  • 实际上,Python中类中定义的函数的第一个参数都必须是self,调用时不用传递该参数
    对Student类使用实例代码:
chen = Student('chen', 13)
bart = Student('bart', 81)
chen.print_score()
bart.print_score()
chen.score = 100
bart.name = 'kobe'
chen.print_score()
bart.print_score()

输出结果:

chen: 13
bart: 81
chen: 100
kobe: 81

访问限制

  • 在内部属性的前面加上两个下划线__把它变成private,外部无法直接访问这个属性:
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))

>>> bart = Student('Bart Simpson', 59)
>>> bart.__name
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute '__name&#
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值