# 为了清楚地表示缩进,我把空格都用.表示
def price(stock) :
....url = 'http://hq.sinajs.cn/list=' + stock
....with req.urlopen(url) as f :
........hq = f.read().decode('GBK')
........v = hq.split(',')
........return v[1]
假设用C#语言来写,大概是这样:
// 这段代码只是一个示例,无法通过编译
double price(string stock) {
string url = 'http://hq.sinajs.cn/list=' + stock;
using(WebRequest f = new WebRequest(url)) {
string hq = f.read().decode('GBK');
string []v = hq.split(',');
return v[1];
}
}
// 这段代码只是一个示例,没有缩进的代码难以阅读
double price(string stock) {
string url = 'http://hq.sinajs.cn/list=' + stock;
using(WebRequest f = new WebRequest(url)) {
string hq = f.read().decode('GBK');
string []v = hq.split(','); return v[1];
} }
来看看《18零基础学编程018:条件语句》中的那段代码,如果写成这样:
from turtle import *
for i in range(365) :
forward(1.01 ** i)
left(9)
if(i%7==0) :
stamp()
There is an error (expected an indented block) at line 6, column 9.
不要使用制表符TAB?
按TAB键也可以产生缩进的效果,这一点在Word排版时也会用到,但在Python中要小心了,不同的文本编辑器对TAB的解释可能不一致,有些默认是8个字符,有些是4个字符,有些则是对齐到8的倍数列上,如果你的代码中混用TAB和空格,则会出现一些奇怪的错误。
现在的许多编辑器中都增加了一项设置,可以自动将TAB保存为多个空格,比如IDLE、Notepad++(注意不是Windows中自带的记事本,多个两个加号,功能强大多了),当你按TAB键时,自动产生的是4个空格。
在这种编辑器中写代码就方便多了,你按一次TAB可以,按四次空格也行,效果一样。像Notepad++中还提供了细细的对齐线等功能,还可以突出显示空格和制表符,让你看得更清楚。
Python编码规范
悬挂else问题
在其它编程语言中,有可能会遇到这类的悬挂else问题,即末尾的else语句与2个if语句中哪一个配对?有经验的程序员会要求所有的语句都要有花括号。
在Python中的这样一段代码:
if (条件1) :
if (条件2) :
fun1();
else :
fun2();
if (条件1) {
if (条件2) {
fun1();
}
}
else {
fun2();
}
当然Python中的缩进也有一个缺点,如果你从网页上复制python代码,有些网页上的代码排版本来就很乱,如果原始的python代码缩进乱了,则无法重新格式化。
小结:
--- END ---
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有