【问题标题】:type() function doesn't work when used in a python script filetype() 函数在 python 脚本文件中使用时不起作用
【发布时间】:2018-04-29 20:44:17
【问题描述】:

我用python写了一个两行的程序。起初我在 python shell 中测试了它。这里是:

>>>state=True
>>>type(state)
<class 'bool'>

输出与我在 shell 中的预期一样。 然后我将这些指令写在一个名为 main.py 的文件中。

#---------------main.py----------------#
state=True
type(state)

然后我使用 linux 终端作为 root 用户执行了这个程序。输出什么都没有

[manjaro ~]# python main.py
[manjaro ~]# 

我希望输出与 shell 中的一样。作为python的初学者,我不知道为什么没有输出。请帮我理解为什么没有输出。

【问题讨论】:

  • 您可以查看欺骗中的答案 - 与 KAsramds 一起回答这应该可以澄清事情。如果没有,请通过评论询问
  • 交互式外壳是一个读取-评估-打印循环。打印在外壳中是自动的。您可能需要在 Python 脚本中使用 print() 函数来显示输出。建议您阅读Python Tutorial 以了解该语言的基础知识。

标签: python python-3.x


【解决方案1】:

您看到的是对象的原始表示,它由相应对象的__repr__ 方法返回。当您在 Python 的交互式 shell 中键入一个对象时,就会调用它。当您在文件中时,您需要使用触发__str__ 方法的print 函数打印结果。

state=True
print(type(state))

【讨论】:

  • 能否请您详细解释一下 repr 方法和 str。我想从你那里了解更多关于他们的信息。因为不像一些尴尬的文章,你解释得清楚而整齐。你能告诉更多关于他们吗?先生,我请求你!希望对你有所帮助
  • @user9218974 嗯,__str____repr__ 并不是那么复杂的方法。文档已经清楚地解释了它们的功能docs.python.org/3/reference/datamodel.html#object.__str__。请查看文档,如果您有任何其他问题,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 1970-01-01
  • 1970-01-01
  • 2020-08-10
相关资源
最近更新 更多