《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
print 'AB', 123 ==> AB 123 # 插入了一个空格
print 'AB', 'CD' ==> AB CD # 插入了一个空格
print 1,2,3 ==> 1 2 3
print (1,2,3) ==> (1, 2, 3)
#在脚本中以下ABCD连在一起输出
print 'AB',
print 'CD'
import somemodule #导入模块
from somemodule import somefunction #导入函数
from somemodule import function1,function2... #导入函数
from somemodule import *
module1.open() #使用模块中函数
module2.open()
import math as foobar #为模块提供别名
foobar.sqrt(4)
from math import sqrt as foobar #为函数提供别名
foobar(4)
序列解包
x,y,z=1,2,3; print x,y,z ==> 1 2 3
x,y,z=1,2,3; x,y=y,z; print x,y ==> 2 3
x=1,2,3; a,b,c=x; print a,b,c ==> 1 2 3
d={'key1':'value1','key2':'value2'}; key,value=d.popitem(); print key,value ==> key2 value2
链式赋值
x=y=z={'key1':'value1'}; x is y ==> True
x=y=z={'key1':'value1'}; x==y ==> True
增量赋值
x+=1; x*=1;
可以用tab或空格分层缩进代码;推荐用四个空格来缩进。用Tab缩进更方便,比空格更快。
: 表示语句块的开始
布尔值:True, False, bool()
这些被看为False: False, None, 0, "", (), [], {}
True==1 ==> True
False==0 ==> True
True+False+4 ==> 5
bool('ABC') ==> True
bool('') ==> False
bool(3) ==> True
bool(0) ==> False
if expression:
block1
if expression:
block1
else:
block2
if expression1:
block1
elif expression2:
block2
else:
block3
比较运算符
x==y 相等运算符
x!=y 不相等运算符
x is y 同一性运算符
x is not y
x in y 成员资格运算符
x not in y
0<age<100 # python可以这样用
'ab'=='ab' ==> True
'ab'=='cd' ==> False
12==34 ==> False
x=y=[1,2]; x==y ==> True
x=y=[1,2]; x is y ==> True
x=y=[1,2]; z=[1,2]; x is z ==> False
x=y=[1,2]; z=[1,2]; x==z ==> True
'ABC'<'ABC' ==> False
[1,2]<[2,1] ==> True
布尔运算符:
and, or, not
断言
age=-1; assert 0<age<100, 'NOTE'
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
age=-1; assert 0<age<100, 'NOTE'
AssertionError: NOTE
while expression:
block
for item in itemset:
block
range函数包含下限,不包含上限;
range(0,3) ==> [0, 1, 2]
range(3) ==> [0, 1, 2]
遍历字典
d={'key1':'value1','key2':'value2'};
for key in d:
print key,d[key]
for key,value in d.items():
print key,value
并行迭代
a=[1,2,3]; b=['a','b','c']; zip(a,b) ==> [(1, 'a'), (2, 'b'), (3, 'c')]
编号迭代
for index, string in enumerate(strings):
if 'xxx' in string:
strings[index]='NewValue'
反转和排序迭代
sorted([3,1,2]) ==> [1, 2, 3]
x=[1,2,3]; list(reversed(x)) ==> [3, 2, 1] # reversed返回可迭代对象
break结束循环
continue进行下一次循环
while True:
block1
if expression:
break
block2
for item in items:
block1
if expression:
break
block2
else:
block3 # 当for执行完毕,并且没有执行过其中的break,此时执行block3
列表推导式
[x*x for x in range(3)] ==> [0, 1, 4]
[x*x for x in range(3) if x%2==0] ==> [0, 4]
[(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)]
pass # 占位符,类似于空语句
del # 删除对象
exec # 执行一个字符串
exec "print 'ABC'" ==> ABC
from math import sqrt; scope={}; exec 'sqrt=1' in scope; sqrt(4); scope['sqrt'];
eval 求值,类似于 exec
eval(raw_input(""))
1+1
2
scope={}; scope['x']=2; scope['y']=3; eval('x*y',scope) ==> 6
《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)的更多相关文章
- Jquery基础教程第二版学习记录
本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...
- <<Python基础教程>>学习笔记 | 第10章 | 充电时刻
第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简 ...
- <<Python基础教程>>学习笔记 | 第11章 | 文件和素材
打开文件 open(name[mode[,buffing]) name: 是强制选项,模式和缓冲是可选的 #假设文件不在.会报以下错误: >>> f = open(r'D:\text ...
- <<Python基础教程>>学习笔记 | 第04章 | 字典
第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中.键能够使字符.数字.或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每一个键都是由坐标值组 ...
- <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面
Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...
- 第二章、元组和列表(python基础教程第二版 )
最基本的数据结构是序列,序列中每个元素被分配一个序号-元素的位置,也称索引.第一个索引为0,最后一个元素索引为-1. python中包含6种内建的序列:元组.列表.字符串.unicode字符串.buf ...
- python基础教程第二版 第一章
1.模块导入python以增强其功能的扩展:三种方式实现 (1). >>> Import math >>> math.floor(32.9) 32.0 #按照 模块 ...
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver
1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
随机推荐
- springboot整合docker部署(两种构建Docker镜像方式)
项目结构 package hello; import org.springframework.boot.SpringApplication; import org.springframework.bo ...
- ISE封装IP
1.综合成ngc文件,然后再黑盒调用,再写一个端口文件(写个空壳文件,就是定义输入输出,在工程里面调用这个文件就行,把ngc放到工程目录下).
- oracle索引的理解
1.当查询表时where条件中有多个索引时,优先使用主键索引,其它索引会失效. 2.当查询的返回的数据占总量数据的百分比小于20%时,建索引才有效果 3.不是主键的索引值可以为空,主键索引不能为空. ...
- Swift中文教程(七)--协议,扩展和泛型
Protocols and Extensions 协议(接口)和扩展 Swift使用关键字protocol声明一个协议(接口): 类(classes),枚举(enumerations)和结构(stru ...
- [译]GLUT教程 - 整合代码7
Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far VII 以下是子窗体的最终版本代码. ...
- Weka关联规则分析
购物篮分析: Apriori算法: 参数设置: 1.car 如果设为真,则会挖掘类关联规则而不是全局关联规则. 2. classindex 类属性索引.如果设置为-1,最后的属性被当做类属性. 3. ...
- 【cogs182】【USACO Jan07】均衡队形【st表】
题目描写叙述 农夫约翰的 N (1 ≤ N ≤ 50,000) 头奶牛,每天挤奶时总会按相同的顺序站好. 一日.农夫约翰决定为奶牛们举行一个"终极飞盘"比赛.为简化问题.他将从奶牛 ...
- dede后台title怎么修改的?去掉XXXX-织梦内容管理系统V5.7
dede后台title怎么修改的? 去掉XXXX-织梦内容管理系统V5.7 打开include/common.inc.php的文件. $cfg_version = 'V57_UTF8_SP1';(这是 ...
- Android中应用安装分析
#1 安装方式 1 安装系统APK和预制APK时,通过PMS的构造函数中安装,即第一次开机时安装应用,没有安装界面. 2 网络下载安装,通过应用商店等,即调用PackageManager.instal ...
- JVM调优- jstat(转)
jstat的用法 用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序. Jstat ...