Python学习笔记(二)之Python运算符和基本语句
目录
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,<<
向左移动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就是用来占位的,否则空函数程序会报错。