数据类型的转换
1. 整形:
自动转换:
布尔型True 转换为1,False转换为0,
整形只有使用+,—,*,//(取商)运算并且不与浮点数进行运算才能继续整形。
整数进行除法运算(/)运算会自动转为浮点型。
强制转换:int()函数可以将浮点数转换为整数,但只保留整数部分。整形字符串可以转换为整形,浮点型字符串不可以转换为整形。
2. 浮点型
自动转换:
整形和浮点型进行运算获得的都是浮点型。
强制转换:
整形转换之后为浮点型后面加.0。
浮点数不需要转换转换后保持原状。
字符串中纯整数和浮点数字符可以转换,其他不能转换。
Round()函数可以将小数部分四舍五入round(_,_)后边跟保留小数的位数。
引入import math 可以实现math.floor向下取值。math.ceil向上取值。
3. 布尔型 bool
转为False的情况是有限的除了转为False的情况,其他都是True。
False情况:整形0,浮点数0复数0+0j布尔值false字符串’’空白的。空白的 列表值[]元组()字典{}集合set()。
字典、集合、元组、字符串这四个可以来回进行转换。
4. 字符串
自动:如果字符串中包含.或e或E则会自动转换为浮点型,否则转换为整型。
字典,集合,列表 只要加上单引号,双引号,三引号就可以转换为字符串型。
强制:
Str将对象转换为字符串
Repr将对象转化为表达式字符串(原样输出) + 字符串的连接符 *复制当前字符串,紧跟的数字为复制的次数。
5. 列表
数字型不能转换
字符串转换为列表时 每个字符变成列表中的一个值
字典类型转换为列表时仅字典的键名部分转换为列表忽略键值。
6. 元组
Tuple 将序列转换为一个元组
7. 字典
Dict(s)将s转换为字典类型
单独的一个数据不能转换为字典类型
其他类型转换为字典是需要按照特定的格式转换的
dict1=(['uname','张三'],['age',45],['class','python'])
print(type(dict1))
a=dict(dict1)
print(a)
print(type(a))
#元组转换为字典
b=[['uname','张三'],['age',45],['class','python']]
print(type(b))
a=dict(b)
print(a)
print(type(a))
#列表转化为字典
b=(('uname','张三'),('age',45),('class','python'))
print(type(b))
a=dict(b)
print(a)
print(type(a))
#元组转化为字典
'''
'''
b={['uname','张三'],['age',45],['class','python']}
print(type(b))
a=dict(b)
print(a)
print(type(a))
#此格式不能转换
下午
运算 与 运算符
基本运算:
+加 -减 *乘 /除 %取余数
**幂 a**b结果为a的b次方 //求整除9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
字符串运算符
name='Tom'
age='18'
print('我的名字是'+name+',今年'+age+'岁了。')
== 比较 不仅比较值还要比较数据类型
!=不等于 比较两个对象是否不相等
< > 比较两个对象是否不相等
>大于
<小于
>=大于等于
<=小于等于
=赋值
+=加法的赋值运算符 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 | x and y | 逻辑"与" | 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 |
or | x or y | 逻辑"或" | 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 |
not | not x | 逻辑"非" | 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False。 |