1、使用逗号输出
使用逗号隔开,可以打印多个表达式。打印后,各项之间自动以一个空格隔开。
也可以同时输出文本和变量值。
可以和字符串连接符“+”一起使用。
 
2、从模块中导入函数
从模块导入函数的方法:
import somemodule
from somemodule import somefunction
from somemodule import somefunction,anotherfunction,yetanotherfunction
from somemodule import *(从给定的模块中导入所有的功能)
如果想导入的两个模块都有某一函数,那么可以这样:
module1.function(……)
module2.function(……)
或者这样:
from module1 import function as function1
from module2 import function as function2
 
3、赋值魔法
(1)序列解包
多个赋值操作可以同时进行,也可以交换两个或者更多个变量的取值。
通过popitem方法完成的序列解包。
序列解包——或者称为可选代解包,将多个值的序列解开,然后放到变量的序列中。
注意,赋值符号(=)左右的变量和值的数目应该是完全一致的。
(2)链式赋值
链式赋值(chained assignment)是将同一个值赋给多个变量的捷径。
x=y=somefunction()
和下面语句的效果是一样的:
x=somefunction()
y=x
但是这两组语句和下面的语句不一定等级:
x=function()
y=funcition()
(3)增量赋值
增量赋值运算符:*=,+=
 
4、语句块
使用缩进符来创建语句块。
可以使用的缩进符:TAB键,4个空格,8个空格
一个程序中只能使用一种缩进符。
一般来说,使用4个空格是最规范的。
同一语句块中所有语句应该有相同的缩进量。
在python中,冒号来标识语句块的开头,以同一缩进符停止标识该语句块的停止。
 
5、条件语句
(1)布尔值:
假(Flase):标准的Flase,None,所有类型的数字0(浮点型、长整型、其他类型等),空序列(空字符串、空元组、空列表)、空字典都是假。
真(True):除上面的假意外的都是真,包括特殊值True。
标准的布尔值为True和Flase,或者说是1和0。
如果某个逻辑表达式返回1或者0,实际表示的意思就是返回True或者False。
尽管''和0都是假值,但是它们本身并不相等。
Pyhton是区分大小写的,对像Flase和True有严格的大小写要求。
布尔值True和False属于布尔类型,bool函数可以用来将其他值转换成布尔值。
(2)条件语句
if语句、else语句、elif语句
一定要记得冒号,没有then一说。
raw_input函数接收的输入都自动保存为了文本型。所以使用input接收输入,也可以使用int(raw_input(……))来接受输入。
另外,if语句里面可以进行嵌套if语句。
可以不写最后一个else语句,那么遗漏的对象就自动被忽略掉。
(3)比较运算符:
(4)相等运算符:==
(5)同一运算符:is
is运算符判断的是同一性而不是相等性。变量x和y都绑定到同一个列表上,所以x与y既相等又满足同一。而变量z被绑定到另外一个具有相同数值和顺序的列表上,它们值相同,但是并不是同一个对象。
使用is(is not)判断两者的同一性(是否是同一个对象),使用==(!=)来判断两者的相同性(是否相等)。
要避免使用is运算符对两个不可变值(字符串或者数)进行比较。
(6)in:成员资格运算符
(7)字符串和序列的比较:>,<,是按字母顺序进行比较的。
如果字符串内是大小写字母混合,也会进行区别比较,毕竟python是区分大小写的。
如果不想收大小写影响,则可以使用upper()和lower方法进行相关转换后再进行比较。
字母都是有顺序的,一个字母的顺序值可以通过ord函数查询到。ord函数和chr函数功能相反。
其他序列类型也可以进行比较,规则一样。
(8)条件的连接
用and连接。
 
6、循环语句
(1)while循环
在条件为真的情况下重复执行一个代码块,直至条件不为真。注意用冒号。
(2)for循环
指定一个循环范围,在这个范围内重复执行一个代码块。注意用冒号。
(3)循环遍历字典元素
(4)一些迭代工具
A、并行迭代
可以使用内建的zip函数将两个序列压缩在一起,返回产生一个元组的列表。然后再循环中解包元组。
zip函数可以用于任意多的序列,也可以应付不等长的序列,以最短的序列作为列表的长度。
B、翻转和排序迭代
两个有用的方法:reversed方法和sorted方法。
他们可以作用于任何序列或者可迭代对象上,不是原地修改对象,而是返回翻转或排序后的版本。
sorted返回列表,reversed方法则返回一个可迭代对象。
(5)跳出循环
A、break
break语句用户跳出/结束循环。
B、continue
结束当前循环,跳到下一轮循环的开始。
C、while True/break
为了实现这样一个功能,可以有:
也可以有:
while True是一个永远都不会自己停止的循环。只有在循环内部加入if判断语句在加上break语句,当满足一个预设的停止循环条件时,才会终止循环。
(6)循环中的else子句
可以使用布尔变量检查中途是否跳出循环。
也可以给for循环加一个else子句,else子句当且仅当没有调用break时才执行。
但是这个for循环一定需要是一个有限循环。
(7)列表推导式——轻量级循环
列表推导式是利用其它列表创建新列表的一种方法。其工作方式类似于for循环。
创建新列表中可以使用单个for循环,也可以使用多个循环,还可以搭配if条件使用。
只有列表推导式,没有元组推导式,因此将这里的方括号换成圆括号,在2.3版本之前会报错,之后会产生一个迭代器。
 
