• Python基础入门篇【28】--python初识面向对象


    前言
    作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
    💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
    💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
    如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

    python初识面向对象

    什么是面向对象编程

    利用(面向)对象(属性与方法)去编程的过程

    自定义对象数据类型就是面向对象中的类(class)

    想要面向对象需要先创建一个类,通过这个类,才能实例化出一个对象

    举个例子:

    创建类:假如人类是一个类且有自己的属性(有名字,两条腿,穿衣服)和功能(会唱歌,会弹吉他,会跳舞),当然不是所有人都具备类里的所有功能。

    实例化类:每个人就是实例化这个类,比如实例化出一个人叫做小明,小明会唱歌、跳舞。"小明"是这个对象的属性,"唱歌、跳舞"是这个对象的功能。

    也可以对实例化的对象赋予单独的属性。比如小明身高178cm。

    类的关键字class

    关键字class来声明类,类的名称首字母大写,多单词情况下每个单词首字母也要大写(驼峰命名)

    class Name(object):  
        attr = something
        
        def func(self):
            do
    
    • 1
    • 2
    • 3
    • 4
    • 5

    object是python中的一个通用对象,python3.0中建议书写,会带有更多的内置功能,以后会详细介绍。

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jHsGByVF-1658912912628)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727151048226.png)]

    类中的函数必须先进行实例化,然后通过实例化对象去调用,否则不能被调用:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BMULaUTr-1658912912630)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727162427365.png)]

    类的参数self

    • self是类函数中的必传参数,且必须放在第一个参数的位置。否则就不是类函数了
    • self是一个对象,他代表实例化的对象自身,是实例化的对象属性与功能与类的属性与功能的桥梁。
    • self可以通过点来定义一个类变量:self.name = 'xiaoming'
    • self中的变量含有self参数的函数可以在类中任何一个函数内随意调用
    • 非函数中定义的变量在定义的时候不用self

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIb5Xslq-1658912912632)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727160959047.png)]

    如果在类中定义的函数没有添加self参数,那么这个函数将不能被任何实例化的对象调用:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0rinlAOY-1658912912633)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727161918338.png)]

    没有添加self参数,也不能被类内部的函数调用:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zeYbvYpG-1658912912635)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727162617413.png)]

    在类函数内部在写一个参数可以不用添加self参数,但实例化对象调用只支持调用类函数,不能单独调用类函数内部的函数。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDuN53h5-1658912912636)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727162824377.png)]

    类的构造函数

    类中的一种默认函数,用来将类实例化的同时,将参数传入类中

    构造函数一般写在类的最上方

    构造函数的创建

    def __init__(self,a,b):
    	self.a = a
        self.b = b
    
    • 1
    • 2
    • 3

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRSPcatG-1658912912637)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727165002152.png)]

    对象的生命周期

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXeAT2ky-1658912912638)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727170417959.png)]

    python中的内存管理都是自动执行的,我们不需要实际的去在类中添加和调用del函数。

    python中实例化对象的时候会自动生成del函数,不用的时候也会自动调用del函数释放内存空间。

  • 相关阅读:
    text2sql、nl2sql框架总结
    长城软件面经
    15【react-Hook (下)】
    02 【setup reactive ref】
    Spring学习②__IOC分析
    .net 温故知新:【10】.NET ORM框架EFCore使用入门之CodeFirs、DBFirst
    黑马C++ 03 提高5 —— STL常用容器_stack栈容器/queue队列容器/list链表容器
    oracle21c报错 【ORA-65096: 公用用户名或角色名无效】
    Web基础与HTTP协议
    ThinkPHP 8.x MVC 数据库用户增加功能demo实现
  • 原文地址:https://blog.csdn.net/weixin_44629511/article/details/126018955