手记

【九月打卡】第十四天 Python面向对象编程

课程名称: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



学习收获:

  1. 类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法

  2. 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。

打卡截图:


1人推荐
随时随地看视频
慕课网APP