- 类的定义
class Student(object): def __init__(self, name, age): self.name = name self.age = age def study(self, curse_name): print('%s正在学习%s' % (self.name, curse_name)) def watch_movie(self, movie): if self.age < 18: print('你还未满18周岁,只能看熊出没') else: print('你已经满18周岁啦,可以看到过爱情大电影啦')
总结:__init__用于定义构造函数;类属性可以在构造器中定义;类方法第一个参数不能漏掉。
- 对象的创建和使用
class Student(object): def __init__(self, name, age): self.name = name self.age = age def study(self, curse_name): print('%s正在学习%s' % (self.name, curse_name)) def watch_movie(self): if self.age < 18: print('%s还未满18周岁,只能看熊出没' % self.name) else: print('%s已经满18周岁啦,可以看岛国爱情大电影啦' % self.name) if __name__ == '__main__': stu1 = Student('小明', 15) stu1.study('数学') stu1.watch_movie() stu1 = Student('小刚', 20) stu1.study('日语') stu1.watch_movie()
总结:mian方法的定义;对象的实例化不需要new关键字
- 成员的可见性问题
class Student(object): def __init__(self, name, age): self.name = name self.age = age def __bar(self): print('bar') if __name__ == '__main__': stu1 = Student('小明', 15) # AttributeError: 'Student' object has no attribute '__bar' # stu1.__bar() stu1._Student__bar()
总结:python的类可以私有化成员方法,防止被外界访问,但是并没有严格保证类方法的私有化,我们还是可以通过修改方法的名称来访问的。
相关文章
- 03-13Python 从入门到实践:练习9-6-冰淇淋小店
- 03-13python基础教程100例题: 19&20
- 03-13Python3 为变量赋值
- 03-13Python编程从入门到实践第九章练习二
- 03-13python class的使用
- 03-13python练习程序(c100经典例15)
- 03-13python 学习day 7
- 03-13python练习程序(c100经典例20)
- 03-13python练习程序(c100经典例19)
- 03-13python练习程序(c100经典例13)