标题:菜鸟,问一下关于类的问题,麻烦大神帮帮忙
只看楼主
LanXX
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-8-5
结帖率:16.67%
已结贴  问题点数:10 回复次数:3 
菜鸟,问一下关于类的问题,麻烦大神帮帮忙
class Poker :
   def __init__(self,colour ,num):
      self.colour = colour
      self.num = num
   def __str__(self):
      return "{},{}".format(self.colour,self.num)
p1 = Poker("红桃","A")#类的实例化
p2 = Poker("黑桃","k")#类的实例化

#定义一个手得类
class Hand :
   def __init__(self,poker):
      self.poker = poker

left_hand = Hand(p1)
right_hand = Hand(p2)
print(left_hand.poker)

为什么打印left_hand.poker打印出'红桃','A',里面的逻辑我不太懂,为什么调用poker这个属性可以打印出来,有没有大神可以解答一下,谢谢,万分感谢!
搜索更多相关主题的帖子: 实例化 打印 class num def 
2019-11-13 16:32
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:10 
以下是引用LanXX在2019-11-13 16:32:07的发言:

class Poker :
   def __init__(self,colour ,num):
      self.colour = colour
      self.num = num
   def __str__(self):
      return "{},{}".format(self.colour,self.num)
p1 = Poker("红桃","A")#类的实例化
p2 = Poker("黑桃","k")#类的实例化

#定义一个手得类
class Hand :
   def __init__(self,poker):
      self.poker = poker

left_hand = Hand(p1)
right_hand = Hand(p2)
print(left_hand.poker)

为什么打印left_hand.poker打印出'红桃','A',里面的逻辑我不太懂,为什么调用poker这个属性可以打印出来,有没有大神可以解答一下,谢谢,万分感谢!


print(left_hand.poker) 相当于print(p1) , print会调用Poker 的__str__方法返回打印的字符串

2019-11-14 13:56
LanXX
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2019-8-5
得分:0 
回复 2楼 fall_bernana
谢谢老师,虽然还是没完全懂,但还是谢谢老师的指导!
2019-11-14 17:24
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:0 
回复 3楼 LanXX
https://bbs.bccn.net/thread-497646-1-1.html
这个和你这个问题有相通的地方
2019-11-15 09:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497789-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.201346 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved