考慮以下我在 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.部分。 - 是
[1,2,3]在[6]考慮串列或只是語法numpy.array()引數呢? - 有沒有辦法在
ndarray沒有array()[8] 中的部分并且不使用的情況下獲取 an 的內容print()? - 使用精確的技術術語,您能否詳細說明為什么 [3] 和 [8] 如此不同?
- 通常,控制臺中的一種型別稱為什么(例如 [2])?命令、呼叫、輸入?
- [3]、[5]、[8] 和 [10] 叫什么?輸出?有哪些同義詞?
- [*](見第一句)叫什么?它不是確切的代碼。
uj5u.com熱心網友回復:
首先,REPL 中的一個單獨變數將列印其物件表示,通過呼叫該repr()物件上的函式,而不是“呼叫變數”;那看起來像a_tuple()
賦值顯然沒有輸出
這解釋了 1-3 和 6-8
列印陳述句將str()在物件上運行函式并顯示該輸出。
兩者都映射到在所有物件型別上定義的“魔術功能”
__str__ 和 __repr__ 有什么區別?
經驗法則:
__repr__適用于開發人員,__str__適用于客戶
uj5u.com熱心網友回復:
IDLE 是 Read-Eval-Print 回圈(AKA REPL)的一個示例。你輸入一個陳述句,它執行它,如果它是一個帶有值的運算式,它會列印該值。
- 你呼叫一個函式,你使用或分配一個變數。所以在 [2] 中你使用了變數
a_tuple. IDLE 評估它并列印它的值。 - 在 [8] 中,它列印了 的表示
ndarray,它是一個 numpy 陣列。numpy 陣列的表示顯示為 里面方括號中的內容array()。 [1, 2, 3]是一個串列,作為引數傳遞給numpy.array()函式。然后 numpy 將創建一個陣列,其內容是串列的元素。- 您可以使用 將陣列轉換為串列
ndarray.tolist()。 - [3] 和 [8] 之間的唯一區別是您正在評估和列印的值的型別。[3] 是一個串列,[8] 是一個陣列。不同的型別以不同的方式顯示。
- 它們是 Python 陳述句。
- 是的,它們是輸出。更具體地說,它們是您在前幾行中鍵入的運算式的值。
- 是的,是代碼。REPL 的目的是允許您以互動方式執行代碼,而不是在腳本檔案中運行代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/317485.html
