首先我要說的是,我對編程非常陌生,我很確定這就像我第四次坐下來學習東西,所以好吧,我什至不確定這個問題聽起來是否正確。所以我在 YouTube 上觀看 CS Dojo 的 Python 初學者教程,我正在觀看第三個視頻,它是關于函數的。觀看教程時,我會經常暫停視頻,并嘗試進行一些實驗,以真正理解我正在處理的內容。所以當我玩弄數字時一切都很順利。像這兒:def function(x): return x+5a = function(10)print(a)(不知道我是否粘貼好代碼,抱歉)但后來我嘗試用文字做一些事情,看看是否可行:def function(name): return ("Hi ")b = function(Oskar)print(b)但事實并非如此,我收到這樣的錯誤:NameError: name 'Oskar' is not defined這些代碼只適用于數字嗎?還是我做錯了什么?我想理解這一點,所以我希望有人向我解釋一下,考慮到我是初學者并且不理解程序員在這里使用的很多單詞。
4 回答

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
name = "oskar"
def function(name):
return ("Hi " + name)
b = function(name)
print(b)
Oskar 不是字符串,而是未定義的變量。

斯蒂芬大帝
TA貢獻1827條經驗 獲得超8個贊
Oskar
是一個變量。 'Oskar'
和"Oskar"
是字符串(注意引號)。
換句話說,以下任何一項都可以:
b = function('Oskar')
b = function("Oskar")
my_name = 'Oskar' b = function(my_name)
my_name = input('What is your name? ') b = function(my_name)
(當然,還有無數其他例子。)

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
不帶引號的 Oskar 被視為標識符而不是字符串。使用“奧斯卡”或“奧斯卡”
字符串始終必須封裝在雙引號 ("") 或單引號 ('') 中
def function(name):
return ("Hi " + name)
b = function("Oskar")
print(b)
或者用這個,以后就真的派上用場了
def function(name):
return (f"Hi {name}")
b = function("Oskar")
print(b)

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
當您輸入Osakar
python 解釋器時,它需要一個在您的情況下未定義的變量。
請注意,它Oskar
與 不同'Oscar'
。第一個是變量(必須首先定義)。而后者是一個string
.
即使你使用了 sting,'Oscar'
你也不能將它與你的函數一起使用。因為+
在字符串和整數之間不起作用。
添加回答
舉報
0/150
提交
取消