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 Tkinter基础控件用法
Sep 03 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
TensorFlow实现简单卷积神经网络
May 24 Python
python matlibplot绘制3D图形
Jul 02 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
Jun 27 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
python模块常用用法实例详解
Oct 17 Python
python求质数列表的例子
Nov 24 Python
django模型动态修改参数,增加 filter 字段的方式
Mar 16 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
Python time库的时间时钟处理
May 02 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
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
2018/02/12 jQuery
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
Python装饰器用法示例小结
2018/02/11 Python
Python 加密与解密小结
2018/12/06 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
工程业务员工作职责
2013/12/07 职场文书
高中自我评价范文
2014/01/27 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
读书小明星事迹材料
2014/05/03 职场文书
投资建议书模板
2014/05/12 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
导游词之无锡古运河
2019/11/14 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS