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 相关文章推荐
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
Python实现文件复制删除
Apr 19 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
python 读写、创建 文件的方法(必看)
Sep 12 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 Python
Python解决走迷宫问题算法示例
Jul 27 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
将pip源更换到国内镜像的详细步骤
Apr 07 Python
基于python实现把图片转换成素描
Nov 13 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
python 连续不等式语法糖实例
Apr 15 Python
如何理解python对象
Jun 21 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
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
js下弹出窗口的变通
2007/04/18 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
python网络编程学习笔记(一)
2014/06/09 Python
Python聊天室实例程序分享
2016/01/05 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
python selenium操作cookie的实现
2020/03/18 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
计算机本科生自荐信
2013/10/15 职场文书
工程测量与监理专业应届生求职信
2013/11/27 职场文书
党日活动总结
2014/05/07 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android