下面这段python代码中,使用help函数查看文档注释,为什么不仅不显示文档注释,反而开始运行代码了?
# -*- coding: utf-8 -*-
from sys import exit
def gold_room():
"""gold room"""
print "This room is full of gold. How much do you take?"
next = raw_input("> ")
if "0" in next or "1" in next:
how_much = int(next)
else:
dead("Man, learn to type a number.")
if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(0)
else:
dead("You greedy bastard!")
def bear_room():
"""bear room"""
print "There is a bear here."
print "The bear has a bunch of honey."
print "The fat bear is in front of another door."
print "How are you going to move the bear?"
bear_moved = False
while True:
next = raw_input("> ")
if next == "take honey":
dead("The bear looks at you then slaps your face off.")
elif next == "taunt bear" and not bear_moved:
print "The bear has moved from the door. You can go through it now."
bear_moved = True
elif next == "taunt bear" and bear_moved:
dead("The bear gets pissed off and chews your leg off.")
elif next == "open door" and bear_moved:
gold_room()
else:
print "I got no idea what that means."
def cthulhu_room():
"""cthulhu room"""
print "Here you see the great evil Cthulhu."
print "He, it, whatever stares at you and you go insane."
print "Do you flee for your life or eat your head?"
next = raw_input("> ")
if "flee" in next:
start()
elif "head" in next:
dead("Well that was tasty!")
else:
cthulhu_room()
def dead(why):
"""dead view"""
print why, "Good job!"
exit(0)
def start():
"""game start"""
print "You are in a dark room."
print "There is a door to your right and left."
print "Which one do you take?"
next = raw_input("> ")
if next == "left":
bear_room()
elif next == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
start()
如题所说,这是《learn python the hard way》里的代码,我查了help函数,但是没查到原理,不知道为什么会这样,拿其他代码试,没有发生这种情况。那本书刚学到ex37,所以知道的还不多,是个新手,求解答。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以认为 Python 是边读取代码边执行的。于是,为了加载文档字符串,你这个模块被导入。导入的意思就是读取并执行。于是,导入了
exit
、定义了一个函数、两个函数……到最后,Python 读到start()
,就开始执行啦~一般我们会把实际干活的部分放到
if __name__ == '__main__'
条件中,这样被作为模块导入时,条件为假,就不会执行里边真正干活的代码了。列表项目