为了账号安全,请及时绑定邮箱和手机立即绑定

Python中“=>”(由等于和大于组成的箭头)的含义是什么?

Python中“=>”(由等于和大于组成的箭头)的含义是什么?

千巷猫影 2022-08-25 15:38:02
如以下代码所示def __str__(self):         return f"User: {self.observer.pk} => Habit: {self.habit.pk}"有.这是什么意思呢?=>
查看完整描述

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

python类的方法定义了如何将该类转换为字符串。我使用您提供的代码编写了一个小示例来表明:__str__


class TestHelper:


    def __init__(self, pk):

        self.pk = pk



class Test:


    def __init__(self, observer_pk, habit_pk):

        self.observer = TestHelper(observer_pk)

        self.habit = TestHelper(habit_pk)


    def __str__(self):

        return f"User: {self.observer.pk} => Habit: {self.habit.pk}"



t = Test(5, 8)

print(t)

如果运行此代码,则会打印出结果,因为该方法会自动将其参数转换为字符串。您可以将“=>”替换为所需的任何内容,然后将其打印出来。如果注释掉该方法,则将打印该方法 - 这是从该类继承的默认方法所执行的操作。您可以根据需要将类转换为字符串 - 这完全取决于您User: 5 => Habit: 8print__str__<__main__.Test object at some_hex_address>__str__object


查看完整回答
反对 回复 2022-08-25
?
SMILET

TA贡献1796条经验 获得超4个赞

具有双下核的方法,如str,称为魔术/dunder方法。

str”作业 - 您可以为 Object 定义字符串表示形式。

f'blabla {some_variable}' - 这是 f-string。您可以使用 {} 括号访问字符串中的变量。

假设 self.observer.pk 是12,self.habit.pk 是2,所以:

此代码将为对象定义具有字符串表示形式,例如“User:12 => Habit:2”,这就是字符串。

干杯芬里尔


查看完整回答
反对 回复 2022-08-25
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号