设为首页 收藏本站
查看: 3635|回复: 0

[经验分享] Python基础05 缩进和选择

[复制链接]

尚未签到

发表于 2015-4-19 06:37:47 | 显示全部楼层 |阅读模式
  作者:Vamei 出处:http://www.iyunv.com/vamei 欢迎转载,也请保留这段声明。谢谢!
  

缩进
  Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。
  
  先看C语言的表达方式(注意,这是C,不是Python!)



if ( i > 0 )
{
x = 1;
y = 2;
}
  如果i > 0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于if。
  
  在Python中,同样的目的,这段话是这样的



if i > 0:
x = 1
y = 2
  在Python中, 去掉了i > 0周围的括号,去除了每个语句句尾的分号,表示块的花括号也消失了。
  多出来了if ...之后的:(冒号), 还有就是x = 1 和 y =2前面有四个空格的缩进。通过缩进,Python识别出这两个语句是隶属于if。
  
  Python这样设计的理由纯粹是为了程序好看。
  

if语句
  写一个完整的程序,命名为ifDemo.py。这个程序用于实现if结构。



i = 1
x = 1
if i > 0:
x = x+1
print x
  $python ifDemo.py  # 运行
  程序运行到if的时候,条件为True,因此执行x = x+1,。
  print x语句没有缩进,那么就是if之外。
  
  如果将第一句改成i = -1,那么if遇到假值 (False), x = x+1隶属于if, 这一句跳过。 print x没有缩进,是if之外,不跳过,继续执行。
  
  这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到。强制缩进增强了程序的可读性。
  
  复杂一些的if选择:



i = 1

if i > 0:
    print 'positive i'
i = i + 1
elif i == 0:
    print 'i is 0'
i = i * 10
else:
    print 'negative i'
i = i - 1

print 'new i:',i
  这里有三个块,分别属于if, elif, else引领。
Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。
通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。
  
整个if可以放在另一个if语句中,也就是if结构的嵌套使用:




i  = 5
if i > 1:
print 'i bigger than 1'
print 'good'
if i > 2:
print 'i bigger than 2'
print 'even better'
  if i > 2 后面的块相对于该if缩进了四个空格,以表明其隶属于该if,而不是外层的if。
  

总结
  if语句之后的冒号
  以四个空格的缩进来表示隶属关系, Python中不能随意缩进
  if  :
      statement
  elif :
      statement
  elif :
      statement
  else:
      statement

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58494-1-1.html 上篇帖子: python+PyQT+Eric安装配置 下篇帖子: [学习]用python的BeautifulSoup分析html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表