课程名称:Python3 进阶教程(新版)
章节名称: 第2章 Python面向对象编程
讲师姓名:咚咚呛
课程内容:
什么是面向对象编程:
程序设计的范式,抽象并建立对象模型,程序是不同对象相互调用的逻辑。
类:人 class person()
属性:姓名,年龄 age
实例:小红小明 name
通过class关键字定义
实例属性的初始化:
class Person(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age xiaoming = Person('Xiao Ming', 'boy', 13) xiaohong = Person('Xiao Hong', 'girl', 14)
实例属性的优先级是要高于类属性的
并不是所有的属性都可以被外部访问的,这种不能被外部访问的属性称为私有属性。私有属性是以双下划线'__'开头的属性。
class Animal(object): __localtion = 'Asia' def __init__(self, name, age): self.name = name self.age = age @classmethod def set_localtion(cls, localtion): cls.__localtion = localtion @classmethod def get_localtion(cls): return cls.__localtion print(Animal.get_localtion()) # ==> Asia Animal.set_localtion('Afica') print(Animal.get_localtion()) # ==> Africa
学习收获:
类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
打卡截图: