数据类型初识
1. 数字
整数:2是一个整数的例子
长整数 不过是大一些的整数
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3*10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中用i表示虚数,j在工程领域表示虚数,python沿用了工程领域表示方法。
int(整形)
32位机器中,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
64位机器中,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
python3.5中已经没有长整型概念
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中x是复数的实数部分,yj是复数的虚数部分
注:python中存在小数字池:-5 ~ 257
2. 布尔值
真或假
1或0
举例:以下程序无输出,因为a=0时,条件判断为假
3. 字符串
入门知识拾遗
三元运算:经过条件判断后再赋值
进制:
· 二进制
· 八进制
· 十进制
·十六进制
bytes类型
python3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。python3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。这是好事。
数据运算:
运算符:
+
-
*
/
% 取模-返回除法的余数。用途举例:判断奇偶数,比如每隔一行设置文字阴影,方便阅读。
** 幂-返回x的y次幂
// 取整数-返回商的整数部分
以下例子a = 10 , b= 20
运算符 |
描述 |
示例 |
+ |
加法运算 |
a + b 得 30 |
- |
减法运算 |
a - b 得 -10 |
* |
乘法运算 |
a * b 得 200 |
/ |
除法运算 |
b / a 得 2 |
% |
取模 - 将%号左边的值除以%号右边的值并且将得到的结果的余数返回 |
10%5得0 ,10%3 得1, 20%7 得6 |
** |
幂 - 返回x的y次幂,就是返回多少次方 |
2**8 得256 |
// |
取整除 - 返回x除以y的商的整数部分 |
9//2得4 , 9.0//2.0得4.0 |
比较运算:
== 等于
!= 不等于,推荐使用
<> 不等于,不推荐使用
> 大于
< 小于
>= 大于等于
<= 小于等于
以下例子a = 10 , b= 20
运算符 |
描述 |
示例 |
== |
判断两个对象是否相等 |
(a == b) is not true. |
!= |
判断两个对象是否不相等 |
(a != b) is true. |
<> |
判断两个对象是否不相等 |
(a <> b) is true. 与 != 运算符一样. |
> |
大于 - 返回a是否大于b |
(a > b) is not true. |
< |
小于 - 返回a是否小于b |
(a < b) is true. |
>= |
大于等于 - 返回a 是否大于等于b |
(a >= b) is not true. |
<= |
小于等于 - 返回a 是否小于等于b |
(a <= b) is true. |
赋值运算:
= 简单的赋值运算符 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
逻辑运算:
and
or
not
成员运算:
in 如果在指定的序列中找到值返回True,否则返回False
not in 如果在指定的序列中没有找到值返回True,否则返回False
身份运算:
is
not is
位运算:
& 按位与运算符
| 按位或运算符
^ 按位异或运算符
~ 按位取反运算符
<< 左移动运算符,x<<y,相当于x*2**y
>> 右移动运算符,x>>y,相当于x/2**y,最小值为0
位运算举例:
128 64 32 16 8 4 2 1
0 0 1 1 1 1 0 0 = 60
0 0 0 0 1 1 0 1 = 13
----------------------------------------------------------------
&运算(and) 0 0 0 0 1 1 0 0 = 12 60&13=12
|运算(or) 0 0 1 1 1 1 0 1 = 61 60|13=61
^运算 0 0 1 1 0 0 0 1 = 49 60^13=49
----------------------------------------------------------------
~运算 1 1 0 0 0 0 1 1 = 195 ~60=-61
1 1 1 1 0 0 1 0 = 244 ~13=-14
实际结果为:即~60+~13=-73