Python特殊方法__init__, str, __repr__使用
大冶湖学校
2024年09月18日 20:35
收录于文集
共36篇
python

在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知识学习,欢迎关注博主。