1.注释
在Python中,#表示单行注释,‘‘‘ ’’’或“ “ “ ” ” ”表示多行注释。
被注释的代码不参与运行。
2.运行符
操作符 | 名称 | 操作符 | 名称 |
---|---|---|---|
/ | 除 | ~ | 按位取反 |
// | 整除 | & | 按位与 |
% | 取余 | 、 | 按位或 |
** | 幂 | ^ | 按位异或 |
and | 与 | << | 左移 |
or | 或 | >> | 右移 |
not | 非 | == | 等于 |
3.变量和赋值
(1)在使用变量之前,需要先对其赋值。
(2)变量名可以包括字母、数字、下划线,但不能以数字开头。
(3)Python 变量名大小写敏感,要区分,naa != Naa。
例如:
1 2 3 4 | a1 = 3 a2 = 7 a3 = a1 + a2 printf(a3) |
---|
10
4.原码、反码和补码
二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。
最高位为符号位,正数的符号位为 0, 负数的符号位为 1。比如,十进制中的数 +7 ,计算机字长为8位,转换成二进制就是 0 0 0 0 0 1 1 1(一个 byte 有 8bit,有效的取值范围是 -128 ~ +127)。如果是 -7 ,就是 1 0 0 0 0 1 1 1 。
原码:十进制数据的二进制表现形式就是原码,原码最左边的一个数字就是符号位,其他位为数据位。0为正,1为负。
00 00 00 11 -> 3
10 00 00 11 -> -3
(1)正数计算
使用原码对正数进行计算不会有任何问题的
例如:4 + 3
0 0 0 0 0 1 0 0
+ 0 0 1 1
-----------------
0 0 0 0 0 1 1 1
把这个结果转成十进制刚好就等于 7,完全正确无误
(2)负数计算
负数的计算要先进行对应绝对值的运算,再加上负号,而用原码则不能直接计算。所以,反码出现了。反码的计算规则是正数的反码不变和原码一致,负数的反码会在原码的基础上,高位的符号位不变,其他位取反( 1 变成 0 , 0 变为 1 )。
反码:正数的反码是其本身(等于原码),负数的反码是符号位保持不变,其余位取反。
00 00 00 11 -> 3
11 11 11 00 -> -3
十进制数字 | 原码 | 反码 |
---|---|---|
+0 | 0000 0000 | 0000 0000 |
-0 | 1000 0000 | 1111 1111 |
-1 | 1000 0001 | 1111 1110 |
-2 | 1000 0010 | 1111 1101 |
-3 | 1000 0011 | 1111 1100 |
(1)负数计算
-56 的原码是 1 0 1 1 1 0 0 0 ,如果转成反码(符号位不变,其他位取反),
那么它的反码就是 1 1 0 0 0 1 1 1
1 1 0 0 0 1 1 1
- 1
-----------------
1 1 0 0 0 1 1 0
-56 -1 = -57,-57 的原码是 1 0 1 1 1 0 0 1,转成反码刚好是 1 1 0 0 0 1 1 0。
(2)跨零计算
不过反码也有缺点,它无法进行跨零计算。
如 -3 + 5,-3 的原码是 1 0 0 0 0 0 1 1,转成反码的话就是 1 1 1 1 1 1 0 0
1 1 1 1 1 1 0 0
+ 0 1 0 1
-----------------
0 0 0 0 0 0 0 1
计算结果转化为十进制是1,显然不正确。这时就需要用到补码了。
补码:正数的补码是其本身,负数的补码等于其反码 +1。因为反码不能解决负数跨零(类似于 -6 + 7)的问题,所以补码出现了。
00 00 00 11 -> 3
11 11 11 01 -> -3
十进制数字 | 原码 | 反码 | 补码 |
---|---|---|---|
+0 | 0000 0000 | 0000 0000 | 0000 0000 |
-0 | 1000 0000 | 1111 1111 | 0000 0000 |
-1 | 1000 0001 | 1111 1110 | 1111 1111 |
-2 | 1000 0010 | 1111 1101 | 1111 1110 |
-128 | 无 | 无 | 1000 0000 |
(1)跨零计算
现在用补码计算 -3 + 5 的结果,-3 的原码是 1 0 0 0 0 0 1 1,转成反码的话就是 1 1 1 1 1 1 0 0,再转成补码就是 1 1 1 1 1 1 0 1。
1 1 1 1 1 1 0 1
+ 0 1 0 1
-----------------
0 0 0 0 0 0 1 0
把这个数转成十进制刚好等于2,结果正确。
5.for循环
for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict。
for结构如下:
for(初始化表达式 ; 循环控制语句 ; 增值表达式)
{
语句序列
}
例如:
1 2 3 | A1 = {'a' : 1, 'b' : 2, 'c' : 3} for value in A1.values(): |
---|
1 2 3
6.for - else 循环
for-else循环:如果for循环正常结束,else中的语句正常执行。如果for循环中有break字段等导致for循环没有正常执行完毕,那么else中的内容就不会执行。
例如:找出2到10之间的素数,并且打印出来。
1 2 3 4 5 6 7 | for n in range(2, 10): |
---|