鱼C论坛

 找回密码
 立即注册
查看: 2949|回复: 18

[已解决]在网页上看到这种用法,但我测试结果提示错误

[复制链接]
发表于 2023-4-10 21:07:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 lzb1001 于 2023-4-10 21:08 编辑

a = "%s张飞、%s关羽、%s刘备、%s赵云" % (1,2,3,4)


b = "{}张飞、{}关羽、{}刘备、{}赵云".format(1,2,3,4)


c = f"{1}张飞、{2}关羽、{3}刘备、{4}赵云"

无一例外都返回错误提示:

SyntaxError: invalid character in identifier

------------------------------------------
Windows 10 专业版 | Python 3.7.6
------------------------------------------

【我的问题】

1、在网页上看到,但我测试结果提示错误,是什么情况?
最佳答案
2023-4-10 21:16:09
本帖最后由 sfqxx 于 2023-4-10 21:18 编辑

根据您提供的信息,提示错误是因为在a, b和c变量中输入的字符串中包含了无效字符或者存在无效的语法结构。这可能是因为您复制粘贴了字符串并且包含了不可见的特殊字符。

我尝试在python 3.7.6的环境中运行这些代码,并没有出现任何syntaxerror错误。因此,建议您检查是否有其他问题导致了这个错误,例如python版本或者其他语法错误等。

如果您确定代码本身没有错误,那么可以尝试手动重新输入代码,确保其中没有任何无效字符。

有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-10 21:11:14 | 显示全部楼层
有截图吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:13:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:15:00 | 显示全部楼层

我是说你的报错的截图和你的代码的截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:16:03 | 显示全部楼层
isdkz 发表于 2023-4-10 21:15
我是说你的报错的截图和你的代码的截图

微信截图_20230410211535.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:16:09 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sfqxx 于 2023-4-10 21:18 编辑

根据您提供的信息,提示错误是因为在a, b和c变量中输入的字符串中包含了无效字符或者存在无效的语法结构。这可能是因为您复制粘贴了字符串并且包含了不可见的特殊字符。

我尝试在python 3.7.6的环境中运行这些代码,并没有出现任何syntaxerror错误。因此,建议您检查是否有其他问题导致了这个错误,例如python版本或者其他语法错误等。

如果您确定代码本身没有错误,那么可以尝试手动重新输入代码,确保其中没有任何无效字符。

有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:17:13 | 显示全部楼层

感觉你这个空格不对劲,先把空格删掉看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:22:03 | 显示全部楼层
sfqxx 发表于 2023-4-10 21:16
根据您提供的信息,提示错误是因为在a, b和c变量中输入的字符串中包含了无效字符或者存在无效的语法结构。 ...

之前是用复制黏贴的,这次按你的建议,我完全手动录入,居然真的没问题,就是display会出错
>>> a = '%s张飞、%s关羽、%s刘备、%s赵云' % (1, 2, 3, 4)

>>> display(a)
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    display(a)
NameError: name 'display' is not defined

>>> print(a)
1张飞、2关羽、3刘备、4赵云
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:25:37 | 显示全部楼层
很好,你已经成功地手动录入并运行了你的Python代码!由于 `display()` 不是 Python 内置函数之一,所以当你尝试使用它时会出现 `NameError`。如果你想在 Jupyter Notebook 中显示输出,可以直接在代码中输入变量名或者函数调用等,这些内容都会自动显示在单元格下方。例如:


a = '%s张飞、%s关羽、%s刘备、%s赵云' % (1, 2, 3, 4)
a   # 在单元格下方显示 a


如果你需要在 Python 脚本中显示输出,可以使用 `print()` 函数,像上面一样打印结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:26:41 | 显示全部楼层
lzb1001 发表于 2023-4-10 21:22
之前是用复制黏贴的,这次按你的建议,我完全手动录入,居然真的没问题,就是display会出错
>>> a = '%s ...

display是他自己前面定义好的函数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:28:26 | 显示全部楼层
sfqxx 发表于 2023-4-10 21:25
很好,你已经成功地手动录入并运行了你的Python代码!由于 `display()` 不是 Python 内置函数之一,所以当 ...

为何截图中使用display可以返回结果,而我们却不行?

难道display适用于低版本的python?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:28:33 | 显示全部楼层
isdkz 发表于 2023-4-10 21:26
display是他自己前面定义好的函数吧

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:29:49 | 显示全部楼层
lzb1001 发表于 2023-4-10 21:28
为何截图中使用display可以返回结果,而我们却不行?

难道display适用于低版本的python?

不是呀,display是他自己定义好的

如果你执行一遍 display = print,你也可以 display
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:31:17 | 显示全部楼层
lzb1001 发表于 2023-4-10 21:28
为何截图中使用display可以返回结果,而我们却不行?

难道display适用于低版本的python?

看起来你正在使用Jupyter Notebook或IPython shell,`display()`函数在这些环境中是可用的。但在Python标准解释器中是不存在的。

如果你想在Python标准解释器中尝试使用类似的功能,可以使用`print()`函数打印输出,并将字符串作为参数传递给它,就像你最后一行所做的那样:

```python
>>> a = '%s张飞、%s关羽、%s刘备、%s赵云' % (1, 2, 3, 4)
>>> print(a)
1张飞、2关羽、3刘备、4赵云
```

不同的开发环境和工具可能会提供不同的函数和变量来支持特定的功能,因此,如果您在阅读代码时遇到任何未定义的名称或函数,请查看所使用的文档以获取更多帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:39:35 | 显示全部楼层
isdkz 发表于 2023-4-10 21:29
不是呀,display是他自己定义好的

如果你执行一遍 display = print,你也可以 display

确实:

>>> display = print
>>> display(a)
张飞1、关羽2、刘备3、赵云4
>>> display(b)
1张飞、2关羽、3刘备、4赵云
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:42:05 | 显示全部楼层
sfqxx 发表于 2023-4-10 21:31
看起来你正在使用Jupyter Notebook或IPython shell,`display()`函数在这些环境中是可用的。但在Python标 ...

我使用的是Python自带的IDLE

Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 21:42:44 | 显示全部楼层
isdkz 发表于 2023-4-10 21:29
不是呀,display是他自己定义好的

如果你执行一遍 display = print,你也可以 display

为何执行一遍 display = print后,就可以 display?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:47:01 | 显示全部楼层
lzb1001 发表于 2023-4-10 21:42
为何执行一遍 display = print后,就可以 display?

给变量赋值的过程相当于贴标签,有那么一个可以用于打印的函数,它的上面贴着一个标签“print”,

这个标签就可以作为这个函数的一个名字,可以用“print”这个标签访问到这个打印的函数,

执行 display = print 相当于把 display 标签贴到 print 指向的这个打印的函数上,

然后也可以用 display 标签访问到这个函数了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 21:48:07 | 显示全部楼层
如果您使用的是 jupyter notebook 或其他交互式编程环境,则可以使用 `display()` 函数显示不同类型的对象(如图像、数据帧等)。但是,在普通的 python 解释器中,`display()` 函数可能会导致 `nameerror` 异常,因为它没有被定义。

如果您在普通的 python 解释器中想要显示图像或其他类型的对象,则需要使用特定的库(如 `matplotlib` 或 `pillow`)来打开文件并显示图像。如果您只是想要输出文本,则可以使用 `print()` 函数来代替 `display()` 函数。
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 21:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表