【01】Python 环境变量、条件判断
- 2020 年 1 月 19 日
- 筆記
1 环境变量
1.1 Windows下环境变量
系统变量Path中要加入Python安装路径:
C:xxxxPython36;C:xxxxPython36Scripts;
2 条件判断
2.1 if…elif..else
只有一种条件判断
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
2.2 比较(关系)运算符
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
2.3 逻辑运算符
and 与(不能写&&)
or 或
not 非
2.4 input()返回类型
input()返回的类型是str,str不能和整数比较,需借助int()将str转换成整数
a = input('请输入一个数字') b = int(a) print(b > 100)
3 循环
Python有两种循环,for和while。
- break 退出整个循环
- continue 退出当前循环,直接进入下一次循环
3.1 for循环
必须要有一个可迭代对象。
1 sum = 0 2 for x in range(101): 3 sum = sum + x 4 print(sum)
for循环 1~100之和
3.2 while循环
先判断一次,如果满足条件的话再循环。
1 n = 1 2 sum = 0 3 while n < 101: 4 sum += n 5 n += 1
while循环 1~100之和
3.3 循环使用else语句
在 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
4 基本运算符
除了上面提到的比较运算符和逻辑运算符外,还有以下几种运算符。
4.1 算数运算符
运算符 |
描述 |
示例 |
---|---|---|
+ |
加法运算,将运算符两边的操作数增加。 |
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 |
4.2 赋值运算符
运算符 |
描述 |
示例 |
---|---|---|
= |
将右侧操作数的值分配给左侧操作数 |
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 |
4.3 按位运算符
按位运算符执行逐位运算。 假设变量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) |
4.4 成员运算符
成员运算符测试给定值是否为序列中的成员,例如字符串、列表或元组。
运算符 |
描述 |
示例 |
---|---|---|
in |
如果在指定的序列中找到一个变量的值,则返回true,否则返回false。 |
– |
not in |
如果在指定序列中找不到变量的值,则返回true,否则返回false。 |
– |
4.5 身份运算符
身份运算符比较两个对象的内存位置。
运算符 |
描述 |
示例 |
---|---|---|
is |
如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。 |
|
is not |
如果两个标识符引用自不同对象,则返回True,否则返回False。 |
– |
4.6 运算符优先级
由高到低如下
序号 |
运算符 |
描述 |
---|---|---|
1 |
** |
指数(次幂)运算 |
2 |
~ + – |
补码,一元加减(最后两个的方法名称是+@和-@) |
3 |
* / % // |
乘法,除法,取模和取整数 |
4 |
+ – |
|
5 |
>> << |
向右和向左位移 |
6 |
& |
按位与 |
7 |
^ | |
位运算符 |
8 |
<= < > >= |
比较运算符 |
9 |
== != |
等于运算符 |
10 |
= %= /= //= -= += *=**= |
赋值运算符 |
11 |
is is not |
身份运算符 |
12 |
in not in |
成员运算符 |
13 |
not or and |
逻辑运算符 |