1. 变量
-
变量的定义使用的是一个标识符
-
变量和数据是通过引用关联在一起的,变量没有数据类型,数据类型指的是数据的类型;
-
python是一门面向对象的编程语言,任何一个数据都是对象
-
定义、赋值语法:
a = 1
a = b = c =1
a, b, c = 1, 2, 3 -
没有确定的关联对象:变量 = None
2. del关键字
取消变量和数据的关联,删除变量,如果可以,删除数据。del语句作用在变量上,而不是数据对象上(注:和C语言中的free()不同)
del a
关于销毁数据的说明:
- 数据被引用的次数为0,销毁数据
- 如果是数据池中的数据,即使引用为0,也不会销毁
3. 数字数据类型
3.1 int:整形
- python中只有一种类型的整数int
- 表示整形的方法:十六进制(0x),十进制,八进制(0o),二进制(0b)
3.2 float:浮点型
3.3 bool:布尔类型
- True(1)/False(0)
- 同时false还可以是这些数据: None 0 0.0 0+0j “” [] () {}
3.4 complex:复数类型
复数是什么,这里就不说了,不知道的可以自行百度。
表示:
- 实部: real,虚部:imag
- 注意: 如果定义的时候虚部为1,不能省略
3.5 类型判断的两种方法:
- type(obj)
- isinstance(obj,type)
a = 1
b = 1.1111
c = True
d = 5 + 3j
print(a, b, c, d)
print(type(a), type(b), type(c), type(d))
print(isinstance(a, int), isinstance(b, float), isinstance(c, bool), isinstance(d, complex), isinstance(a, float))
1 1.1111 True (5+3j)
<class ‘int’> <class ‘float’> <class ‘bool’> <class ‘complex’>
True True True True False
注:强制转换可以使用:数据类型()
a = 22.22
print(int(a))
# 输出结果为:22
4. 运算符
4.1 算术运算符:
运算符 | 解释 | 举例 | 结果 |
---|---|---|---|
+ | 加 | 5+2 | 7 |
- | 减 | 5-2 | 3 |
* | 乘 | 5*2 | 10 |
/ | 除 | 5/2 | 2.5 |
% | 取余 | 5%2 | 1 |
** | 幂 | 5**2 | 25 |
// | 取整 | 5//2 | 2 |
4.2 赋值运算符
a = 10
b = a+1
如果多个变量赋值都相同,可写成如下格式:
a = b =10
如果需要为多个变量赋不同的值,可写成如下格式:
a ,b ,c ,d = 13, 3.14, 1 - 2j, False
赋值运算符使用方法如下:
运算符 | 解释 | 举例 |
---|---|---|
+= | 加等于 | a += b 等价于 a = a + b |
-= | 减等于 | a -= b 等价于 a = a - b |
*= | 乘等于 | a *= b 等价于 a = a * b |
/= | 除等于 | a /= b 等价于 a = a / b |
%= | 余等1于 | a %= b 等价于 a = a % b |
**= | 幂等于 | a ** = b 等价于 a = a ** b |
//= | 取整等于 | a //= b 等价于 a = a // b |
4.3 条件运算符
条件运算符是对变量或表达式结果进行比较。如比较结果为真,则返回True,否则返回False
运算符 | 解释 | 举例 | 结果 |
---|---|---|---|
== | 等于 | 5 == 3 | False |
!= | 不等于 | 5 != 3 | True |
> | 大于 | 5 > 3 | True |
>= | 大于等于 | 5 >= 3 | True |
< | 小于 | 5 < 3 | False |
<= | 小于等于 | 5 <= 3 | False |
4.4 逻辑运算符
运算符 | 解释 | 举例 | 结果 |
---|---|---|---|
and | 与 | a and b | 若a的布尔值为True,返回b,否则返回a |
or | 或 | a or b | 若a的布尔值为True,返回a,否则返回b |
not | 非 | not a | a为False,返回True;a为True,返回False |
4.5 位运算符
对二进制位从低到高位对齐后进行运算
运算符 | 解释 | 举例 | 结果 |
---|---|---|---|
& | 按位与 | a & b | a与b对应二进制的每一位进行与操作后的结果 |
I | 按位或 | a I b | a与b对应二进制的每一位进行或操作后的结果 |
^ | 按位异或 | a ^ b | a与b对应二进制的每一位进行异或操作后的结果 |
~ | 按位取反 | ~a | a对应二进制的每一位进行非操作后的结果 |
<< | 向左移位 | a << b | 将a对应的二进制的每一位左移b位,右边移空的部分补0 |
>> | 向右移位 | a >> b | 将a对应的二进制的每一位右移b位,左边移空的部分补0 |
a = 5
b = 6
print(bin(a))
print(bin(b))
print(bin(a & b))
print(bin(a | b))
print(bin(a ^ b))
print(bin(~a))
print(bin(a << 1))
print(bin(a >> 1))
0b101
0b110
0b100
0b111
0b11
-0b110
0b1010
0b10
4.6 成员运算符
用于判断指定序列中是否包含我们需要的值
运算符 | 结果 |
---|---|
in | 在指定的序列中找到值,则返回True,否则返回False |
not in | 在指定的序列中找到值,则返回False,否则返回True |
4.7 身份运算符
用于判断两个标识符是否引用同一对象
运算符 | 结果 |
---|---|
is | 若两个标识符引用同一个对象,则返回True,否则返回False |
is not | 若两个标识符引用同一个对象,则返回False,否则返回True |
4.8 运算符的优先级
从高到低依次是:
运算符 | 解释 |
---|---|
** | 幂 |
~ | 按位取反 |
*、/、%、// | 乘、除、取余、整除 |
+ 、- | 加、减 |
<< 、>> | 左移、右移 |
& | 按位与 |
^ | 按位异或 |
I | 按位或 |
<=、<、>、>=、==、!= | 比较运算符 |
=、%=、/=、//=、*=、**=、+=、-= | 赋值运算符 |
is 、is not | 身份运算符 |
in 、not in | 成员运算符 |
not | 非运算符 |
and | 与运算符 |
or | 或运算符 |
5. 语句
5.1 选择语句
5.1.1 if elif else 语句
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3
5.1.2 真值表达式
if 1024:
print('真')
#等同于
if bool(1024)
print('真')
5.1.3 条件表达式
根据条件(True/False) 来决定返回结果1还是结果2。
a = 3
b = 4
res = a if a>b else b
5.2 循环语句
5.2.1 while语句
while 执行循环条件:
满足条件执行的语句
else:
不满足条件执行的语句
5.2.2 for语句
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
5.2.3 跳转语句
-
break 语句
跳出循环体,后面的代码不再执行。
可以让while语句的else部分不执行。 -
continue 语句
跳过本次,继续下次循环。
5.2.4 range 函数
提到循环语句,有一个函数大家必须要会用,我们先来看一下示例代码:
for i in range(0, 9, 2):
print(i)
0
2
4
6
8
大家可以看出其用法是创建一个生成一系列整数的可迭代对象
range(开始点,结束点,间隔(步长))
要注意以下内容:
- 函数返回的可迭代对象可以用for取出其中的元素
- 返回的数字不包含结束点
- 开始点默认为0
- 间隔默认值为1