内置数据类型
*变量没有类型,但是对象有类型。
1,整型:int
如整数2345,10,500等
2,浮点型:float
如小数3.14(314e-2)等
3布尔型:bool(Boolean)
表示真假,仅包含True,False
4,字符串型
由字符组成的序列,如"abc","歪比巴卜","哈!你好"
数字和基本运算符
运算符 | 说明 | eg | 结果 |
+ | 加号 | 3+2 | 5 |
- | 减号 | 30-5 | 25 |
* | 乘号 | 3*6 | 18 |
/ | 浮点数除法 | 8/2 | 4.0 |
// | 整数除法 | 7//2 | 3 |
% | 取余(模) | 7%4 | 3 |
** | 幂 | 2**3 | 8 |
*使用divmod()函数可以同时获得商和余数
a=123
b=3.14
b2=314e-3
c=True
d="Hellow World"
e=7/2
f=7//2
g=7%2
h=3/0
print(a)
print(b)
print(b2)
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
整数
*python中的整数可以无限大
进制(除了十进制外还有三种进制)
符号 | 进制 | |
0b/0B | 二进制 | 01 |
0o/0O | 八进制 | 01234567 |
0x/0X | 十六进制 | 0123456789abc |
方便进行位运算。
*使用int()实现类型转换
1,浮点数直接舍去小数部分。如:int(9.9)结果为:9
2,布尔值True转为1,False转为0。如:int(True)结果为:1
3,字符串合整数格式(浮点数类型不行)则之间转为对应整数,否则报错
*自动转型
整数和浮点数混合运算时,表达式结果自动转型为浮点数类型。如:2+8.0 结果为:10.0
*无限大的整数
python2中,int为32位,存储-2147483648——2147483647的整数(约+-21亿),long类型是64位,可以存储-2^63-2^63之间的数值。
python3中,int可以存储任意大小的整数,long被取消。故python3中可以做超大数据运算,不会造成整数溢出,特别适合科学运算。
a=12
b=0b101
#c=0o19 #报错,八进制无9
d=0o10
e=0xff
f=0xf
g=0x10
h=int(9.8)
i=int("100")
#j=int("100dasd") #报错,不知道怎么转
print(a)
print(b)
#print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
print(i)
#print(j)
浮点数float
1,浮点数可用科学计数法表示。如3.14可用314e-2表示
2,这些数字在内存中也是按照科学计数法存储。
*类型转换和四舍五入
1,类似于int().我们也可以使用float()将其他类型转换为浮点数。
2,2+8.0结果为10.0
3,round(value)可以返回四舍五入的值,但不会改变原有值,而是产生新的值。
*增强型赋值运算。
运算符+,-,*,/,//,**,%和赋值符=可以构成增强型赋值运算
运算符 | eg | 等价 |
+= | a+=2 | a=a+2 |
-= | a-=2 | a=a-2 |
*= | a*=2 | a=a*2 |
/= | a/=2 | a=a/2 |
//= | a//=2 | a=a//2 |
**= | a**=2 | a=a**2 |
%= | a%=2 | a=a%2 |
*中间不能加空格
a=3.14
b=314e-2
a+=2
print(b)
print(a)
x=y=3
y *=x+2 #y=y*(x+2)
print(y)
布尔值
python2中没有布尔值,是直接使用数字01表示False和True的。
python3中,把True和False定义成了关键字,但本质还是1和0,可以与数字相加
*在python中,空对象为False,非空对象为True。
a=True
b=3
c=a+b #c的值是4
print(c)
print('空字符串的布尔类型的值:',bool("")) #false
print('空列表布尔类型的值:',bool([])) #false
print('None布尔类型的值:',bool(None)) #false
print('0布尔类型的值:',bool(0)) #false
print('字符串True和False转成布尔都是True:',bool("False")) #Ture
if("false"):
print("我已被执行!")