一、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入门笔记(12):表达式和语句的更多相关文章

  1. python入门学习:4.if语句

    python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试   if语句基本格式如下,注意不要漏了冒号 1if 条件 :2     ...

  2. python入门(12)dict

    python入门(12)dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例 ...

  3. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  4. 大爽Python入门教程 1-2 数与字符串

    大爽Python入门公开课教案 点击查看教程总目录 1 整数与浮点数 整数大家都知道,比如1, 2, 10, 123, 都是整数int. 浮点数是什么呢? 上一节的除法运算,不知道有没有人注意到,其结 ...

  5. Python Cookbook 笔记--12章并发编程

    <Python Cookbook(第3版)中文版> 1.队列queue的有些方法是线程不安全的,在多线程中最好别用 2.需要限制一段代码的并发访问量时,用信号量.不要把信号量当做普通的锁来 ...

  6. Python入门笔记——(1)数字与表达式

    一.算术运算 整除:// 取余:% 乘方:** (a ** b = pow(a, b)) 十六进制表示:0x...,八进制表示0... round(x [, n]):对x从小数点第n位取四舍五入结果, ...

  7. Python入门笔记(13):列表解析

    一.列表解析 列表解析来自函数式编程语言(haskell),语法如下: [expr for iter_var in iterable] [expr for iter_var in iterable i ...

  8. [Python]Python入门笔记:语法基础

    Python笔记 一.基本语法 1.1 注释 文档注释: """contents""" 多行注释: ''' contents ''' 单行注 ...

  9. python学习笔记12 ----线程、进程

    进程和线程的概念 进程和线程是操作系统中两个很重要的概念,对于一般的程序,可能有若干个进程,每一个进程有若干个同时执行的线程.进程是资源管理的最小单位,线程是程序执行的最小单位(线程可共享同一进程里的 ...

随机推荐

  1. MySQL – 导出数据成csv

    方案有很多种,我这里简单说一下: 1.  into outfile SELECT * FROM mytable INTO OUTFILE '/tmp/mytable.csv' FIELDS TERMI ...

  2. Redis之高可用方案

    Redis之高可用方案   Redis以其高效的访问速度著称.但由于官方还未发布redis-cluster,而redis的replica又有诸多不便:比如一组master-slave的机器,如果之间有 ...

  3. The Truth About .NET Objects And Sharing Them Between AppDomains

    From http://geekswithblogs.net/akraus1/archive/2012/07/25/150301.aspx I have written already some ti ...

  4. ecshop 加广告出现广告位的宽度值必须在1到1024之间

    打开 admin/ad_position.php这个文件,搜索1024,这里你会搜到两个地方 在236行左右 if ($ad_width > 1024 || $ad_width < 1) ...

  5. 由于源码使用是c\c++与oc混编导致Unknown type name 'NSString'

    今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 解决方案三: 将Compile Sources As 改为 Objective-C++

  6. ubuntu-15.10-server-i386.iso 安装 Oracle 11gR2 数据库

    注意: ld的版本为 2.25.1,gcc版本为gcc-5 特点: 需要重新安装老版本的 libaio1_0.3.109-2ubuntu?_i386.deb.默认的libaio库有问题,和其默认lib ...

  7. ubuntu-16.10-desktop-amd64.iso 版本 安装 oracle 11gR2 11.2.0.1 database

    特点: 需要重新安装:libaio1_0.3.109-2ubuntu?_amd64.deb.默认的libaio库有问题,和其默认libaio的编译方式有关! 需要重新安装gcc 4.x,默认的gcc ...

  8. nc

    http://www.oschina.net/translate/nc-command-examples http://nixdoc.net/man-pages/openbsd/man1/nc.1.h ...

  9. 读书笔记_Effective_C++_条款四十四:将与参数无关的代码抽离template

    标题上说“将与参数无关的代码抽离template”,这里的参数既可以指类型,也可以是非类型,我们先来看看非类型的情况. 假定我们要为矩阵写一个类,这个矩阵的行列元素个数相等,是一个方阵,因而我们可以对 ...

  10. CG

    //设置线的宽度 CGContextSetLineWidth(ctx, 12); //设置线的连接处 (拐点) CGContextSetLineJoin(ctx, kCGLineJoinRound ) ...