7、几个特殊的语句:
(1)pass语句
用作测试占位使用。
这时候如果调试起来就会产生错误。
这里,如果使用pass语句,就可以在通过语法要求而且不产生其他作用。
(2)del语句
通过将a赋值为None,是隔断了a与列表['a12','b34','c456']之间的指向联系。但是a作为一个对象仍然飘在内存中。
这时候需要使用del语句,将对象a删除掉。
对于列表['a12','b34','c456']这个在python中是无法删除掉的。我们使用del语句仅仅是移除一个对象的引用和这个对象的名字本身。当这个列表不再使用时,python解释器会负责进行内存的回收。
(3)exec语句
exec语句用于执行存储在字符串中的python代码,但是这样的话存在一定的漏洞。具体的说,如果程序将用户提供的一段内容中的一部分字符串作为代码执行,程序就可能失去了对代码执行的控制。
所以,对exec语句需要加一个命名空间,或者说是作用域。
exec语句最有用的地方在于可以动态地创建代码字符串。
(4)eval语句
eval语句用于求值,它是类似于exec的内建函数。exec语句会执行一系列python语句。而eval会计算python表达式,并返回结果值。exec语句不返回任何对象。
和exec语句一样,eval也可以使用命名空间。
 
8、小结:
 
 
 

初见Python<5>:条件、循环和其他语句的更多相关文章

  1. Python之条件 循环和其他语句 2014-4-6

    #条件 循环和其他语句 23:30pm-1:431.print和import的更多信息 使用逗号将多个表达式输出 >>> print 'age:',42 age: 42 >&g ...

  2. 一步一步学python(五) -条件 循环和其他语句

    1.print 使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开 >>> print 'chentongxin',23 SyntaxError: invalid synta ...

  3. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

  4. Python基础教程之第5章 条件, 循环和其它语句

    Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 #Chapter 5 条件, 循环 ...

  5. python基础教程第5章——条件循环和其他语句

    1.语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可穿件语句块.块中的每行都应该缩进同样的量.在Phyton中冒号(:)用来标识语句块的开始,块中 ...

  6. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  7. python学习笔记之四:条件,循环和其他语句

    前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...

  8. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  9. python学习笔记(四)、条件、循环及其他语句

    1 再谈print和import 1.1 打印多个参数 print 能够同时打印多个表达式,并且能自定义分隔符.如下: print('a','b','c') ——> a b c print('a ...

随机推荐

  1. 【BZOJ4816】【SDOI2017】数字表格 [莫比乌斯反演]

    数字表格 Time Limit: 50 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Doris刚刚学习了fibonac ...

  2. zoj2001 Adding Reversed Numbers

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2001 Adding Reversed Numbers Time ...

  3. hdu 1217 Arbitrage (spfa算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 题目大意:通过货币的转换,来判断是否获利,如果获利则输出Yes,否则输出No. 这里介绍一个ST ...

  4. 2017-2018-1 20179205《Linux内核原理与设计》第六周作业

    <Linux内核原理与设计> 视频学习及操作 给MenuOS增加time和time-asm命令的方法: 1.更新menu代码到最新版 rm menu -rf //强制删除menu, rm ...

  5. python—RE正则表达式

    re正则表达式 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的 ...

  6. Linking code for an enhanced application binary interface (ABI) with decode time instruction optimization

    A code sequence made up multiple instructions and specifying an offset from a base address is identi ...

  7. free函数在操作系统内存中的实现【转】

    转自:http://www.2cto.com/kf/201210/160985.html 我一次性malloc十个单位节点的内存空间出来赋值给L, 现在我想一次性删除从第3个到第6个节点,我是这么做的 ...

  8. 一个朋友 js图表开发问题 用 c和 js 解决

    引言            不求知道一切, 只求发现一件 -- 乔治·西蒙·欧姆 附注:那些存在于梦幻中的事迹,那些儿时梦中的人物,每每看起,都觉得 .哎 .... 岁月 ... 一直在努力 ...  ...

  9. OpenCV编程入门目录

    第一部分 快速上手OpenCV 第1 章 邂逅OpenCV 图像处理.计算机视觉与OpenCV OpenCV 概述 起源及发展 应用概述 .2OpenCV 基本架构分析 .3OpenCV3 带来了什么 ...

  10. 尽量用const,enum,inline代替define

    在读<Effective C++>之前,我确实不知道const,enum,inline会和define扯上什么关系,看完感觉收获很大,记录之. define: 宏定义. 在编译预处理时,对 ...