1. Python运算符
1.1 算术运算符
运算符
+
-
*
/
%
**
//
描述
加
减
乘
除
取模
幂
向下取整
样例1.1:
#!/user/bin/python
#coding=utf-8
#author@ zjw
a, b = 1, 2
print "1+2=", a+b
print "1-2=", a-b
print "1/2=", a/b
print "1*2=", a*b
print "1%2=", a%b
print "1**2=", a**b #返回a的b次幂
print "1//2=", a//b #返回商的整数部分,向下取整
#特殊
print "9/2=", 9/2
print "9//2=", 9//2
print "-9/2=", -9/2
print "-9//2=", -9//2
print "-9.2/2=", -9.2/2
print "-9.2//2=", -9.2//2
输出
1+2= 3
1-2= -1
1/2= 0
1*2= 2
1%2= 1
1**2= 1
1//2= 0
9/2= 4
9//2= 4
-9/2= -5
-9//2= -5
-9.2/2= -4.6
-9.2//2= -5.0
分析:
这里主要将下/和//的区别,当为两个整数进行运算时,两者运算结果没有差别;
但当两个浮点数运算时,如最后两个例子,浮点数的/运算,输出的浮点数是带小数位的运算结果,而浮点数的//运算,则是向下取整,输出时虽然是浮点数,但是省略了小数部分,将小数部分归为零。
1.2 比较运算符
运算符
==
!=
<>
>
<
>=
<=
描述
等于
不等于
不等于
大于
小于
大于等于
小于等于
以上比较运算符返回值均为布尔类型。
<>已在Python3中废弃,谨慎使用,尽量用!=代替。
1.3 赋值运算符
运算符
=
+=
-=
*=
/=
%=
**=
//=
描述
简单赋值
加氟赋值
减法赋值
乘法赋值
除法赋值
取模赋值
幂赋值
取整赋值
a**=b等效于a=a**b
a//=b等效于a=a//b
其余同理
1.4 位运算符
运算符
&
|
^
~
<<
>>
描述
按位与运算
按位或运算
按位异或运算
按位取反运算
左移动运算
右移动运算
实例1.4:
#!/user/bin/python
#coding=utf-8
#author@ zjw
a = 1 # a = 0001
b = 2 # b = 0010
print "a & b = ", a & b #a & b = 0000
print "a | b = ", a | b #a | b = 0011
print "a ^ b = ", a ^ b #a ^ b = 0011
print "~a = ", ~a # ~a = 0010
print "a >> 1 = ", a >> 1 #a | b = 0000
print "b << 1 = ", b << 1 #a | b = 0100
输出:
a & b = 0
a | b = 3
a ^ b = 3
~a = -2
a >> 1 = 0
b << 1 = 4
~取反运算,是对数据中的每个二进制位取反,即把1变成0,把0变成1。~x类似于-x-1。
小知识1:>>向右移动1位相当于除以2,<
小知识2:任意整数a,a&1可以用来判断是奇数还是偶数,如果是奇数则返回1,偶数返回0
1.5 逻辑运算符
x = 10, y = 20
运算符
and
or
not
逻辑表达式
x and y
x or y
not x
描述
布尔“与”。
如果x为False或0,则返回False或0;
否则返回y的值
布尔“或''。
如果x为True或不为0的数,则返回x的值;
否则返回y的值
布尔”非''。
x为0或False,返回True;
否则返回False。
实例
20
10
False
可以直接按从左到右计算方式,如果是and的话,当遇到一个为False或0的值时,则整体的计算结果就为False或0;如果是or的话,当遇到一个不为False或0的值时, 则整体的计算结果就为这个值;如果是not 的话,就更好判断了,直接取反即可,对的就是错的,错的就是对的。
1.6 身份运算符
运算符
is
is not
描述
判断两个标识符是不是引用自同一个对象
判断两个标识符是不是引用自不同对象
实例
x is y,相当于id(x) == id(y)
x is not y, 相当于id(x) != id(y)
id()函数用于获取对象的内存地址。
is与区别,就相当于java中equals和的区别。is是用来判断两个变量引用对象是否为同一个(即是否在同一个内存空间中),==用于判断引用变量的值是否相等。
实例1.6:
#!/user/bin/python
#coding=utf-8
#author@ zjw
num = [1, 2, 3, 4, 5]
newNum = num
print "newNum is num", newNum is num
print "newNum is not num", newNum is not num
输出:
newNum is num True
newNum is not num False
1.7 成员运算符
运算符
in
not in
描述
如果在指定序列中找到对应值,返回True,否则返回False
如果在指定序列中找不到对应值,返回True,否则返回False
实例1.7:
#!/user/bin/python
#coding=utf-8
#author@ zjw
num = [1, 2, 3, 4, 5]
a = 1
b = 10
print "a in num", a in num
print "b not in num", b not in num
输出:
a in num True
b not in num True
2. Python基本语句
2.1 条件语句
多个判断条件时,用elif来进行判断,python中没有switch语句。
if 判断条件:
执行语句
elif 判断条件:
执行语句
elif 判断条件:
执行语句
...
else:
执行语句
如果if语句中只有一条执行语句,可以写在和if语句同一行。
2.2 循环语句
2.2.1 while循环语句
while 句型
while 判断语句:
执行语句
while..else... 句型
while 判断语句:
执行语句
else:
执行语句 #当循环条件为false时,执行else的执行语句
如果while循环体中只有一条语句,可以写在和while语句同一行。
2.2.2 for循环语句
for句型
for 变量 in 序列(范围):
执行语句
这里的序列(范围)可以是一个字符串,一个range()。range()函数返回一个序列的数
for...else...句型
for 变量 in 序列(范围):
执行语句
else:
执行语句
2.3 pass语句
pass语句是一个空句,是为了保证程序结构的完整性。
pass语句不做任何事情,一般用于占位。
实例:
def example():
pass
#此处的pass就是用来占位的,否则空函数程序会报错。