新人求助,如何让这个变量的类型错误高亮显示
python吧
全部回复
仅看楼主
level 3
这里这个num的类型明显错了,应该设置成整数,但是我的pycharm这里不显示,只会在运行之后的结果显示,应该怎么设置?
2026年04月13日 09点04分 1
level 12
一般就是用类型提示num:str=input ()
2026年04月13日 13点04分 2
感谢答复,问题解决了
2026年04月13日 18点04分
level 13
因为 Python 是运行时类型检查的强类型语言,像 pylint 之类的静态类型检查器最多会检查出这里有类型问题,但不会阻止你启动运行,变量的类型只有运行时才能最终确定。
大概是你把 PyCharm 内置的静态类型检查关掉了,一般来说 a 和 num 的后面应该会自动出现一个灰色的 : str 字样,并且第3行的减法运算应该会自动标出黄波浪线提示找不到 (int - str) 这种入参数据类型的二元减法函数。
2026年04月13日 13点04分 3
感谢答复,问题解决了
2026年04月13日 17点04分
请问你知道该如何解决吗
2026年04月13日 16点04分
level 1
pycharm不知道,vscode可以把pylance的类型检查改成base或standard[呵呵]
2026年04月13日 16点04分 4
感谢答复,问题解决了
2026年04月13日 17点04分
level 3
感谢大家的答复,问题解决了。确实是最近开始学,我猪鼻了,我发现是在venv的目录下面创建的python文件,检测功能不起作用,换个路径重新创建python文件就能正常显示错误了。
2026年04月13日 17点04分 5
level 3
因为input后,num是个字符串类型,而10000是int整数类型的,两个类型不一样,得转换一下类型才能进行运算,可以用eval()函数将num的input()函数包裹住。我也是差不多入门级,eval()函数我的理解就是字符串转int的一个函数[呵呵]
2026年04月14日 02点04分 6
用int()就行,谨慎使用eval。eavl的本质是执行一个表达式并计算结果。对于1+1这种人畜无害的表达式是一回事,对于exec("import os\n ... remove(all_file)")就是另一回事了——这个表达式就能把你运行环境的文件尽数删除。虽然只是练手的话可能只是自己用,但一旦让任何抱有恶意的人碰到程序(比如你做了个网站,还用eval将前端字符串转int)就会出大事。
2026年04月14日 07点04分
@Epilogue7 原来如此。所以我的发言很谨慎[滑稽]
2026年04月14日 07点04分
level 7
这类问题,直接问ai,比如混元或千问,都会给你百分百正确答案和方法。
2026年04月14日 03点04分 7
level 5
所以说input输出的是字符串,计算不了,所以需要int(input())转换下类型
2026年04月14日 06点04分 8
1