发现一个手敲代码跟"复制代码''差异,还没搞懂原理
我在做课后题时,复制小甲鱼 代码,是可以运行的, 但是当我进行编辑修改时就报错了,说是缩进不对(代码内容没有错误),我不得不手敲一遍,然后好奇的我,把报错的段落复制到记事本上,发现多了组tap也就是我 编辑时,另起了一行 ,结果给我多带出了组TAB缩进,以前 也碰到过,这个是什么原理?
>>> def my_fun1():
x = 5
def my_fun2():
nonlocal x #为何Ctrl +v 方式过来,会多出一组TAB ? 纳尼? 再复制回来,多的那组TAP 又不显示了
x *= x
return x
return my_fun2()
SyntaxError: inconsistent use of tabs and spaces in indentation
>>> def my_fun1():
x = 5
def my_fun2():
nonlocal x
SyntaxError: inconsistent use of tabs and spaces in indentation
>>> def my_fun1():
x=5
def my_fun2():
nonlocal x # 这里手敲的也没缩进,而是显示的 跟前面CTRL +v的段落一致
可能是软件设置的问题 虽说记事本可以写代码,但是一般都不用,为什么呢? wp231957 发表于 2021-2-2 06:55
虽说记事本可以写代码,但是一般都不用,为什么呢?
因为比较丑{:10_277:} wp231957 发表于 2021-2-2 06:55
虽说记事本可以写代码,但是一般都不用,为什么呢?
至少也要 notepad ++ ,不然怎么说自己是 编程的{:5_91:},我就是好奇为何我用 编辑 就会报错, 而手敲就不会带入这个错误 fazerse 发表于 2021-2-2 19:15
至少也要 notepad ++ ,不然怎么说自己是 编程的,我就是好奇为何我用 编辑 就会报错, 而手 ...
归根到底就是TAB和空格的区别
所以能手敲的就不要复制 wp231957 发表于 2021-2-2 19:26
归根到底就是TAB和空格的区别
所以能手敲的就不要复制
我很奇怪单纯复制过去执行,没有问题,而是我按了回车,另起行加代码,结果就是 输出跟我输入的不对等了 其实吧,我猜想你粘贴的时候不是顶格粘贴的
也就是光标没有放置在目标行的顶端
你复制的东西有个 tab,你粘贴的地方也有一个tab的话,就会多一个tab的
粘贴相当于在光标所在处粘贴,而非光标所在的行的起点位置粘贴 Daniel_Zhang 发表于 2021-2-3 00:06
其实吧,我猜想你粘贴的时候不是顶格粘贴的
也就是光标没有放置在目标行的顶端
很有建设性的探讨,不过我是 点小甲鱼那个 复制代码按键进行的操作,而且是错误出在我要编辑添加代码的那一行,而不是第一行,也不是每一行. 所以我表示出极大的好奇, 可能小甲鱼用的是tab缩进,你的编辑器自动缩进用的是空格,你一编辑复制下来的代码,就出错了。可以设置让编辑器显示空字符,空格会显示成点,tab显示成箭头,一目了然。
页:
[1]