Python进阶系列(二)— 类与对象

对象

  • Python是一个面向对象的语言
  • Python的内置类型实例都是对象
  • 对象包含数据和方法集合

类是对现实中的事物进行抽象的数据表示,用来定义对象们的数据结构,对象由实例化类获得。

例如这是一个玩家类,玩家有x,y和生命值三个成员变量,有move和damage两个成员函数。用Player实例化玩家,每个玩家都有各自的x,y坐标和生命值,通过move和damage修改自己的数据。

实例的话根据初始函数输入参数即可,就像函数调用一样。

python 复制代码
>>> a = Player(2, 3)
>>> b = Player(10, 20)

>>> a.x
2
>>> b.x
10

>>> a.move(1, 2)
>>> a.x
3

可以看到,我们用类实例化声明一个对象的时候,提供了两个参数,这是内置的初始化函数__init__提供的,和C++的构造函数相同。

类方法,带有self的函数,代表这是一个类成员函数,他会修改类实例的成员变量,可以通过self.x来访问对象实例的变量。对象作为第一个参数被传递。

相关推荐
大模型真好玩10 分钟前
准确率飙升!GraphRAG如何利用知识图谱提升RAG答案质量(额外篇)——大规模文本数据下GraphRAG实战
人工智能·python·mcp
198911 分钟前
【零基础学AI】第30讲:生成对抗网络(GAN)实战 - 手写数字生成
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·近邻算法
applebomb21 分钟前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
Chasing__Dreams1 小时前
python--杂识--18.1--pandas数据插入sqlite并进行查询
python·sqlite·pandas
彭泽布衣2 小时前
python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free
python·sk_pop_free
喜欢吃豆2 小时前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
一个处女座的测试3 小时前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest
nananaij3 小时前
【Python基础入门 re模块实现正则表达式操作】
开发语言·python·正则表达式
蛋仔聊测试3 小时前
Playwright 网络流量监控与修改指南
python
nightunderblackcat3 小时前
进阶向:Python音频录制与分析系统详解,从原理到实践
开发语言·python·音视频