python3 input作為變數名出現的錯誤

2021-06-28 17:07:57 字數 2674 閱讀 9442

1樓:匿名使用者

首先input 只是一個函式,不是關鍵字。關鍵字是不能作為識別符號的,比如 圖中的pass就是關鍵字:

正常情況,input 指向的是一個「builtin_function_or_method」物件,也就是常說的內建物件

而執行完 :input='11',input 就指向了一個str物件。

input =input('二次'):左邊input是一個變數,右邊的input就是上面指向的str物件,報錯是右邊部分,錯誤大意:str物件不能被呼叫。

2樓:匿名使用者

#encoding=utf-8

#tempconvert.py

input ="11"

tempstr = input("請輸入帶有符號的溫度值:")traceback (most recent call last):

file "a.py", line 5, intempstr = input("請輸入帶有符號的溫度值:")typeerror:

'str' object is not callable

前面 賦值,input 就是個 字串 變數後面 在呼叫 同名 函式,顯然 出錯

'str' object is not callable

3樓:喵有引力

既然你要這麼寫,那我就讓你的**不出錯好了,然而失敗了.

根本原因是str物件沒有__call__函式.

第一行 將'11'賦給了input,當前input是str物件第二行呼叫input,等價於input.__call__(input,''二次''),

關鍵是str物件沒有__call__屬性,那能不能新增一個呢?

結果不能夠,就連__dict__屬性都沒有,也就是說內建型別不能修改.

4樓:gta小雞

你定義的變數input隱藏了系統內建函式input,識別符號input在當前模組中表示一個str型別,而不是一個函式,str型別不可以呼叫,所以input()錯誤。

5樓:匿名使用者

python命名規範

python識別符號

建議你去查一下這兩個相關的內容,input不能用來賦值不僅是識別符號不能用來賦值,最好內建函式也不要用來賦值和自定義函式還有以後檔案命名也要儘量避開模組名

像你在**中匯入 import os

而你那個python檔案就叫做os這樣子會報錯的,我相信你以後也會遇到這種情況,

如果英語詞彙量少的話可以用 myos、myos、my_os別問我為什麼我就是這樣子過來的,有時候遇到這種錯誤可能找幾個小時的問題

6樓:你還好嗎

因為 input 是 python 的一個內建函式,

你可以這樣:

7樓:雷仔

因為第一行的**將input已經定義為一個普通變數,因此第二行呼叫內建函式input()是無效的,會仍然認為是一個變數

python3出現錯誤:nameerror: name 'abchello' is not defined

8樓:陽光的雷咩咩

你是怎麼執行的(如果是命令列就貼命令文字)

python 用raw_input()獲取檔名錯誤

9樓:

完全不會有問題啊?可能是我沒理解到吧。舉個例子假設我們d盤有個檔案叫做 a a.

txt ,中間有個空格然後我們用 file_name = raw_input() 輸入了檔名 a a

現在file_name == "a a"

然後開啟檔案:

my_file= open( 「d:/" + a + ".txt" , "r」)

my_text = my_file.read()就完整讀出了a a.txt中的內容,沒有任何問題啊? 理論上,空格什麼的很正常根本不是問題。

我猜測,可能是編碼上什麼的問題。

1、嘗試不要用中文

2、看看是不是由於非字串的原因。嘗試將名字轉化為字串試試。

3、看看是不是上次操作這個檔案的時候忘記 .close() 了

10樓:匿名使用者

使用input字串沒加引號,就會出現這種nameerror的錯誤;

在python中的raw_input:只保留原始的輸入,不作其他(特殊)處理,所以所得到的輸入,都是字串;

input:會去做額外的處理,比如 1 + 2,其會幫你去計算為3,而不是字串本身的「1 + 2」。對應的,想要輸入字串的話,也就要自己加上對應的引號,表示所輸入的是字串型別的值了。

python input在括號中輸出錯誤字元

11樓:搖籃了有

不可以這麼搞的,在python中雙引號和單引號在此環境中都是宣告這是一個字串用的版:

123a='aaaa'b="aaaa"id(a)==id(b)如果權一定要達到輸出即輸入的效果,不該在.py檔案中定義function引數,而應該通過標準輸入/輸出流:stdin/stdout來給引數賦值,e.

g:123def reflect_statement(param): print paramreflect_statement(raw_input("please input: "))

Python 2和Python 3有哪些主要區別

1.print不再是語句,而是函式,比如原來是 print abc 現在是 print abc 但是 python2.6 可以使用 from future import print function 來實現相同功能 2.在python 3中,沒有舊式類,只有新式類,也就是說不用再像這樣 class ...

python3如何給裝飾器傳遞引數

def add func def wrap num ret func num if num 0 print test執行結來束自 return ret return wrap 你的遞迴bai函式有問題du哦zhi 沒有dao終止 python 帶可變引數的裝飾器怎麼用 裝飾器本身是用來是為一個函式是...

如何使用Python3讀寫INI配置檔案

import configparser 生成config物件 conf configparser.configparser 用config物件讀取配置檔案 conf.read ini 從ini配置檔案中獲取資訊 a conf.get xx yy print a 結果為 zz ini xx yy zz...