【发布时间】:2021-12-04 00:15:47
【问题描述】:
考虑以下我在 IDLE 中运行的 Python 3.7.2 代码 [*](我添加了行号以供参考):
[1] >>>> a_tuple = (1,2,3)
[2] >>>> a_tuple
[3] (1,2,3)
[4] >>>> print(a_tuple)
[5] (1,2,3)
[6] >>>> an_ndarray = numpy.array([1,2,3])
[7] >>>> an_ndarray
[8] array([1, 2, 3])
[9] >>>> print(an_ndarray)
[10] [1, 2, 3]
我正在学习计算机科学术语和 Python,我有以下问题/要求:
- 我在 [2] 中做了什么,调用对象?还是调用是为函数保留的?
- [8] 中返回了什么?这不是
ndarray的内容。这没有意义,但好像返回的是创建它的函数调用,只是它缺少numpy.部分。 - [6] 中的
[1,2,3]是否被视为列表或只是numpy.array()参数的语法? - 有没有办法在不使用 [8] 中的
array()部分且不使用print()的情况下获取ndarray的内容? - 使用精确的技术术语,您能否详细说明 [3] 和 [8] 为何如此不同?
- 一般来说,控制台中的一种类型是什么(例如 [2])? 命令、调用、输入?
- 什么叫 [3]、[5]、[8] 和 [10]? 输出?有哪些同义词?
- [*](见第一句)叫什么?它不是精确的代码。
【问题讨论】:
-
打印一个对象调用
__str__特殊方法,调用它(这不是一个很好的描述。调用需要像object()这样的括号)调用__repr__特殊方法。 -
这些听起来很像家庭作业问题
-
(1) 不,调用总是需要附加括号,其中通常带有参数。 (2) 是
repr(an_ndarray)。 Python shell 总是要求评估表达式的表示。类可以定义它们的对象应该如何表示。 -
@AdrienLevert 好吧,他们不是。
-
欢迎来到 Stack Overflow。这个问题似乎“需要更多关注”,请参考"Why are some questions closed??" 的指导方针
标签: python terminology