网站首页 > 技术文章 正文
在Python学习过程中,也会有构造函数和字符串输出对象的使用,本文讲解Python中构造函数和字符串对象输出的使用方法。
具体Python开发工具可以使用Jupyter工具,推荐使用PyCharm IDE,Python环境使用Anaconda搭建。
一、__init__使用
用途:初始化方法,当创建一个新对象时被自动调用。
主要功能:设置初始状态,如给属性赋初值。
示例代码
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 创建对象
p = Person("Alice", 30)
print(p.name) # 输出: Alice
print(p.age) # 输出: 30
1.1实例案例
新建chapter06目录,在目录下新建demo01.py文件:
在demo01.py文件拷贝以上代码:
右键运行demo01.py文件,代码含义:
(1)创建了Person类;
(2)初始化Person类构造方法,传入私有成员变量name和age;
(3)创建对象,打印输出变量。
以上完成了Python构造方法和成员变量的赋值,相比Java简单好多,接下来分享字符串打印对象。
二、__str__使用
用途:转换为字符串的方法,主要用于提供易于阅读的输出。
主要功能:返回一个表示对象的字符串,通常用于打印或显示给用户。
示例代码
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} is {self.age} years old."
# 创建对象
p = Person("Bob", 25)
print(p) # 输出: Bob is 25 years old.
这个示例相比于上一个示例,初始化成员变量和构造方法后,定义了一个对象字符串输出的工具:__str__。
就类似于Java中的toString()方法,是不是比Java简单好多。
2.1实例案例
在chapter06目录下,新建demo02.py文件,拷贝以上代码:
右键运行demo02.py,查看结果:
简单的几句话,就实现了Java中对象的toString()方法,是不是很魔幻。
三、__repr__使用
用途:代表对象的“官方”字符串形式,主要用于调试和开发。
主要功能:返回一个尽可能独一无二地表示对象的字符串,理想情况下可以用来重新创建对象。
示例代码
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person('{self.name}', {self.age})"
# 创建对象
p = Person("Charlie", 22)
print(repr(p)) # 输出: Person('Charlie', 22)
这个示例就类似于按照自己的想法,重构Python对象的字符输出方法,重写了一个toString(),符合个性化定制。
3.1案例实例
在chapter06目录下新建demo03.py文件,拷贝以上代码:
右键运行demo03.py文件,查看结果:
完成了个性化打印Python对象。
透过本文分享的方法,帮助你更好的理解Python程序,掌握Python基础,在面对一些困难问题的时候不至于手忙脚乱,能读懂复杂Python代码。
详细更多Python知识学习,欢迎关注博主。
猜你喜欢
- 2024-12-09 从A到Z,一文通览Python所有内置函数:编程效率提升 100%
- 2024-12-09 关于 Python 中的类,你想知道的都在这里
- 2024-12-09 在 Python 中使用 tun/tap 发送原始网络数据包
- 2024-12-09 Python入门,一定要吃透这69个内置函数
- 2024-12-09 Python-15-类的定义和使用
- 2024-12-09 四十三、Python的输入与输出
- 2024-12-09 python中的字符串
- 2024-12-09 10个python魔法函数详解
- 2024-12-09 Python之函数高级:一文搞懂dataclass,快速定义数据类
- 2024-12-09 Python魔法函数(特殊函数)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)