本文介绍下python条件和循环语句的语法

一、if条件语句

语法格式如下:

if 表达式:

  ....

elif 表达式:

  ....

elif 表达式:

  ....

else:

  .....

说明:与其它语言的语法区别是,表达式或else后面要加 冒号 结尾。

语句块没有用一些标识符括起来,而是靠缩进来标记。

二、while循环

语法格式是:

while 表达式:

  ........

三、for循环

for循环用于遍历一个集合,语法格式是:

for  元素  in  集合

  ........

举例如下:

>>> value=""
>>> for i in range(1,10):
... value = value+str(i)+","
...
>>> print value
1,2,3,4,5,6,7,8,9,

说明,上面代码的range是python内置函数,创建一个范围内数字集合(不包括下限),用这个函数可以代替其它语言中的 for(i=1;i<10;i++)这种使用方式。

str也是python的一个内置函数,这里是将整数转为字符串。因为在python中,无法直接将数字和字符串相加,需要转换下。

四、break 和 continue语句

同其它语言一样,python也有break 和 continue语句,用在循环中,含义同其它语言。

五、pass、del 、exec和eval语句

在python中,还有几个特殊的语句,如下:

1、pass语句

表示一个空语句,啥事都没干。这个还是有用的,比如用在条件语句体中。

2、del语句

用于删除某个变量,如

>>> x=1
>>> print x
1
>>> del x
>>> print x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

变量x一旦被删除后,则再引用会报错。

3、exec 和 eval语句

exec语句用于动态执行python语句,即将python语句当字符串传入后执行。如:

exec ("print 23")

调用后会执行 print 23 语句

eval语句会计算一个表达式,并返回表达式的值,如:

print eval("3+5")

输出为 8

说明,在使用exec和eval时要小心,特别是在里面给变量赋值时,防止覆盖外部的变量,如:

>>> x=12
>>> exec("x='good'")
>>> print x
good

可以看出exec中的变量 x 覆盖了外部定义的变量。如果想要exec中的执行对外部没影响,可以指定一个命名空间。如:

>>> scope={}
>>> x=2
>>> exec 'x="helo"' in scope
>>> print scope["x"]
helo
>>> print x
2

可以看出,通过 in scope,使得exec的执行范围在对象scope的范围内。注意,scope对象还可以设置初始值,可以被exec中语句使用。
如果exec 或 eval语句要执行多条python语句,就用 ''''括起来的长字符串即可。

Python 2.7 学习笔记 条件与循环语句的更多相关文章

  1. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  2. Fortran学习笔记4(循环语句)

    Fortran学习笔记4 Fortran学习笔记4 逻辑运算 循环 Do语句 Do-While循环 循环控制 循环应用实例 逻辑运算 if命令需要和逻辑运算表达式搭配才能起到很好的效果.下面分别列出F ...

  3. python系列八:Python3条件控制&循环语句

    #!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...

  4. .Net程序员之Python基础教程学习----判断条件与循环[Fourth Day]

        今天学习Python的判断条件与循环操作. 一. 布尔变量: 在学习判断条件之前必须的了解bool变量,在Python中bool变量与C语言比较类似,与.net差别比较大,其中下面集中情况需要 ...

  5. python3学习笔记十(循环语句)

    参考http://www.runoob.com/python3/python3-loop.html 循环语句 while循环 # !/usr/bin/env python3 n = 100 sum = ...

  6. shell 学习笔记9-while/until循环语句

    一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...

  7. python基础入门之二 —— 条件、循环语句

    1.条件语句 if if…else… 多重if if嵌套 三目运算符 (化简的if else) if 条件:   条件成立执行代码1   条件成立执行代码2 if False: print('if判断 ...

  8. Python学习笔记——条件和循环

    1.条件表达式 >>> x = 3 >>> x = 1 if x<3 else 2 >>> x 2 2.for语句用于序列类型 <1& ...

  9. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

随机推荐

  1. $.ajax和vue-resource实现OAuth

    Vue.js——使用$.ajax和vue-resource实现OAuth的注册.登录.注销和API调用 概述 上一篇我们介绍了如何使用vue resource处理HTTP请求,结合服务端的REST A ...

  2. 阿里云ECS每天一件事D3:挂载硬盘

    阿里云的系统盘通常都不大,对于我们的日常使用,基本不足,因此都会额外购买至少一块硬盘,作为存储数据之用. 数据盘要经过分区.格式化.挂载三个步骤,方能正常使用.  1.数据盘的分区 先使用fdisk命 ...

  3. 转: object 和embed 标签播放flash

    一.介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签.也就是OBJECT和 EMBED标签.OBJECT标签是用于windows平台的IE浏览器的,而EMBE ...

  4. js获取浏览器窗口的大小

    在我本地测试当中: 在IE.FireFox.Opera下都可以使用 document.body.clientWidth document.body.clientHeight 即可获得,很简单,很方便. ...

  5. 射频识别技术漫谈(9)——动物标签HDX

    半双工(HDX,Half Duplex)技术是ISO11784/11785中规定的另一种标签与读写器之间的通讯方式.读写器先打开射频场对标签充电以激活标签,然后关闭磁场,标签在读写器磁场关闭的情况下向 ...

  6. 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set("utf-8")两种方法)

    升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题第一种:在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式 ...

  7. Python CSV文件处理/读写及With as 用法

    可以不使用CSV模块 逐行处理: for line in open("samples/sample.csv"): title, year, director = line.spli ...

  8. vs linq to db template

    linq to db template 支持sqlite. mysql .db2. accress. oracle. Firebird等多种数据库以linq方式操作数据. NuGet NuGet 是 ...

  9. poj 2263&& zoj1952 floyd

    Fiber Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2725   Accepted: 1252 Des ...

  10. C# Best Practices - Specify Clear Method Parameters

    Improve parameters parameter order public OperationResult PlaceOrder(Product product, int quantity, ...