一.if语句

 

1.1 功能

计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码)

if语句就是来控制计算机实现这一功能

 

1.2 语法

 

1.2.1:单分支,单重条件判断

if expression:

expr_true_suite

注释:expession为真执行代码expr_true_suite

 

1.2.2:单分支,多重条件判断

if not  active or over_time >= 10:

print('Warning:service is dead')

warn_tag+=1

 

1.2.3:if+else

if expression:

expr_true_suite

else:

expr_false_suite

 

1.2.4:多分支if+elif+else

if expession1:

expr1_true_suite

elif expression2:

expr2_true_suite

elif expession3:

expr3_true_suite

else:

none_of_the_above_suite

 

1.2.5:if语句小结

  1. if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if
  2. expression可以引入运算符:not,and,or,is,is not
  3. 多重expression为加强可读性最好用括号包含
  4. if与else缩进级别一致表示是一对
  5. elif与else都是可选的
  6. 一个if判断最多只有一个else但是可以有多个elif
  7. else代表if判断的终结
  8. expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print('ok'))
  9. 所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。

下列对象的布尔值是 False

 

1.4 三元表达式

语法:

expr_true_suite if expession else expr_false_suite

案例一:

>>> active=1
>>> print('service is active') if active else print('service is inactive')
service is active

案例二:

>>> x=1
>>> y=2
>>> smaller=x if x < y else y
>>> smaller
1
 
 
二.while语句
 

2.1 功能

while循环的本质就是让计算机在满足某一条件的前提下去重复做同一件事情(即while循环为条件循环,包含:1.条件计数循环,2条件无限循环)

这一条件指:条件表达式

同一件事指:while循环体包含的代码块

重复的事情例如:从1加到10000,求1-10000内所有奇数,服务等待连接

 

2.2 语法

 

2.2.1:基本语法

while expression:

suite_to_repeat

注解:重复执行suite_to_repeat,直到expression不再为真

 

2.2.2:计数循环

count=0
while (count < 9):
print('the loop is %s' %count)
count+=1
 

2.2.3:无限循环

count=0
while True:
print('the loop is %s' %count)
count+=1
tag=True
count=0
while tag:
if count == 9:
tag=False
print('the loop is %s' %count)
count+=1
 

2.2.5:while语句小结

  • 条件为真就重复执行代码,直到条件不再为真,而if是条件为真,只执行一次代码就结束了
  • while有计数循环和无限循环两种,无限循环可以用于某一服务的主程序一直处于等待被连接的状态
  • break代表跳出本层循环,continue代表跳出本次循环
  • while循环在没有被break打断的情况下结束,会执行else后代码
 

三.for语句

 

3.1 功能

for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)

 

3.2 语法

 

3.2.1:基本语法

for iter_var in iterable:

suite_to_repeat

注解:每次循环, iter_var 迭代变量被设置为可迭代对象(序列, 迭代器, 或者是其他支持迭代的对 象)的当前元素, 提供给 suite_to_repeat 语句块使用.

 

3.2.2:遍历序列类型

name_list=['alex','eric','rain','xxx']

#通过序列项迭代for i in name_list:
    print(i)

#通过序列索引迭代for i in range(len(name_list)):
    print('index is %s,name is %s' %(i,name_list[i]))

#基于enumerate的项和索引for i,name in enumerate(name_list,2):
    print('index is %s,name is %s' %(i,name)) 

 

3.2.3:遍历可迭代对象或迭代器

迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,

迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.

for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作

很多时候你根本无法区分for循环的是序列对象还是迭代器

>>> f=open('a.txt','r')

for i in f:
print(i.strip())
hello
everyone
sb
 

3.2.4:for基于range()实现计数循环

range()语法:

range(start,end,step=1):顾头不顾尾

  • range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]
  • range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7, 9]
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range(10):
print(i)
0
1
2
3
4
5
6
7
8
9

注:for基于range()实现计数循环,range()生成可迭代对象,说明for循环本质还是一种迭代循环

 

3.2.5:for与break,continue,else

同while

 

3.2.6:for语句小结

  • for循环为迭代循环
  • 可遍历序列成员(字符串,列表,元组)
  • 可遍历任何可迭代对象(字典,文件等)
  • 可以用在列表解析和生成器表达式中
  • break,continue,else在for中用法与while中一致
 

3.3 案例

albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')
years = (1976, 1987, 1990, 2003)

#sorted:排序for album in sorted(albums):
    print(album)

#reversed:翻转for album in reversed(albums):
    print(album)

#enumerate:返回项和for i in enumerate(albums):
    print(i)
#zip:组合for i in zip(albums,years):
    print(i)

python 条件与循环的更多相关文章

  1. python条件与循环-条件

    1.条件和循环 主要讨论:if.while.for以及相关的搭配else.elif.break.continue和pass语句. 1.1 if语句 if语句由三部分组成:关键字本身.用于判断结果真假的 ...

  2. Python 条件判断 循环

    age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的 ...

  3. python - 条件语句/循环语句/迭代器

    条件测试:if 条件表达式python 的比较操作        所有的python对象都支持比较操作            可用于测试相等性.相对大小等            如果是复合对象,pyt ...

  4. python条件、循环语句

    既然讲到语句,那先说明一下语句块.语句块不是一种语句,是一组语句.在条件为真时执行或者多次的一组语句.主要注意其格式,用冒号来标识语句块的开始,块中每行缩进相同的量,一般4个空格(tab字符位置为8个 ...

  5. python条件与循环-循环

    1 while语句 while用于实现循环语句,通过判断条件是否为真,来决定是否继续执行. 1.1 一般语法 语法如下: while expression: suite_to_repeat 1.2 计 ...

  6. Python 条件、循环、异常处理

    一.条件语句 1.布尔值 条件语句中,判断条件的值一般是布尔值.即条件为真时,将执行什么,条件为假时,将执行什么. 下面的值在作为布尔表达式的时候,会被解释器看做假(false): False    ...

  7. Python条件与循环

    1.条件语句: 形式: if 判断语句 : 执行语句1elif 判断语句2: 执行语句2elif 判断语句3: 执行语句3#...else: 执行语句4    占位符 pass 2.循环语句 1.wh ...

  8. Python 2.7 学习笔记 条件与循环语句

    本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...

  9. python实例 条件和循环语句

    #! /usr/bin/python #条件和循环语句 x=int(input("Please enter an integer:")) if x<0:     x=0    ...

随机推荐

  1. phpstudy添加redis扩展

    操作系统   windows: 直接贴步骤记录下 一.      划重点,运行phpinfo(), 观察第四行 x86  好了记住这个 x86 三.    http://pecl.php.net/pa ...

  2. React基础知识备忘

    section-1 //react组件 export class Halo extends React.Component{ constructor(...args){ super(...args); ...

  3. Winhex数据恢复学习笔记(三)

    上次对文件系统进行简单的分析,这次就文件的镜像功能做一介绍 1.首先镜像的概念:镜像就是数据的副本,是原来数据在相同位置上以相同的排列模式生成的拷贝,所以镜像可以用来还原原始数据,代替原始数据工作,镜 ...

  4. python进行进制转换

    # 10进制转为2进制 print(bin(10)) # 结果:0b1010 # 2进制转为10进制 print(int("1001", 2)) # 结果:9 # 10进制转为16 ...

  5. JavaScript 高级程序设计第二版

    20.4 部署 20.4.1 构建 构建过程始于在源控制中定义用于存储文件的逻辑结构.最好避免使用一个文件存放所有的JavaScript,遵循以下面向对象语言中的典型模式:将每个对象或自定义了类别分别 ...

  6. 011-Python-进程、线程于协程

    1.进程与线程 进程: 一个程序要运行时所需的所有资源的集合: 一个进程至少需要一个线程,这个线程称为主线程,一个进程里可以包含多个线程: cpu 核数越多,代表着你可以真正并发的线程越多2个进程之间 ...

  7. office web apps搭建与解决方案

    微软office在线预览解决方案https://view.officeapps.live.com/op/view.aspx?src=http://storage.xuetangx.com/public ...

  8. 使用 cacti 监控 windows 服务器硬盘的 I/O 状况

    https://blog.csdn.net/m0_37814112/article/details/80742433

  9. webpack学习笔记--其它配置项

     其它配置项 除了前面介绍到的配置项外,Webpack 还提供了一些零散的配置项.下面来介绍它们中常用的部分. Target JavaScript 的应用场景越来越多,从浏览器到 Node.js,这些 ...

  10. CentOS安装CAS 5.3.4服务端

    1.安装jdk1.8 https://www.cnblogs.com/kgdxpr/p/6824093.html 2.安装tomcat8 3.安装maven https://www.cnblogs.c ...