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中的多重装饰器
Apr 11 Python
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
python如何实现excel数据添加到mongodb
Jul 30 Python
Python实现的手机号归属地相关信息查询功能示例
Jun 08 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
使用python实现画AR模型时序图
Nov 20 Python
Python对wav文件的重采样实例
Feb 25 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
Python logging模块原理解析及应用
Aug 13 Python
tensorflow中的数据类型dtype用法说明
May 26 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
全面了解python字符串和字典
2016/07/07 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
使用Python实现分别输出每个数组
2019/12/06 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
市场部业务员岗位职责
2014/04/02 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
行政复议决定书
2015/06/24 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP