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中遍历文件的3个方法
Sep 02 Python
Python写的Tkinter程序屏幕居中方法
Mar 10 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
Python字典深浅拷贝与循环方式方法详解
Feb 09 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 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
drupal 代码实现URL重写
2011/05/04 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
javascript引用对象的方法
2007/01/11 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
学习vue.js计算属性
2016/12/03 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
详解 Python 与文件对象共事的实例
2017/09/11 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
经济学人订阅:The Economist
2018/07/19 全球购物
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
大学生毕业求职的自我评价
2013/09/29 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
大学生入党思想汇报
2014/01/01 职场文书
简历的自我评价
2014/02/03 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
表彰大会主持词
2014/03/26 职场文书
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers