Python学习笔记(四)——运算符与流程控制
来源:互联网 发布:知乎华为mate10 编辑:程序博客网 时间:2024/06/05 00:14
运算符
算术运算符
逻辑运算符
Python里不使用符号逻辑运算符(&&,||,!)而使用英文单词(and,or,not)。但两者都是短路规则,即&&只要前项为假,它就不往后判断了,直接认为表达式为假;||只要前项为真,它也不往后判断了,直接认为表达式为真。
成员运算符
Python支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
a = 1list = [1, 2, 3, 4, 5 ];print(a in list) #Trueprint(a not in list) #False
身份运算符
身份运算符(is, is not)用于比较两个对象的存储单元。
a is b类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True。
id()获取内存地址。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。(这与java不一样)
a = 20b = 20print(a is b) #Trueprint(a is not b) #False
但如果赋值的不是20而是大的数值,情况就跟前面的一样了:
a=44444b=44444a is b #Falsea == b #True
因为python中会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同),不过为了提高内存利用效率对于一些简单的对象,如一些数值较小的int对象,python采取重用对象内存的办法,如指向a=20,b=20时,由于20作为简单的int类型且数值小,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象。
如执行a=44444,b=44444这两个语句时会先后为44444这个数值大的int类型对象分配内存,然后将a与b分别指向这两个对象。所以a与b指向的不是同一对象:
条件语句
if xxx: ...elif xxx: ...else: ...
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。
循环语句
Python提供了一个pass空语句,是为了保持程序结构的完整性。它可以用在如if,while,for,函数定义等程序的任何地方。
在Python中,else可以结合while使用。相当于在while正常结束(即非由break跳出循环)时的最后操作。for…else也一样。
count = 0while count < 5: print count, " is less than 5" count = count + 1else: print count, " is not less than 5"
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。语法格式如下:
for iterating_var in sequence: statements(s)
另外一种执行循环的遍历方式是通过索引,如下实例:
fruits = ['banana', 'apple', 'mango']for index in range(len(fruits)): print '当前水果 :', fruits[index]
以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
使用内置 enumerate 函数进行遍历:
for index, item in enumerate(sequence): process(index, item)
- Python学习笔记(四)——运算符与流程控制
- PHP移动互联网开发笔记(3)——运算符与流程控制
- python学习笔记(二)——程序流程控制
- python 运算与流程控制
- PHP学习笔记(四):流程控制
- scala学习笔记(四)流程控制
- 「学习笔记——Python」Python流程控制
- 四.流程控制-学习笔记
- Python 学习成长记(四)---- Python 流程控制
- Python学习笔记之五——流程控制
- Java基础学习第三天——运算符与流程控制语句
- Python学习笔记2—变量与运算符
- Python学习笔记(2)——变量与运算
- python 学习 (四) 运算符与条件语句
- JAVA学习笔记之运算符和流程控制结构
- Java SE学习笔记:运算符、流程控制语句、循环
- jBPM-jPDL学习笔记——流程设计与控制
- jBPM-jPDL学习笔记——流程设计与控制
- delphi 安装ICS
- 使用jdbc读取数据到页面
- 从零开始做两轮自平衡小车(一)
- Swift 设置导航栏的全局返回按钮,去掉文字
- Tomcat服务器状态管理之Session
- Python学习笔记(四)——运算符与流程控制
- 不容易系列之(3)—— LELE的RPG难题
- 充电IC-NVDC架构(以BQS24259为例子)
- Build a Restful Web Service
- 8. ESP8266使用Mongoose-os初体验(使用bh1750传感器)
- Spark RDD、DataFrame和DataSet的区别
- 闪耀国际滨,追梦正青春
- 域名与IP地址的联系与区别
- 电子商务网站中订单号设计有什么规则和依