变量
变量的定义
变量就是一个存储数据的内存空间对象,定义一个变量,即向内存申请一个带地址的访问空间对象,用来存储数据。而变量名即为该内存空间的地址,通过变量名找到内存空间,从而取得内存空间的值。
变量的赋值
由于 python是一种动态类型语言,定义一个变量不需要声明变量类型,直接给变量赋值就相当于定义了一个变量。
>>> i = 1
>>> j = 's'
>>> i
1
>>> j
's'
>>>
在python中,对一个变量重新赋值时,其实是抛弃了变量原来所指向的内存空间,指向了块新开辟的内存空间。
>>> i = 1
>>> id(i)
140729345291088
>>> i=2
>>> id(i)
140729345291120
将一个变量赋值给另一个变量时,它实际上是将指向的内存地址赋值给了另一个变量,即一段地址有两个别名。
>>> i =1
>>> j = i
>>> id(i)
140729345291088
>>> id(j)
140729345291088
运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 求和 | 10 + 20 = 30 |
- | 求差 | 20 - 1 = 19 |
* | 相乘 | 2 * 2 = 4 |
/ | 相除 | 3 / 2 = 1.5 |
% | 取余 | 3 % 2 = 2 |
** | 幂 | 2 ** 3 = 8 |
// | 取余 | 3 // 2 = 1 |
逻辑运算符
运算符 | 描述 | 实例 |
---|---|---|
and | ' 与 ' 运算, 同时为真则真,有一个假则假 | True and False => False |
or | ' 或 ' 运算, 同时为假则假,有一个真则为真 | True and False => True |
not | ' 非 ' 运算,取反,非真即假,非假即真 | not True => False |
短路
逻辑运算从左向右执行,在进行与运算时,当不满足判断条件时则不执行后面的判断.
>>> def A():
... print('A')
...
>>> True and A()
A
>>> False and A()
False
>>>
比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于,比较对象是否相等 | (1 == 2) => False |
!= | 不等于,比较两个对象是否不相等 | (1 != 2) => True |
> | 大于 | (1 > 2) => False |
< | 小于 | (1 < 2) => True |
>= | 大于等于 | (1 >= 2) => False |
<= | 小于等于 | (1 <= 2) => True |
赋值运算
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b |
+= | 加法赋值运算符 | 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 |
位运算
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与:两个二进制数对应位进行与运算 | (0011 1100 & 0000 1101) => 0000 1100 |
| | 按位或:两个二进制数对应位进行或运算 | (0011 1100 & 0000 1101) => 0011 1101 |
^ | 按位异或:当两对应的二进位相异时,结果为1 | 0011 1100 & 0000 1101) => 0011 0001 |
~ | 按位取反:将二进制数每位取反 | ~0011 1100 => 1100 0011 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,高位丢弃,低位补0。 | 0011 1100 << 1 => 0111 1000 <=> 60 << 1 => 60 * 2 ** 1 |
>> | 右移动运算符:运算数的各二进位全部右移若干位,低位丢弃,正数高位补0,负数高位补1 | 0011 1100 >> 2 => 0000 1111 <=> 60 << 2 => 60 // 2 ** 2 |
小技巧
- 在判断某个数的奇偶性时,可将该数与 1 进行按位与运算,结果是0为偶数,结果是1为奇数
>>> 60 & 1
0
>>> 65 & 1
1
>>>