python基础——对象、类(创建实例化)

2023-05-16

文章目录

  • 一、编程思想
    • 1.面向过程编程
    • 2.面向对象编程
  • 二、类、对象
  • 总结


一、编程思想

1.面向过程编程

面向过程编程实际上就是将解决问题的全部过程分解为很多步,然后一一调用下一步就能解决问题。

2.面向对象编程

面向对象编程是将解决问题的每一个环节都变成了一个个个对象,而不是用对象来实现每一个步骤,而是用来描述解决问题的每个环节的。


二、类、对象

类:一些类别、种类的集合,拥有公共特性的对象。
对象:是具有属性和方法的一种事物。对象可以在原基础上属性基础上添加新的属性。

class Play:
    player = "玩家1"
    print("Play被实例化")
    def start_game(self):
        print("打开了",self)

play1 = Play()
print(play1.__dict__)
play1.__dict__["player"] = "玩家3"
print(Play.__dict__)
print(play1.__dict__)
play1.start_game(play1.__dict__["player"])
print(play1.__dict__)
play1.__dict__["player"] = "玩家3"
print(Play.__dict__)
print(play1.__dict__)

在这里插入图片描述

对对象的操作实际上就是对字典的操作,类具有的属性和方法在未被使用之前是不会产生名称空间的,函数中的参数无论是何名字,第一个一定是对象自身

class Play:
    player = "玩家1"
    print("Play被实例化")
    def start_game(self):
        print("打开了",self)

play1 = Play() # 实例化对象
print(play1) # 实例化对象的空间
print(play1.__dict__) # 实例化对象的名称空间
print(Play.__dict__) # 类的名称空间
play1.start_game()
play1.player = "玩家2"
print("改变实例化对象的属性")
print(play1) # 实例化对象的空间
print(play1.__dict__) # 实例化对象的名称空间
print(Play.__dict__) # 类的名称空间
play1.start_game()

在这里插入图片描述
通过以上的代码可以了解,类创建后被实例化内存地址不会变动,对象的属性改变不会影响到类,对象中未被调用的方法不会再名称空间生成,类中的方法在创建时就会生成。

class Play:
    player = "玩家1"
    print("Play被实例化")

    def __init__(self, player):
        self.player = player

    def start_game(nnc):
        print("打开了", nnc.player)

如果调用了类自动调用的__init__方法就需要按照__init__来进行传参,__init__方法不需要自己去调用,只需等待类自行调用即可。

类的创建

class 类名:
定义的变量
定义的函数

对象的创建实例化

对象名 = 类名() # 空对象或者需要传入的数据

对象的内置属性或方法的调用

对象名.属性或者方法


总结

