为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【九月打卡】第十四天 Python面向对象编程

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

2022.09.18 22:24 33浏览

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

打卡截图:

https://img1.sycdn.imooc.com/63272a150001f9b718911142.jpg


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
0
获赞与收藏
11

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

146篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消