系统变量Path中要加入Python安装路径:
C:\xxxx\Python36;C:\xxxx\Python36\Scripts;
只有一种条件判断
1 if xxxx:
2 code
3 elif yyyy:
4 code
5 else:
6 code
包括空字符串、空列表、None等
1 if not username: #username为空,则为True 2
1 if i: #i为非零,则为True
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
and 与(不能写&&)
or 或
not 非
input()返回的类型是str,str不能和整数比较,需借助int()将str转换成整数
a = input('请输入一个数字')
b = int(a)
print(b > 100)
Python有两种循环,for和while。
必须要有一个可迭代对象。
1 sum = 0
2 for x in range(101):
3 sum = sum + x
4 print(sum)
for循环 1~100之和
先判断一次,如果满足条件的话再循环。
1 n = 1
2 sum = 0
3 while n < 101:
4 sum += n
5 n += 1
while循环 1~100之和
在 python 中,for … else 表示:for 中的语句和普通的没有区别,else 中的语句会在for循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
1 for i in range(3):
2 print(i)
3 else:
4 print('else content')
for...else
输出
0
1
2
else content
除了上面提到的比较运算符和逻辑运算符外,还有以下几种运算符。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法运算,将运算符两边的操作数增加。 | a + b = 31 |
- | 减法运算,将运算符左边的操作数减去右边的操作数。 | a – b = -11 |
* | 乘法运算,将运算符两边的操作数相乘 | a * b = 210 |
/ | 除法运算,用右操作数除左操作数 | b / a = 2.1 |
% | 模运算,用右操作数除数左操作数并返回余数 | b % a = 1 |
** | 对运算符进行指数(幂)计算 | a ** b,表示10的21次幂 |
// | 取整除赋值运算符 - 返回商的整数部分 | 9//2 = 4 , 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0 |
运算符 | 描述 | 示例 |
---|---|---|
= | 将右侧操作数的值分配给左侧操作数 | c = a + b表示将a + b的值分配给c |
+= | 将右操作数相加到左操作数,并将结果分配给左操作数 | c + = a等价于c = c + a |
-= | 从左操作数中减去右操作数,并将结果分配给左操作数 | c -= a 等价于 c = c - a |
*= | 将右操作数与左操作数相乘,并将结果分配给左操作数 | c *= a 等价于 c = c * a |
/= | 将左操作数除以右操作数,并将结果分配给左操作数 | c /= a 等价于 c = c / a |
%= | 将左操作数除以右操作数的模数,并将结果分配给左操作数 | c %= a 等价于 c = c % a |
**= | 执行指数(幂)计算,并将值分配给左操作数 | c **= a 等价于 c = c ** a |
//= | 取整除运算,并将值分配给左操作数 | c //= a 等价于 c = c // a |
按位运算符执行逐位运算。 假设变量a = 60
; 和变量b = 13
; 现在以二进制格式,它们将如下
a = 0011 1100
b = 0000 1101
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 结果表示为 0000 1100 |
| | 按位或:只要对应的二个二进位有一个为1时,结果位就为1 | (a|b) = 61 结果表示为 0011 1101 |
^ | 二进制异或。当两对应的二进位相异时,结果为1 | (a ^ b) = 49 (结果表示为 0011 0001) |
~ | 二进制补码,对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) = -61有符号的二进制数,表示为1100 0011的补码形式。 |
<< | 二进制左移,运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0 | a << 2 = 240 (结果表示为 1111 0000) |
>> | 二进制右移,把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 | a >> 2 = 15(结果表示为0000 1111) |
成员运算符测试给定值是否为序列中的成员,例如字符串、列表或元组。
运算符 | 描述 | 示例 |
---|---|---|
in | 如果在指定的序列中找到一个变量的值,则返回true,否则返回false。 | - |
not in | 如果在指定序列中找不到变量的值,则返回true,否则返回false。 | - |
身份运算符比较两个对象的内存位置。
运算符 | 描述 | 示例 |
---|---|---|
is | 如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。 | |
is not | 如果两个标识符引用自不同对象,则返回True,否则返回False。 | - |
由高到低如下
序号 | 运算符 | 描述 |
---|---|---|
1 | ** | 指数(次幂)运算 |
2 | ~ + - | 补码,一元加减(最后两个的方法名称是+@和-@) |
3 | * / % // | 乘法,除法,取模和取整数 |
4 | + - | |
5 | >> << | 向右和向左位移 |
6 | & | 按位与 |
7 | ^ | | 位运算符 |
8 | <= < > >= | 比较运算符 |
9 | == != | 等于运算符 |
10 | = %= /= //= -= += *=**= | 赋值运算符 |
11 | is is not | 身份运算符 |
12 | in not in | 成员运算符 |
13 | not or and | 逻辑运算符 |