小甲鱼课本问题
>>> def funX():x = 5
def funY():
x = x + 1
SyntaxError: inconsistent use of tabs and spaces in indentation
>>>
为什么我想下一行,按回车就出错了呢?小甲鱼的书例子有问题吗?
本帖最后由 Twilight6 于 2020-6-18 22:23 编辑
你的缩进有错误,你重新小心翼翼的敲一次代码、
而且 funY 函数里的 x = x + 1 会触发 Python 的屏蔽机制 :
当函数内部的变量和函数外部全局作用域的变量名相同时,会触发 Python 的屏蔽机制,函数内部会创建一个同名的局部变量
来暂时覆盖同名的全局变量,此时在函数内部的值都为这个局部变量,只要一出此函数,那么该局部变量就不复存在,变会原来的全局变量
这里 funY 就相对于 funX 是局部函数所以 x = x + 1 会被屏蔽 x 导致 x 为定义而报错 NameError
是的,是因为我下载后自带的那个IDLE有点问题,搞到我现在看,越看越懵 Twilight6 发表于 2020-6-18 22:21
你的缩进有错误,你重新小心翼翼的敲一次代码、
而且 funY 函数里的 x = x + 1 会触发 Python 的屏 ...
我现在是搞不懂这种内置函数赋值的工作原理是怎么了?这里看得我真的好懵 kakahzw 发表于 2020-6-18 23:43
我现在是搞不懂这种内置函数赋值的工作原理是怎么了?这里看得我真的好懵
怎么说 有什么不懂的可以说说 说不定我能帮你解决 本帖最后由 1223253411 于 2020-6-19 11:36 编辑
下载个python编辑器吧,我敢保证能让你绕开百分之九十的语法错误
你可以找你给最佳的那个大佬向他要下pycharm的安装教程
会让你很爽的,剩下的就看你愿不愿意信了{:10_333:}
Twilight6 发表于 2020-6-18 23:52
怎么说 有什么不懂的可以说说 说不定我能帮你解决
请问去哪里pycharm呢?我再看一次视频学习一下 kakahzw 发表于 2020-6-22 21:04
请问去哪里pycharm呢?我再看一次视频学习一下
https://fishc.com.cn/thread-162968-1-1.html
Twilight6 发表于 2020-6-22 21:07
https://fishc.com.cn/thread-162968-1-1.html
已看,网站打不开 kakahzw 发表于 2020-6-22 21:44
已看,网站打不开
那你就自己翻我的帖子,这个帖子我写的你看着教程安装就好 Twilight6 发表于 2020-6-22 21:48
那你就自己翻我的帖子,这个帖子我写的你看着教程安装就好
可以了,谢谢 Twilight6 发表于 2020-6-22 21:48
那你就自己翻我的帖子,这个帖子我写的你看着教程安装就好
不知道是不是版本不一样,跟你的安装教程不一样的
kakahzw 发表于 2020-6-22 23:09
不知道是不是版本不一样,跟你的安装教程不一样的
没事 不影响使用即可 实在看不惯就用nonlocal关键字把上面的xnonlocal一下
页:
[1]