1. 数据类型
Python3中有6中标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)
1.1 整型
int被称为整型或是整数,正负整数。在Python3中,整数没有限制大小,可以当作long类型使用,在Python3中没有Python2的long类型。
1.2 浮点型
浮点型由整数部分与小数部分组成,也可以使用科学计数法表示。
1.3 复数
复数由实数部分和虚数部分组成,可以用a+bj或complex(a,b)表示,复数的实部a和虚部b都是浮点型。
1.4 数据类型转换
- int(x) 将x转换为一个整数
- float(x) 将x转换为一个浮点数
- complex(x) 将x转换为一个复数,实数部分为x,虚数部分为0
- complex(x,y) 将x和y转换成一个负数,实数部分为x,虚数部分为y
1.4 常量
在Python中,通常用全部大写的变量名表示常量。 Python中有两个比较常见的常量。
- PI:数学常量pi(圆周率,一般用Π表示)。
- E:数学常量e,即自然常数。
2. 运算符和操作对象
Python支持一下8中运算符:
- 算数运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
2.1 算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加:两个对象相加 | a+b 输出结果为15 |
- | 减:得到负数或一个数减去另一个数 | a-b 输出结果为5 |
* | 乘:两个数相乘或返回一个被重复若干次的字符串 | a*b 输出结果为50 |
/ | 除:x除以y | a/b 输出结果为2 |
% | 取模:返回除法的余数 | b%a 输出结果为0 |
** | 幂:返回x的y次幂 | a**b 为10的5次方 |
// | 取整除(地板除):返回商的整数部分 | 9//4 输出结果为2 |
2.2 比较(关系)运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于:比较对象是否相等 | (a==b) 返回false |
!= | 不等于:比较两个对象是否不相等 | (a!=b)返回true |
> | 大于:返回x是否小于等于y | (a>b)返回false |
< | 小于:返回x是否大于y。所有比较运算符返回1表示真,返回0表示假,与特殊的变量True和False等价。注意大写的变量名 | (a<b)返回true |
>= | 大于等于:返回x是否大于等于y | (a>=b)返回false |
<= | 小于等于:返回x是否小于等于y | (a<=b)返回true |
2.3 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | 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 |
2.4 位运算符
位运算符是把数字看成二进制进行计算。若a 为60,b为13
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:若参与运算的两个值的相应位都为1,则该位的结果为1;否则为0 | (a & b) |
| | 按位或运算符:只要对应的两个二进制位有一个为1,结果位就为1 | (a | b) |
^ | 按位异或运算符:当两个对应的二进制位相异时,结果为1 | (a ^ b) |
~ | 按位取反运算符:对数据的每个二进制位取反,即把0变成1,把1变成0 | (~a) |
<< | 左移运算符:运算数的各个二进制位全部左移若干位,有<<右边的数指定移动的位数,高位丢弃,低位补0 | (a << 2) |
>> | 右移运算符:把>>左边运算数的各个二进制位全部右移若干位,>>右边的运算数指定移动的位数 | (a >> 2) |
2.5 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔“与”:如果x为FALSE,x and y 就返回 FALSE;否则就返回y的计算值 | (a and b) 返回20 |
or | x or y | 布尔“或”:如果x是非0,就返回x的值;否则返回y的计算值 | (a or b) 返回10 |
not | not x | 布尔“非”:如果x为true,就返回FALSE;如果x为FALSE就返回true | not(a and b) 返回FALSE |
2.6 成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值,就返回true;否则就返回false | x在y的序列中,如果x在y的序列中,就返回true |
not in | 如果在指定的序列中没有找到值,就返回true;否则就返回false | x不在y的序列中,如果x不在y的序列中,就返回true |
2.7 身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | is 判断两个标识符是否引用自一个对象 | x is y ,id(is) 等于id(y),is返回结果true |
is not | is not 用于判断两个标识符是否引用自不同对象 | x is not y ,id(is)不 等于id(y),is返回结果true |
2.8 运算符优先级
下面表格从最高到最低优先级的所有运算符
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位反转,一元加号和减号(最后两个方法名为 +@ 和-@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法,减法 |
>> << | 右移左移运算符 |
& | 位 AND |
^ | | 位运算符 |
<= < >= > | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is not is | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |