Python入门教程之运算符与控制流


Posted in Python onAugust 17, 2016

Python 中的运算符

什么是运算符?举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。

1 . 求幂运算符

在 Java 中如果我们想对一个数进行求幂运算,我们可能要借助于 Math 库中的 pow() 函数,但是在 Python 中我们可以使用两个连续的 * 表示求幂运算。

a = 5 ** 2
print a

2 . // 运算符

可能很多人要说了,这个我认识,我打注释经常用双斜杠,可是很尴尬, Python 中的单行注释符号为 # ,多行注释可以使用 ''' ,那么 // 是用来干嘛呢?用来求两数相除的整数部分。

a = 10.0 // 3
print a

这个时候就会输出 3.0 ,也就是相除的整数部分,余数被忽略。

3 . & , | 运算符

这两个运算符大家都认识, & 按位与 , | 按位或,下面来讲讲这两个运算符的运算原理,看一个数 7&18 等于多少呢? 放到编译器里运行一下试试吧

a = 7 & 18
print a

打印的结果为 2 ,为什么呢?很简单,我们首先需要将 7 和 18 转换为 二进制, 7-> 00000111 18->00010010 , 然后将这两个二进制进行与运算,什么是与运算呢?只需要记住两个数同一位置上都为 1 的时候结果为 1 ,其他都为 0 即可。运算过程如下

Python入门教程之运算符与控制流

很明显结果是 2 , | 运算符和 & 运算步骤一样,不过 | 运算过程中,两个数同一位置上只要有一个是 1 ,则结果就是 1 ,可以自己去运算一下,这里就不在赘述了。

4 . >>,<< 运算符

第一眼看到这个符号,我的第一反应是远远大于和远远小于,这是是右移和左移的意思,左移和右移?怎么移?同样的需要将十进制数转化为二进制形式,然后进行左移和右移,其实左移一次等于是让一个数乘以 2 ,左移 n 次就是让一个数乘以 2 的 n 次,右移则相反,是除以 2 的 ‘n' 次方。

# coding=utf-8

# 左移2位
a = 5 << 2
print a

# 右移三位
b = 32 >> 3
print b

5 . not, and, or 运算符

这三个是逻辑运算符,在其他的编程语言中如果你想表示或与非,你可能会使用这样的格式 ||,&&,! ,但是在 Python 中需要使用 or,and,not 。

a = True
b = False

c = not a
d = a and b
e = a or b

print c
print d
print e

结果依次为 False False True

6 . 我们不在介绍运算符,来看看运算符的优先级,我做了个图

Python入门教程之运算符与控制流

越靠近鱼头,等级越高。

Python 控制流

所谓控制流,无非也就是 if..else,while,for 等。基本的使用大家都会,不过 Python 总有它特殊的地方,下面来看看。

1 . if...else

if 判断语句有一个值得介绍的地方,如下所示

a = 10
if 5 <= a <= 10:
  print a

在 Java 语言中,你恐怕要这么写

int a = 10;
if(a >= 5 && a <= 10){
  System.out.println(a);
}

2 . while , for

唯一需要记住的一点就是,在 Python 中,无论是 for 还是 while ,都可以像 if 一样,在后面加 else 语句, else 语句在循环语句跳出来之后会执行。

a = False
while a:
  print ("I am while")
else:
  print ("I am else")

for i in range(1, 2):
  print ("I am for")
else:
  print ("I am else")

小提示: range() 函数可以设置步数间隔,什么意思?自己去试试吧~

总结

以上就是关于Python中运算符与控制流的全部内容,这篇文章讲的是基础入门知识,但也是很重要的一部分,希望对大家使用Python能有所帮助。

Python 相关文章推荐
Python 深入理解yield
Sep 06 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
对python中矩阵相加函数sum()的使用详解
Jan 28 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
如何用python 操作zookeeper
Dec 28 Python
Python echarts实现数据可视化实例详解
Mar 03 Python
python 循环while和for in简单实例
Aug 16 #Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 #Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 #Python
详解python的几种标准输出重定向方式
Aug 15 #Python
如何将python中的List转化成dictionary
Aug 15 #Python
怎样使用Python脚本日志功能
Aug 14 #Python
Python函数的周期性执行实现方法
Aug 13 #Python
You might like
php 动态多文件上传
2009/01/18 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
JS实现简易换图时钟功能分析
2018/01/04 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
详解Typescript里的This的使用方法
2021/01/08 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
python使用配置文件过程详解
2019/12/28 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
优秀学生自我鉴定范例
2013/12/18 职场文书
超越自我演讲稿
2014/05/21 职场文书
品牌服务方案
2014/06/03 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
婚前协议书范本两则
2014/10/16 职场文书
听证通知书
2015/04/24 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
Java中try catch处理异常示例
2021/12/06 Java/Android