1 环境变量
1.1 Windows下环境变量
系统变量Path中要加入Python安装路径:
C:\xxxx\Python36;C:\xxxx\Python36\Scripts;
2 条件判断
2.1 if...elif..else
只有一种条件判断
1 ifxxxx:2 code3 elifyyyy:4 code5 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)
2.5类似三元表达式的实现
在python中只有类似的替代办法,如果a>b的结果为真,h="变量1",如果为假,h="变量2"
1 a = 1
2 b = 2
3 h = ""
4
5 h = "变量1" if a>b else "变量2"
6
7 print(h)
3 循环
Python有两种循环,for和while。
break 退出整个循环
continue 退出当前循环,直接进入下一次循环
3.1 for循环
必须要有一个可迭代对象。
1 sum =02 for x in range(101):3 sum = sum +x4 print(sum)
for循环 1~100之和
range()用法
1 >>>range(10) #从 0 开始到 10
2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]3 >>> range(1, 11) #从 1 开始到 11
4 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]5 >>> range(0, 30, 5) #步长为 5
6 [0, 5, 10, 15, 20, 25]7 >>> range(0, 10, 3) #步长为 3
8 [0, 3, 6, 9]9 >>> range(0, -10, -1) #负数
10 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]11 >>>range(0)12 []13 >>> range(1, 0)14 []
3.2 while循环
先判断一次,如果满足条件的话再循环。
1 n = 1
2 sum =03 while n < 101:4 sum +=n5 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
输出
01
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的补码形式。
<<
二进制左移,运算数的各二进位全部左移若干位,由 <
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
逻辑运算符