🐸

团队合作

Python 基础python-architect-21-the-team
奖励: 100 XP
|

机器人不只是孤立存在的;它们会协同工作。

在 Python 中,你可以把一个 对象 传进函数(或方法),就像传进数字一样。

对象交互

如果 alicebob 都是机器人,alice 可以和 bob 互动。

class Healer:
  def heal(self, target):
      print("正在治疗 " + target.name)

cleric = Healer()
warrior = Hero("Conan")

# 把 warrior 对象传给 heal 方法
cleric.heal(warrior) # "正在治疗 Conan"
1
定义问候

定义 def greet(self, target):。这里,target 将会是另一个机器人对象。

2
使用两个对象

在方法内部,你可以同时访问 self.name(问候者)和 target.name(朋友)。打印 self.nametarget.name 问好。

3
建立连接

调用 r1.greet(r2)。我们把整一个 r2 对象传进了 r1 的世界里!

这是游戏开发的基础。Player(玩家)攻击 Enemy(敌人)。Car(车)撞上 Wall(墙)。对象与对象之间的交互!

参考答案
点击展开
参考答案:
class Robot:
  def __init__(self, name):
      self.name = name

  def greet(self, target):
      print(self.name + " says hello to " + target.name)

r1 = Robot("HoppyBot")
r2 = Robot("PyBot")

r1.greet(r2)
高级技巧
想更进一步?点击展开

F. 无限的交互

  • 你可以把对象传给对象。
  • 你可以把对象放进列表里 (team = [r1, r2])。
  • 你甚至可以把对象放进其他对象里面 (r1.best_friend = r2)。
  • 这就是构建复杂软件的方式!
Loading...
终端输出
Terminal
Ready to run...