Python类的定义、方法和属性使用
2024-10-16 23:33:16
类用来描述具有相同的属性和方法的对象的集合。
对于在类中定义的函数,称为方法。
类变量不直接叫做类变量,称为属性。
1、类的定义
例子:
class User():
pass
说明:
(1)定义了一个类名为User的类
(2)类名一般约定用大写字母开头,函数则用小写字母开头,以做区分
(3)用pass表示为空类,暂时还没准备好类的内容
2、类的方法
例子:
class User():
def say(self) -> None:
print('hello')
调用:
a = User()
a.say()
print(hex(id(a)))
print(a)
运行结果:
hello
0x36dfd68
<__main__.User object at 0x00000000036DFD68>
说明:
(1)上面定义了方法say,方法可以有0到多个参数,但第一个参数是必须有的,第一个参数有约定俗成的名字叫self在对象上调用一个方法时,不需要手动为self提供一个值,原因是解释器会自动把调用对象实例做为第一个参数,赋值给各个方法的self参数。
例如上面a.say()不需要为self提供值,解释器会自动转换为User.say(a)
(2)self 代表的是类的实例,上面hex(id(a))查询实例的内存地址,可以看出和打印对象名是同个地址。
对象可以用__repr__方法覆盖,例子:
class User():
def __repr__(self) -> str:
return '覆盖默认行为'
调用:
a = User()
print(a)
运行结果:
覆盖默认行为
3、类的属性
例子:
class User():
def __init__(self, name: str) -> None:
self.name = name
def say(self) -> str:
print('我的名字是:', self.name)
调用:
a = User('张三')
print(a.name)
a.say()
运行结果:
张三
我的名字是: 张三
说明:
(1)用构造方法__init__初始化属性,在方法中用self.属性名访问。
最新文章
- Autumn is a second spring when every leaf is a flower.
- Android深度探索--HAL与驱动开发----第五章读书笔记
- NOIP 考前 暴力练习
- 检测WCF服务是否在线第二版
- zabbix自动发现功能实现批量web url监控
- Android在TextView中实现RichText风格
- Oracle数据库——常用命令(用户管理、数据库导入导出)
- 06day2
- MySQL-python 1.2.3 for Windows and Python 2.7, 32bit and 64bit versions -(亲测可用)
- Android ProgressBar 反向进度条/进度条从右到左走
- protected private public 的区别
- WPF利用附加属性修改ShowGridLines效果
- 微服务架构 - SpringBoot整合Jooq和Flyway
- Unity4.3.4 安装出现 pattern not found
- 【译】深度双向Transformer预训练【BERT第一作者分享】
- Mysql----修改MySQL5.7的root的密码
- Jquery 行选中背景色
- Please install [clang](http://clang.llvm.org/) or check configuration `clang.executable`
- idea14导入eclipse项目并部署运行完整步骤
- Python 学习计划