当前位置: 首页 > news >正文

【python实操】python小程序之对象的属性操作

引言

python小程序之对象的属性操作

文章目录

  • 引言
  • 一、对象的属性操作
    • 1.1 题目
    • 1.2 代码
    • 1.3 代码解释
  • 二、思考
    • 2.1 添加属性
    • 2.2 获取属性

一、对象的属性操作

1.1 题目

给对象添加属性

1.2 代码

class Cat:# 在缩进中书写⽅法def eat(self):# self 会⾃动出现,暂不管print(f'{id(self)}, self')print(f'⼩猫{self.name}, 爱吃⻥...')
# 2. 创建对象blue_cat = Cat()
print(f'{id(blue_cat)}, blue_cat')
# 给 蓝猫添加 name 属性
blue_cat.name = '蓝猫'
# 3. 通过对象调⽤类中的⽅法
blue_cat.eat()
# blue_cat 对象调⽤ eat ⽅法, 解释器就会将 blue_cat 对象传给 self
print('_*_' * 30)
# # 创建对象
black_cat = Cat()
black_cat.name = '⿊猫'
print(f"{id(black_cat)}, black_cat")
black_cat.eat()
# black_cat 对象调⽤ eat ⽅法, 解释器就会将 black_cat 对象传给 self

输出结果:
在这里插入图片描述

1.3 代码解释

  • 在python中,self参数是实例方法的第一个参数,代表当前正在调用该方法的对象
  • 当通过一个对象调用方法时,python会自动将这个对象作为第一个参数传递给方法,所以在这个例子中,当blue_cat.eat()被调用时,self参数就是blue_cat对象
  • 当black_cat.eat()被调用时,self参数就是black_cat对象
  • 输出结果将显示两个不同的内存地址,因为blue_cat和black_cat是两个不同的对象,并且会打印出每个对象的name属性和字符串"爱吃鱼…"
  • 此外,还会在两个对象的eat方法调用之间打印一行由_*_组成的分隔线

二、思考

对象的属性操作有添加属性和获取属性两方面

2.1 添加属性

对象.属性名 = 属性值

  1. 类内部添加
    在内部⽅法中, self 是对象,
    self.属性名 = 属性值

在类中添加属性⼀般写在 init ⽅法中

  1. 类外部添加
    对象.属性名 = 属性值 (⼀般不使用)

2.2 获取属性

对象.属性名

  1. 类内部
    在内部⽅法中,self 是对象,self.属性名
  2. 类外部
    对象.属性名(⼀般很少使用)
http://www.lryc.cn/news/455427.html

相关文章:

  • HCIP——网络类型及数据链路层协议
  • 数据结构——栈与队列的实现(全码)
  • MacOS编译和安装Poco库的方法
  • 医院管理新境界:Spring Boot技术突破
  • Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控
  • 渗透测试入门学习——使用python脚本自动跟踪csrf_token实现对网站登录界面的暴力破解
  • stc8最小系统使用usb下载程序,关于断电的避坑
  • API 数据接口:使用操作流程与安全指南
  • elasticsearch 8.2 版本如何设置config/elasticsearch.yml
  • 华为 HCIP-Datacom H12-821 题库 (33)
  • 【网络篇】计算机网络——运输层详述(笔记)
  • 用java编写飞机大战
  • java Map中get方法爆错NullPointerException
  • ElasticSearch备考 -- Multi field
  • 刷题 图论
  • 基于JAVA的鲜花商城管理系统(源码+定制+讲解)鲜花商城管理系统、鲜花商城管理平台、鲜花商城信息管理、鲜花商城系统开发与应用、鲜花在线商城管理系统
  • 深圳大学-Java程序设计-选实验1 基础知识练习
  • 第 33 章 Ajax
  • LeetCode 209 Minimum Size Subarray Sum 题目解析和python代码
  • C# 入坑JAVA 潜规则 注解 列表 listMch,该列表存储了一个映射(Map)的集合 等 入门系列3
  • 2024年9月个人工作生活总结
  • JVM有哪些参数以及如何使用
  • STM32编码器接口解析及抗噪声措施探讨
  • 微软发布Windows 11 2024更新,新型Copilot+ AI PC功能亮相
  • 鹏哥C语言68-70---位操作符+单目操作符+关系操作符
  • showdoc二次开发
  • 力扣16~20题
  • Pikachu-Sql-Inject -基于boolian的盲注
  • 最后30天,你的系统集成项目管理工程师备考进度到哪儿了?
  • 网络安全事件的发生,主要原因是什么