博客
关于我
Python中关于类和函数的初体验之"__init__"和"__str__"不是"_init_"和"_str_"
阅读量:799 次
发布时间:2023-03-09

本文共 644 字,大约阅读时间需要 2 分钟。

刚刚接触Python,今天就怎么也调试不过去了。上网上查直到晚上才查到一个有效信息,真是坑啊!原来Python中的这些“魔法”方法的命名里就有陷阱……

这些“魔法”方法的命名里就有陷阱,比如str和init前后都是两个"",写一个""按F5运行肯定有问题!

拿我的同事猫脸屁做个类,因为他最烦人,所以我学习的时候也会带着他(二次元击打松尾芭蕉桑):

class PiCat:    def __init__(self, name, age):        self.name = name        self.age = age    def __str__(self):        msg = "Hi, I'm " + self.name + ", I'm " + str(self.age) + " years old."        return msgmlp = PiCat("Lianpi Mao", int(GetNowYear())-1990)print(mlp.name)print(mlp)

这个程序很简单,就是让猫脸屁说一下自己的名字,并做一下自我介绍。

坑的就是那两个"_"啊!!!

是 __str__ 而不是 _str_ !!!

是 __init__ 而不是 _init_ !!!

这个坑让我花了不少时间才找到了解决办法。现在我明白了,魔法方法的命名确实有特殊规则,不能随便改动。

希望我的这个经历能提醒其他刚开始学习Python的同学,注意这些细节!

转载地址:http://mslfk.baihongyu.com/

你可能感兴趣的文章
Python+Requests编码识别Bug
查看>>
python函数编写_[零基础学python]传说中的函数编写条规
查看>>
Python+selenium —— UI自动化之鼠标操作
查看>>
python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
查看>>
Python+Selenium+Threading进行兼容性测试
查看>>
Python+selenium+unittest的GUI自动化框架实现
查看>>
python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
查看>>
python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
查看>>
Python+Selenium之数据驱动测试的实现
查看>>
python函数定义与使用+返回值简解
查看>>
Python+Selenium登录
查看>>
Python日期时间模块
查看>>
Python函数合集:足足68个内置函数请收好!
查看>>
Python+Selenium自动化测试项目实战
查看>>
Python+Selenium自动化测试项目实战【建议收藏】
查看>>
Python+Selenium自动化测试:Page Object模式
查看>>
python+selenium进行cnblog的自动化登录测试
查看>>
Python函数只返回第一个值而不是数据框
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(上)
查看>>
Python+SQL实战:京东用户行为数据分析案例解析(下)
查看>>