《转》python学习(11)-表达式和语句
转自 http://www.cnblogs.com/BeginMan/p/3164600.html
一、Python语句
if语句、else语句、elif语句、条件表达式、while语句、for语句、break语句、continue语句、pass语句、Iterators(迭代器)、列表解析
二、常用语句小结
1、if语句可以通过布尔操作符and、or和not实现多重判断条件或否定判断条件
2、if...elif...elif...else..
3、三元操作符:Python2.5后:X if C else Y
x,y=4,3
if x>y:
s = y
else:
s= x print s
或许更加简洁的是:
x,y = 4,3
s = (x<y and [x] or [y])[0]
在Python2.5更新后:
x,y = 4,3
s = x if x<y else y
4、while:
count = 0
while(count<9):
.....
或者:
while True:
.....
#用的挺多的。
5、for循环
s = ['a','b','c','d','e'] #No1:项
for obj in s:
print obj, #a b c d e print range(len(s)) #[0, 1, 2, 3, 4]
#No2:索引
for obj in range(len(s)):
print s[obj], #a b c d e
配合len()、range()使用,使用range()能得到迭代对象的索引数的列表。
#No3:使用项和索引迭代
for i,eachline in enumerate(s):
print i,eachline
#0 a
#1 b
#2 c
#3 d
#4 e
enumrate():返回两个对象,一个是下标索引(%d),另一个是下标索引对应的元素(%s)
6、break、continue
break:结束当前循环,跳到下一条语句。
continue:终止当前循环,忽略剩余的部分,然后回到循环的顶端,在开始执行下一次迭代前,验证是否通过,然后再进行下一次的迭代。
pwd='abc'
count = 0
while count<3:
inp =raw_input('Please input password:')
if inp == pwd:
print 'ok'
break
else:
count += 1
# if count<3:
# print 'you have %d times to input password' %(3-count)
# else:
# print 'game over'
#精简:x if ..else y
s = 'you have %d times to input password' %(3-count) if count<3 else 'game over'
print s
7、pass
pass:是一个很好的占位符,不做任何事情。
注意:编写代码时,最好先别结构定下来,如果不想让一些代码干扰,那么最好的方法就是使用pass
8、for、while与else的联合使用
其他语言中,else只能用于if条件句,但是Python不同其他语言,else还能与for、while一起使用。在循环后处理,并且如果遇到break,则也会跳过else的。
def showMaxFactor(num):
count = num / 2
while count > 1:
if num % count == 0:
print u'%d的最大公约数是: %d' %(num,count)
break
count -= 1
else:
print num,u'是素数' for eachNum in range(10,21):
showMaxFactor(eachNum)
《转》python学习(11)-表达式和语句的更多相关文章
- python学习之with...as语句
python中的with...as...语句类似于try...finally...语句: # -*- coding: utf-8 -*- # """ with...as. ...
- JavaScript学习笔记-表达式和语句
表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一 ...
- python学习_条件判断语句_if
#条件判断语句(if)#语法:if条件表达式:语句# 代码块#执行流程:if语句在执行时,会先对条件表达式进行求值判断#如果为True,则执行if后面的语句#如果为False,则不执行#默认情况下,i ...
- 《转》python 11 表达式和语句
转自 http://www.cnblogs.com/BeginMan/p/3164600.html 一.Python语句 if语句.else语句.elif语句.条件表达式.while语句.for语句. ...
- 【python系统学习11】循环语句里的F4
循环语句里的F4 深入了解下四个新语句,分别是:continue.break.pass.else以及他们搭配for.while循环等语句时,所产生的化学反应. else 由于continue.brea ...
- Python 学习笔记8 循环语句 while
While循环是哟中利用条件语句,不断的执行某一段代码块,达到批量操作输出等一系列的操作,直到条件不满足或者被强制退出为止. 其工作流程如下: (图片来源菜鸟教程:http://www.runoob. ...
- Python学习-lambda表达式
lambda只是一个表达式,函数体比def简单很多.lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去.lambda表达式是起到一个函数速写的作用.允许在 ...
- Python学习记录4(语句)
赋值语句 序列解包 条件语句 语句块 布尔变量 条件执行和if语句 条件运算符 循环 while语句 for循环 迭代工具 跳出循环 break continue while truebreak语句 ...
- 【Python学习笔记】with语句与上下文管理器
with语句 上下文管理器 contextlib模块 参考引用 with语句 with语句时在Python2.6中出现的新语句.在Python2.6以前,要正确的处理涉及到异常的资源管理时,需要使用t ...
- Python 学习笔记9 循环语句 For in
For in 循环主要适用于遍历一个对象中的所有元素.我们可以使用它遍历列表,元组和字典等等. 其主要的流程如下:(图片来源于: https://www.yiibai.com/python/pytho ...
随机推荐
- (转)android媒体--stagefright概述【一】
转自:http://blog.csdn.net/loovejava/article/details/8971790 最近杂七杂八的忙碌着,前几天看了下这部分主要是stagefright模块的,所以更改 ...
- Redis与Memcached的实现对比
原文链接:http://www.tuicool.com/articles/qUBNZva Memcached 与 Redis ,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了.前两年还在学校 ...
- MyBatis批量增删改的另外一种思路(推荐)
零.传统拼接SQL语句的弊端 传统上利用Mybatis进行批量操作的方式本质来说是拼接SQL语句,然后交给底层执行,如之前博文而言. 其实这种方式是存在弊端的: 1. SQL语句可能会过长,DB的引擎 ...
- unity3d 读取usb摄像头
using UnityEngine; using System.Collections; public class C : MonoBehaviour { private WebCamTexture ...
- hibernate DetachedCriteria 分页
# 具有一个直观的.可扩展的条件查询API是Hibernate的特色. # # 15.1. 创建一个Criteria 实例 # org.hibernate.Criteria接口表示特定持久类的一个查询 ...
- linux下命令行打开文件管理器
nautilus,这个太有用了,应为可以在secureCRT中使用,因为可以添加sudo来调用
- AngularJS.directive系列:嵌套directive的通讯及scope研究
一.directive中的scope directive无疑是AngularJS中比较复杂难懂的部分,而directive中个scope更是其中最复杂的部分了,尤其是在嵌套directive中互相通讯 ...
- 《Thinking in Java》习题——吸血鬼数字
最近在看<Java编程思想>,这本书非常棒,不愧是Java程序员的圣经.看到第四章,后面有道题目很有意思,于是就自己做了做.
- java程序员如何编写更好的单元测试的7个技巧
详解 cppunit进行单元测试 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函 ...
- [Module] 03 - Software Design and Architecture
本篇涉及内容: ORM框架(无需再用contentprovider或者sqlitedatebasehelper之类的古董工具了) 规划各种业务Bean文件(配合ORM框架) 设计一个好的请求基类(Ba ...