首先我要说的是,我对编程非常陌生,我很确定这就像我第四次坐下来学习东西,所以好吧,我什至不确定这个问题听起来是否正确。所以我在 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
提交
取消