python常见释疑(有别于报错)(不定时更新)

文:铁乐与猫

01、在cmd运行py脚本后,直接回到了提示符,没有任何输出,看起来像是并没有运行一样。

答:你的感觉很可能是对的,但脚本很可能己经正常运行,只是你的代码里面很可能没有给出print提示输出结果。

print ("提示输出结果内容")

02、在代码中字符串为中文,python提示ascii编码错误,如何让它能正常输出中文。

答:python2.x版本的默认为ascii编码,python3.x后的己默认为utf-8编码,不会出现这个报错了。建议养成习惯,在python脚本最上面一行加入以下这一行设置来解决:

# _*_ coding: utf-8 _*_

另外,写成如下也等同:

# _*_ encoding: utf-8 _*_
#coding=utf-8

若要写成#coding=utf-8,要注意的是=左右不要有空格。

03、#在脚本中的意思是注释的话,为什么# _*_ coding: utf-8 _*_ 能起到作用呢?

答:python其实并没有将作为首行的这一行当作代码来进行处理,这种用法只是让编码格式识别为utf-8的一个技巧。可以认为它是一种配置设置,类似的在linux的很多服务的配置文件中常见有。

04、为什么有建议敲完代码后,试着倒着(逆推)去阅读代码?

答:这是一种排错的方法,逆着去阅读代码,可以让你的思路避免跟着最初的思路走,而是精确地分析每个片段的代码,从而更容易地发现代码中的错误。也算是一种验收机制吧。

05、为什么%是求余数符号,而不是百分号?

答:在编程中除法用了/号,而求余数恰恰选择了%这个符号而已。最多只会逼死强迫症,不用在意这些细节。另外求余数的意思是例如14除以3后余数是2,%后运算的结果就是余数2这样。

06、=(单个等号)和==(双个等号)有什么区别?

答:区别可大了,有很多次我都因为敲少了一个=号而被报错。=的作用是将右边的值赋给左边的变量;而==号的作用是作为比较,检查左右两边是否相等,常用作条件判断,成立为真,不成立为假之类。

07、代码写成x=123而不是x = 123 这样也没关系吧?

答:这样写是可以,不过一般不建议,操作符两边加上空格会让代码易读性更强。

08、为什么有时/(除法)算出来的结果比实际的得数小?

答:纯整数型的除法往往就会把结果的小数部分给舍弃掉了,需要精确的得数需要运用到浮点数类型去表达运算。例如14.0 / 3.0。

(未完待续)

上一篇:C#+无unsafe的非托管大数组(large unmanaged array in c# without 'unsafe' keyword)


下一篇:c中使用gets() 提示warning: this program uses gets(), which is unsafe.