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

yipeiwu_com6年前Python基础

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 即可。运算过程如下


很明显结果是 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 控制流

所谓控制流,无非也就是 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并发和异步编程实例

关于并发、并行、同步阻塞、异步非阻塞、线程、进程、协程等这些概念,单纯通过文字恐怕很难有比较深刻的理解,本文就通过代码一步步实现这些并发和异步编程,并进行比较。解释器方面本文选择pyth...

python判断无向图环是否存在的示例

暂时是一个手动设置无向图中的边,用一个二维数组表示,后面会改进为用户自己定义无向图的边。 学习python的新手,若大佬有解决的办法,希望不吝赐教 #无向图判断环是否存在 def d...

利用Python代码实现一键抠背景功能

利用Python代码实现一键抠背景功能

前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh...

Python程序语言快速上手教程

Python程序语言快速上手教程

本来打算从网上找一篇入门教程,但因为Python很少是程序员的第一次接触程序所学的语言,所以网上现有的教程多不是很基础,还是决定自己写下这些。 如果没有程序基础的话,可能会觉得本文涵盖的...

python传递参数方式小结

本文实例总结了python传递参数方式。分享给大家供大家参考。具体分析如下: 当形参如*arg时表示传入数组,当形参如**args时表示传入字典。 def myprint(*comm...