博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python文档学习笔记(3)--流程控制语句 (1)
阅读量:4543 次
发布时间:2019-06-08

本文共 2697 字,大约阅读时间需要 8 分钟。

语句

else可选

i = 0while i <= 3:    print("循环{}次".format(i))    i += 1else:    print("结束")

语句

可以有0个或多个 块,,并且 块是可选的

一个 ... ... ...序列 是对其他语言的switch or case 语句的替代方案。

>>> x = int(input("Please enter an integer: "))Please enter an integer: 42>>> if x < 0:...     x = 0...     print('Negative changed to zero')... elif x == 0:...     print('Zero')... elif x == 1:...     print('Single')... else:...     print('More')...More

语句

Python 的 语句可以按照元素出现的顺序迭代任何序列(列表或字符串)

 

>>> # Measure some strings:... words = ['cat', 'window', 'defenestrate']>>> for w in words:...     print(w, len(w))...cat 3window 6defenestrate 12

如果要在循环内修改正在迭代的序列(例如,复制所选的项目),建议首先创建原序列的拷贝

import time words = ['cat', 'window', 'defenestrate'] print(id(words))  #id()查内存地址 b = words[:] for w in b: # Loop over a slice copy of the entire list. if len(w) > 6: words.insert(0, w) print(id(b),words) time.sleep(1) [:]浅拷贝后内存地址变了 267616368200 267616357448 ['defenestrate', 'cat', 'window', 'defenestrate']

函数

包含起点不包含终点,可以是负数,第三个参数可以指定一个步进值。

由 返回的对象的行为就像它是一个列表,但事实上它不是。它是一个对象。当您遍历它时, 它会返回所需的序列连续项。但它并不真的生成了列表,从而节省了空间

>>> for i in range(5):...     print(i)...01234
range(5, 10) 5 through 9 range(0, 10, 3) 0, 3, 6, 9 range(-10, -100, -30) -10, -40, -70 要迭代序列的索引,您可以将和组合如下:
>>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Mary 1 had 2 a 3 little 4 lamb 或者是这样; enumerate(iterable, start=0)
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

 

和语句,以及循环中子句

语句用于跳出最近的 或 循环。

循环语句可以有一个 else 子句;当()循环迭代完整个列表或()循环条件变为假,而非由语句终止时,就会执行这个else语句。

>>> for n in range(2, 10):...     for x in range(2, n):...         if n % x == 0:...             print(n, 'equals', x, '*', n//x)...             break...     else:...         # loop fell through without finding a factor...         print(n, 'is a prime number')...2 is a prime number3 is a prime number4 equals 2 * 25 is a prime number6 equals 2 * 37 is a prime number8 equals 2 * 49 equals 3 * 3

语句表示继续下一次迭代:

>>> for num in range(2, 10):...     if num % 2 == 0:...         print("Found an even number", num)...         continue...     print("Found a number", num)Found an even number 2Found a number 3Found an even number 4Found a number 5Found an even number 6Found a number 7Found an even number 8Found a number 9

语句

语句什么也不做。当语法上需要语句但程序不需要动作时,可以使用它

>>> while True:...     pass  # Busy-wait for keyboard interrupt (Ctrl+C)...
>>> class MyEmptyClass:...     pass ...
>>> def initlog(*args): ... pass # Remember to implement this! ...

 

转载于:https://www.cnblogs.com/IMWU/p/10890658.html

你可能感兴趣的文章
bzoj4784: [Zjoi2017]仙人掌
查看>>
浅谈JSP中forward和redirect
查看>>
yii2 restfulapi 的配置和访问
查看>>
POJ3278
查看>>
tomcat 设置jvm内存
查看>>
C#根据汉字生成拼音首字母全称
查看>>
数据结构 斐波那契查找
查看>>
ranorex前一步的操作结果后一步如何调用
查看>>
食物链 2001年NOI全国竞赛
查看>>
封锁阳光大学
查看>>
图论概况
查看>>
Camera图片特效处理综述(Bitmap的Pixels处理、Canvas/paint的drawBitmap处理、旋转图片、裁截图片、播放幻灯片浏览图片<线程固定时间显示一张>)...
查看>>
(79)zabbix key总是not supported的解决方法
查看>>
不重新编译安装php模块的方法
查看>>
Oracle dblink的说明和简单使用
查看>>
scp限速
查看>>
oracle number数据类型
查看>>
Laravel 完整开源项目大全
查看>>
[Spark内核] 第32课:Spark Worker原理和源码剖析解密:Worker工作流程图、Worker启动Driver源码解密、Worker启动Executor源码解密等...
查看>>
基于jetty镜像的ossfs镜像docker镜像构建
查看>>