什么是运算符?举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。
1 . 求幂运算符
在 Java 中如果我们想对一个数进行求幂运算,我们可能要借助于 Math 库中的 pow() 函数,但是在 Python 中我们可以使用两个连续的 * 表示求幂运算。
1
2
|
a = 5 * * 2
print a
|
2 . // 运算符
可能很多人要说了,这个我认识,我打注释经常用双斜杠,可是很尴尬, Python 中的单行注释符号为 # ,多行注释可以使用 ''' ,那么 // 是用来干嘛呢?用来求两数相除的整数部分。
1
2
|
a = 10.0 / / 3
print a
|
这个时候就会输出 3.0 ,也就是相除的整数部分,余数被忽略。
3 . & , | 运算符
这两个运算符大家都认识, & 按位与 , | 按位或,下面来讲讲这两个运算符的运算原理,看一个数 7&18 等于多少呢? 放到编译器里运行一下试试吧
1
2
|
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' 次方。
1
2
3
4
5
6
7
8
9
|
# coding=utf-8
# 左移2位
a = 5 << 2
print a
# 右移三位
b = 32 >> 3
print b
|
5 . not, and, or 运算符
这三个是逻辑运算符,在其他的编程语言中如果你想表示或与非,你可能会使用这样的格式 ||,&&,! ,但是在 Python 中需要使用 or,and,not 。
1
2
3
4
5
6
7
8
9
10
|
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 判断语句有一个值得介绍的地方,如下所示
1
2
3
|
a = 10
if 5 < = a < = 10 :
print a
|
在 Java 语言中,你恐怕要这么写
1
2
3
4
|
int a = 10 ;
if (a >= 5 && a <= 10 ){
System.out.println(a);
}
|
2 . while , for
唯一需要记住的一点就是,在 Python 中,无论是 for 还是 while ,都可以像 if 一样,在后面加 else 语句, else 语句在循环语句跳出来之后会执行。
1
2
3
4
5
6
7
8
9
10
|
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能有所帮助。