类是拥有公共特征的一堆对象,对象是有公共特征以及私有特征的类实例化而来的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python基础——对象、类(创建实例化) 的相关文章

  • 关于 vue3运行报错Internal server error: [@vue/compiler-sfc] <script setup> cannot contain ES 的处理方法

    大致的意思就是 script setup 不能使用ES模块导出 其实问题就出在 xff0c 给官方给出的方法混用了 一种是 xff1a lt script gt 标签里面配置 setup 另一种是 xff1a export default
  • sublime text 4 4126 已测可用

    1 打开浏览器进入网站https hexed it 2 打开sublime text4安装目录选择文件sublime text exe 3 搜索80 78 05 00 0f 94 c1更改为c6 40 05 01 48 85 c9 第一个匹
  • docker安装的mysql8修改my.cnf,无法启动容器解决

    参考 xff1a docker修改mysql配置文件后 xff0c 无法启动mysql容器 super ye man的博客 CSDN博客 docker 启动的mysql 配置文件 新手上路 xff0c 使用docker容器必定会遇到一些坑
  • armbian取消休眠去屏保并安装中文输入法

    dpms显示器休眠设置 xff1a 开启 xff1a sudo xset dpms 1 1 2 取消 xff1a sudo xset dpms xset设置屏保 xff1a 设置10秒后进入屏保 xff1a sudo xset s 10 6
  • QT主界面卡死崩溃解决(5种方法)

    声明 本文来自转载 文章作者 张小飞 文章链接 https cryfeifei cn 2020 05 28 qt zhu jie mian qia si de jie jue fang an yi xie ju ti shi xian fa
  • 数字电路(三)最小项和最大项

    逻辑抽象和描述 把实际问题抽象成变量和逻辑函数根据逻辑函数绘制框图使用真值表或者自然语言描述函数表达式 最小项和最大项 最小项和最大项的定义SSOP和 sum 记法最大项 xff1a 下标和真值表行号一样 xff0c 进制转换值要取反 同一
  • 自己写库文件

    自己写库文件 在项目工程文件里写 h文件写在include文件夹里c文件写在src文件里面 在系统文件夹里面写 找到系统的库文件夹 xff08 在json文件里面找 xff09 在src文件夹里面添加h文件和c文件注意新建二级文件可能会出错
  • 数字电路(四)多级输出

    多级电路 什么是多级电路 xff1a 级数大于一个级的电路如何读电路的级数 xff1a 由外向里 xff0c 层层数多级电路的优缺点 xff1a 优点是可以减少门和输入的数量 xff0c 进而减少成本 xff0c 缺点是增加电路的延时如何得
  • echarts 饼图中间自定义显示内容

    做驾驶舱时 xff0c 使用到空心饼图中间显示自定义内容 xff0c 两种方式实现 1 title 进行定位 效果差点 2 graphic 查询 api后 xff0c 最为符合的使用 graphic 代码如下 xff0c 完美实现上图效果
  • 云服务器(一)基本操作

    xshell远程连接云服务器 乌班图 修改密码注意乌班图默认是禁止ssh远程登录的 xff0c 需要进行设置参考此处 VNC图形界面 添加防火墙规则 xff1a VNC使用的是TCP协议 默认端口5901远程ssh连接安装一些必备的包 xf
  • 小松的STM32教程(6)——ADC

    预备 学习目标 学会调用Get Adc Average函数会使能多个ADC通道 概述 ADC输入电压范围 xff1a 2 4V 3 6V xff0c 一般使用0V和3 3V 数据对齐 xff1a 16bit存放12bit的转换数据 xff0
  • 小松的STM32教程(14)——内部flash模拟eeprom

    为什么要用Flash来模拟EEPORM Flash更适合作为程序存储器 xff0c EEPROM更适合作为数据存储器 xff0c 存储大量数据的时候就需要使用EEPROM xff0c 廉价的MCU往往只有FLASH而没有EEPROM xff
  • Qt小项目(三):定时器和日历

    UI QTime和Qtimer类 类区别QTimer定时器类 xff0c 当时间溢出 xff08 记时超过定时区间 xff09 的时候 xff0c 就会发出timeout信号 xff0c 触发槽函数QTime时间类 xff0c 提供时分秒
  • stm32延时函数解读

    时钟树 寄存器 SysTick gt LOAD xff1a 计时器装载值 SysTick gt VAL 当前值 SysTick gt CTRL 控制寄存器 延时初始化函数 计算AHB时钟 span class token keyword v
  • 基于 ART-PI FMC驱动SDRAM

    引脚接线图 SDRAMGPIO解释FMC A0 5PF0 5地址线FMC A6 9PF12 15地址线FMC A10 12PG0 2地址线FMC D0 1PD14 15数据线FMC D2 3PD0 1数据线FMC D4 12PE7 15数据
  • 基于ART-PI SPI驱动W25Q128

    吐槽和避坑 弄spi弄了一天 xff0c 使用的开发板是art pi家的h750 xff0c 本来准备直接用rt thread studio生成的 xff0c 但是不知道怎么回事配置出的工程文件都有问题 xff0c 不是线程运行不了就是缺少
  • TT数鸭子-暴力(csp-t1模拟)

    题目 输入输出样例 xff1a 题解 xff1a 我们整个题就是使用暴力的方法进行运算 将每一只鸭子看作是十进制的数 xff0c 不断对每一位读取 xff08 采用对十整除和取余数的方法 xff09 我们对每一个鸭子都进行判断 如果满足这个
  • C++ 输入10个数字,找出最大值、最小值及其角标 的程序

    using namespace std int main int a 10 int max min int max n min n int i for i 61 0 i lt 10 i 43 43 cin gt gt a i max 61
  • CheckedListBox 当中项的状态改变

    首先 xff0c 说下我需要实现的功能 xff0c 就是把获得数据Id显示在CheckedListBox上 xff08 单击空白处不响应 xff09 xff0c 如果在CheckedListBox上勾选的项就加入到list集合中 xff0c
  • Windows 下使用 WSL 安装 Kali Linux 子系统

    Windows 下使用 WSL 安装 Kali Linux 子系统 前言操作流程开启 适用于 Linux 的 Windows 子系统 功能通过 Microsoft Store 安装修改安装路径设置用户名和密码安装工具 WSL1 和 WSL2

随机推荐

  • ArchLinux踩过的那些坑

    1 usb模塊有問題 usb3 0的U盤 43 usb2 0的電腦 裝不上 usb2 0的U盤 43 usb3 0的電腦 裝得上 2 沒有聲音 创建 etc asound conf或 HOME asoundrc xff0c 在里面添加 xf
  • Anaconda中,onnx和pil冲突,无法安装pil解决办法

    onnx和pil冲突 xff0c 无法安装pil解决办法 conda span class token function install span pil 失败 提示onnx和pil有conflict 执行如下命令即可 conda span
  • 笔记本电脑连接wifi显示无网络无法上网

    笔记本电脑连接wifi显示无网络无法上网 一 发现问题二 解决问题三 问题解决 一 发现问题 手机可以用wifi上网 xff0c 但笔记本电脑连接相同wifi却显示无internet不能上网 二 解决问题 1 打开设置点击 网络和inter
  • SystemVerilog基础笔记

    一 Training 1 数据类型 a 两态变量 xff1a bit byte 8bit shortint 16bit int 32bit longint 64bit shortreal相当于c的float 占32bit的内存空间 real
  • opencascade + QT5 开发环境设置(Windows系统下)

    先下载opencascade7 6 0 QT5 12 12 VS2017 或2019 xff0c 两者都行 的安装包 都需要在相应官网注册 xff0c 然后进行安装 根据安装提示 xff0c 依次点击下一步即可 安装完opencascade
  • C语言:通讯录的简单实现

    目录 前言 一 题目要求和设计思路 xff1a 1 主函数内 xff1a 1 gt 基础框架 xff1a 2 gt 需要定义的变量 2 头文件列表 1 gt 结构体contacts和结构体maillist 2 gt 定义常量 3 功能函数
  • YApi启动命令

    1 进入Yapi安装目录 yapi my yapi vendors 2 启动命令 pm2 start server app js watch
  • 算法设计题3.18-栈和队列-第3章-《数据结构习题集》-严蔚敏吴伟民版

    习题集完整源码部分 第3章 栈和队列 数据结构习题集 严蔚敏 吴伟民版 源码使用说明 链接 数据结构 xff08 严蔚敏 吴伟民版 xff09 课本源码 43 习题集解析使用说明 课本源码合辑 链接 数据结构 课本源码合辑 习题集全解析 链
  • Ansible的基本搭建安装与配置及各参数选项的作用

    Ansible简介 xff1a ansible是什么 xff1f ansible是自动化运维工具 自动化运维工具那么多 xff0c 比如 xff08 statstack xff0c puppet xff0c cfengine chef fu
  • Python在字符串中引用变量

    在字符串中加入变量有三种方法 xff1a 1 43 连字符 name 61 39 zhangsan 39 print 39 my name is 39 43 name 结果为 my name is zhangsan 2 字符 name 61
  • 废旧笔记本改造安装黑群晖打造私人NAS超级详细图文教程

    事情是这样的 在我们楼下居住了10年的租客搬走了 xff0c 我感到十分的悲伤 xff01 怀着沉重的心情到楼下去收拾空荡荡的房子 然后 在一个不起眼的柜子里发现了一台被丢弃的废旧联想笔记本 xff01 作为一个合格的垃圾佬 xff0c 怎
  • 二维数组中的查找(C语言实现)

    题目描述 在一个二维数组中 xff0c 每一行都按照从左到右递增的顺序排序 xff0c 每一列都按照从上到下递增的顺序排序 请完成一个函数 xff0c 输入这样的一个二维数组和一个整数 xff0c 判断数组中是否含有该整数 思考 xff1a
  • 变量命名总结

    我在编程的时候发现自己对变量的命名比较混乱 xff0c 有时候命名无厘头也没有统一的规则 xff0c 根本没有辨识性 故今天来对变量命名的技巧和原则做个总结 xff0c 一是分享同大家学习 xff0c 二也是勉励自己 xff0c 编程路漫漫
  • HNU软件能力实训2-21. 新型冠状病毒(COVID19)传播

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 防控新冠病毒 xff0c 必须时刻引起大家的足够重视 xff0c 特别是人员集中活动场所 xff0c 保持好社交距离 然而 xff0c
  • AtCoder Beginner Contest 216 D - Pair of Balls 大模拟

    D 参考 dfs那里很妙 xff1a 队列i和local成对子 xff0c 一起pop后要继续搜loca xff0c 因为i在退出dfs后会继续在while里判断 xff0c 如果还有又进dfs xff1b span class token
  • CPU调速器Governor说明

    From http android zone it sohu com thread 11841439 1 1 html 现在很内核都会增加新的CPU调速器 xff0c 很多人不知道内核中的CPU调速器有什么用 xff0c 下面给大家详细介绍
  • QT QTreeView 显示文件目录列表,自定义默认展开指定路径

    void Widget updatedate QDirModel model 61 new QDirModel ui gt treeView gt setModel model 设置根目录位置 ui gt treeView gt setRo
  • qt之QDBus简单应用

    一 简介 QtDBus是一个使用D Bus协议进行进程间通信的仅在Unix运行的库 xff0c 是对D Bus底层API的封装实现 QtDBus模块提供了使用Qt信号槽机制扩展的接口 要使用QtDBus模块 xff0c 需要在pro工程文件
  • python 基于you-get库二次开发 网页视频下载

    you get库 You Get是一个很小的命令行实用程序 xff0c 用于从 Web 下载媒体内容 xff08 视频 音频 图像 xff09 以下是您可能想要使用它的原因 xff1a 你喜欢在互联网上的东西 xff0c 只是想下载他们为自
  • python基础——对象、类(创建实例化)

    文章目录 一 编程思想1 面向过程编程2 面向对象编程 二 类 对象总结 一 编程思想 1 面向过程编程 面向过程编程实际上就是将解决问题的全部过程分解为很多步 xff0c 然后一一调用下一步就能解决问题 2 面向对象编程 面向对象编程是将