Python论坛  - 讨论区

标题:[python-chinese] 重发if缩进

2005年08月20日 星期六 18:52

Tom zysno1 at gmail.com
Sat Aug 20 18:52:51 HKT 2005

An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050820/1b8d5936/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月21日 星期日 12:59

limodou limodou at gmail.com
Sun Aug 21 12:59:19 HKT 2005

在 05-8-20,Tom<zysno1 at gmail.com> 写道:
>  谢谢回复。其实我就是这么写的。但是帖上来的时候格式乱了。:)
>  
>  我再描述一下吧。
>  
>  if dev.get('bootproto')=="dhcp":
>  str_net_gentoo=str_net_gentoo+'"dhcp"\n'
>  else:
>  str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"
> netmask "+dev.get('netmask')+'"\n'
>  
>  
>  原来的代码就是这样的,没有报错。(原文就没有缩进)
>  
>  然后我要修改一下,增加了两行。就是红色的两行
>  if dev.get('bootproto')=="dhcp":
>     str_net_gentoo=str_net_gentoo+'"dhcp"\n'
>     modify_element(instPath, gateway_xpath, self.gateway)
>  else:
>     modify_element(instPath, gateway_xpath, self.gateway)
>     str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"
> netmask "+dev.get('netmask')+'"\n'
>  
>  
>  结果就出了问题。
>  unindent does not match any outer indentation level
> 
> 
> 我发现有很多的if,else都是这样写的。
> 
> if ***:
> ***
> else:
> ***
> 
> 不是说必须要缩进么。。这是什么意思阿??
> 
> python不用括号,改用缩进来判断有什么好处阿。。我是觉得代码可读性很差。。
> 特别是格式一乱,谁知道到底是怎么回事阿。
> 
> 这个问题后来我自己乱试了一通。变成这样就可以了
> 
> if dev.get('bootproto')=="dhcp":
> 
>    str_net_gentoo=str_net_gentoo+'"dhcp"\n'
>   
>  modify_element(instPath, gateway_xpath, self.gateway)
> 
> else:
>   
>  modify_element(instPath, gateway_xpath, self.gateway)
>   
> str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"netmask
> "+dev.get('netmask')+'"\n'
> 
> 就是else后面的两行再缩进一下。
> 
> 不知道是什么原因造成的。我用的是eclipse+pydev
> 
> 我发信用的是thunderbird
> 
> 

因为看不到真实的情况,我猜想是tab和空格混用造成的。你可以找一个能够显示制表符和空格的编辑器,如EditPlus,看一下是用得什么缩近符就清楚了。


-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月21日 星期日 14:20

Zoom Quiet zoom.quiet at gmail.com
Sun Aug 21 14:20:36 HKT 2005

在 05-8-21,limodou<limodou at gmail.com> 写道:
> 在 05-8-20,Tom<zysno1 at gmail.com> 写道:
> >  谢谢回复。其实我就是这么写的。但是帖上来的时候格式乱了。:)
> >
> >  我再描述一下吧。
> >
> >  if dev.get('bootproto')=="dhcp":
> >  str_net_gentoo=str_net_gentoo+'"dhcp"\n'
> >  else:
> >  str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"
> > netmask "+dev.get('netmask')+'"\n'
> >
> >
> >  原来的代码就是这样的,没有报错。(原文就没有缩进)
> >
> >  然后我要修改一下,增加了两行。就是红色的两行
> >  if dev.get('bootproto')=="dhcp":
> >     str_net_gentoo=str_net_gentoo+'"dhcp"\n'
> >     modify_element(instPath, gateway_xpath, self.gateway)
> >  else:
> >     modify_element(instPath, gateway_xpath, self.gateway)
> >     str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"
> > netmask "+dev.get('netmask')+'"\n'
> >
> >
> >  结果就出了问题。
> >  unindent does not match any outer indentation level
> >
鬼字符的原因!!
我在很多情况中都遇到过,这好象是UE 的一个bug,经常会有空格,TAB 混合使用时,在UE中看不出,但是Python 编译不过的情况!

建议大家都设定TAB 使用4个空格替换,并使用可以看到真实空格情况的编辑器!

> > 我发现有很多的if,else都是这样写的。
> >
> > if ***:
> > ***
> > else:
> > ***
> >
> > 不是说必须要缩进么。。这是什么意思阿??
> >
> > python不用括号,改用缩进来判断有什么好处阿。。我是觉得代码可读性很差。。
> > 特别是格式一乱,谁知道到底是怎么回事阿。
> >
> > 这个问题后来我自己乱试了一通。变成这样就可以了
> >
> > if dev.get('bootproto')=="dhcp":
> >
> >    str_net_gentoo=str_net_gentoo+'"dhcp"\n'
> >
> >  modify_element(instPath, gateway_xpath, self.gateway)
> >
> > else:
> >
> >  modify_element(instPath, gateway_xpath, self.gateway)
> >
> > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"netmask
> > "+dev.get('netmask')+'"\n'
> >
> > 就是else后面的两行再缩进一下。
> >
> > 不知道是什么原因造成的。我用的是eclipse+pydev
> >
> > 我发信用的是thunderbird
> >
> >
> 
> 因为看不到真实的情况,我猜想是tab和空格混用造成的。你可以找一个能够显示制表符和空格的编辑器,如EditPlus,看一下是用得什么缩近符就清楚了。
> 
> 
> --
> I like python!
> My Donews Blog: http://www.donews.net/limodou
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号