• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 《python基础教程》笔记之条件语句和循环语句

《python基础教程》笔记之条件语句和循环语句

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了python,条件语句,循环语句等相关知识,希望本文的分享对您有所帮助
布尔变量

下面的值会被解释器看做假(false):

False None 0 "" () {} []

其它的一切都被解释为真。

>>> True
True
>>> False
False
>>> True == 1
True
>>> False == 0
True
>>> True + False +42
43

bool函数 -- 用来转换其它值,如

>>> bool([])
False
>>> bool('hello,world')
True

条件语句

if else elif

is 和 is not -- 判断两个变量是不是同一个对象

>>> x=y=[1,2,3]
>>> z=[1,2,3]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False

上例中可见,因为is运算符是判定同一性的。变量x和y都被绑定在同一个列表上,而变量z被绑定在另外一个具有相同数值和顺序的列表上。它们的值可能相同,但是却不是同一个对象。

in 和 not in -- 成员资格运算符

assert -- 当条件不为真时,程序崩溃

>>> x = 5
>>> assert 0<x<10
>>> assert 5<x <4

Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
assert 5<x <4
AssertionError

循环

range -- 内建范围函数,它包含下限,但不包含上限,如

>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for num in range(0, 10): PRint num,

结果如下

>>>
0 1 2 3 4 5 6 7 8 9

循环遍历字典,可以使用序列解包,如

d = {'x':1, 'y':2}for key, value in d.items(): print key, 'corresponds to', value

结果

>>>
y corresponds to 2
x corresponds to 1

zip -- 可以将任意多个序列“压缩”在一起,然后返回一个元组的列表,同时他可以应付不等长的序列,当最短的序列“用完”时就会停止,如

>>> zip(range(5), xrange(10000))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
>>> names=['a', 'b', 'c']
>>> ages = [45, 23 ,98]
>>> zip(names, ages)
[('a', 45), ('b', 23), ('c', 98)]

并行迭代,如

names=['a', 'b', 'c']
ages = [45, 23 ,98]for name, age in zip(names, ages): print name, 'is', age, 'old'

结果

>>>
a is 45 old
b is 23 old
c is 98 old

编号迭代 -- 迭代序列中的对象,同时还要获取当前对象的索引,如

names=['Mr.a', 'Ms.b', 'Mr.c']for index, name in enumerate(names): if 'Mr' in name:
names[index] = 'nan'for name in names: print name,

结果
>>>
nan Ms.b nan

翻转和排序迭代(sorted和reversed) -- 作用域任何序列或可迭代对象上,不是原地修改对象,而是返回翻转或排序后的版本,但是返回对象不能直接对它使用索引、分片以及调用list方法,可以使用list类型转换返回的对象,如

>>> sorted([4,3,8,6,3,])
[3, 3, 4, 6, 8]
>>> sorted('hello, world!')
[' ', '!', ',', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
>>> list(reversed('hello, world!'))
['!', 'd', 'l', 'r', 'o', 'w', ' ', ',', 'o', 'l', 'l', 'e', 'h']
>>> ''.join(reversed('hello, world!'))
'!dlrow ,olleh'

break/continue -- 跳出循环/继续下一轮循环

循环中的else子句 -- 如果循环中没有调用break时,else子句执行,如

from math import sqrtfor n in range(99, 81, -1):
root = sqrt(n) if root == int(root): print n breakelse : print "Didn't dind it!"

结果

>>>
Didn't dind it!

列表推导式--轻量级循环

列表推导式是利用其它列表创建新列表的一种方法,如

>>> [(x,y) for x in range(3) for y in range(3)]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
>>> girls = ['alice', 'bernice', 'clarice']
>>> boys = ['chris', 'arnold', 'bob']
>>> [b+'+'+g for b in boys for g in girls if b[0] == g[0]]
['chris+clarice', 'arnold+alice', 'bob+bernice']

以上就是《python基础教程》笔记之条件语句和循环语句的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • Mysql中校对集utf8_unicode_ci与utf8_general_ci的区别说明
  • IP处理函数inet_aton()和inet_ntoa()使用说明
  • 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享
  • 如何实现python3实现并发访问水平切分表
  • mysql大表中count()的用法以及mysql中count()的优化
  • 分享一个纯 Python 实现的 MySQL 客户端操作库
  • Python Unittest怎么进行自动化的单元测试
  • python使用unittest测试接口步奏详解
  • Python怎么统计字母出现的次数

相关文章

  • 2018-12-05MongoDB学习(三)MongoDB shell 命令行的使用
  • 2018-12-05Mysql服务器的启动与停止(二)
  • 2017-05-11将MySQL从MyISAM转换成InnoDB错误和解决办法
  • 2018-12-05MySQL事务、锁以及应用(二)
  • 2018-12-05mysql 索引详细介绍_MySQL
  • 2017-05-11MySQL获取系统性能和状态代码
  • 2018-12-05Oracle字符集修改查看方法
  • 2018-12-05MySQL 数据库设计初步规范V1.0
  • 2017-05-11MySQL中三种关联查询方式的简单比较
  • 2018-12-05数据库中超键、主键、外键等的定义用法详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Oracle随机函数之dbms_random使用详解
    • java.sql.SQLException: 内部错误: Unable to construct a Datum
    • MySQL 5.5主从同步设置笔记分享
    • MySQL之-Cluster集群搭建(基于RPM安装包 双管理中心)详解
    • MYSQL命令行导入导出数据库详解
    • IP处理函数inet_aton()和inet_ntoa()使用说明
    • MyBatis如何实现Mysql数据库分库分表的实例详解
    • winXP系统安装SQLServer2005开发版具体过程与注意问题
    • MYSQL主从不同步延迟原理分析及解决方案
    • MSSQL内外连接(INNER JOIN)语句详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有