数据转换
转换数据类型的作用
- input()接收用户输入的数据都是字符串类型,想得到整型该如何操作?
- 转换数据类型即可,即 将字符串类型转换成整型
转换数据类型的函数
函数 |
说明 |
int(x [,base = 16 ]) |
x 转换为 一个整数,(base是x的进制,使用第二个参数,x必须是字符) |
float(x ) |
x 转换为 一个浮点数 |
complex(real [,imag ]) |
创建一个复数,real为实部,imag为虚部 |
str(x ) |
对象 x 转换为 字符串 |
eval(str ) |
用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) |
序列 s 转换 元组 |
list(s ) |
序列 s 转换 列表 |
chr(x ) |
整数 转换为 Unicode字符 |
ord(x) |
字符 转换为 ASCII整数值 |
hex(x) |
整数 变 16进制数 |
oct(x) |
整数 变 8进制数 |
bin(x) |
将 整数 转换为二进制字符串 |
举例
# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))
# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))
# 3. tuple() -- 将一个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))
转换数据类型总结 转换数据类型常用的函数
- int()
- float()
- str()
- list()
- tuple()
- eval()
运算符
运算符的分类
- 算数运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符
算数运算符
以下假设变量 a=10,变量 b=21:
运算符 |
描述 |
实例 |
+ |
加 - 两个对象相加 |
a + b 输出结果 31 |
- |
减 - 得到负数或是一个数减去另一个数 |
a - b 输出结果 -11 |
* |
乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
a * b 输出结果 210 |
/ |
除 - x 除以 y |
b / a 输出结果 2.1 |
% |
取模 - 返回除法的余数 |
b % a 输出结果 1 |
** |
幂 - 返回x的y次幂 |
a**b 为10的21次方 |
// |
取整除 - 向下取接近商的整数 |
>>> 9//2 4 >>> -9//2 -5 |
赋值运算符
= 赋值运算符 右侧的数据给左侧的变量
#单赋值
num=1
print(num)
#多赋值
num,float1,strl =10,0.5,"hello word"
print(num)
print(float1)
print(str1)
#连等式
a=b=6
print(a)
print(b)
复合运算符
符 |
描述 |
实例 |
= |
简单的赋值运算符 |
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 |
比较运算符
运算符 |
实例 |
描述 |
== |
(a == b) 返回 False。 |
等于 - 比较对象是否相等 |
!= |
(a != b) 返回 True。 |
不等于 - 比较两个对象是否不相等 |
> |
(a > b) 返回 False。 |
大于 - 返回x是否大于y |
< |
(a < b) 返回 True。 |
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
>= |
(a >= b) 返回 False。 |
大于等于 - 返回x是否大于等于y。 |
<= |
(a <= b) 返回 True。 |
小于等于 - 返回x是否小于等于y。 |
逻辑运算符
运算符 |
逻辑表达式 |
描述 |
实例 |
and |
x and y |
布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 |
(a and b) 返回 20。 |
or |
x or y |
布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 |
(a or b) 返回 10。 |
not |
not x |
布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
not(a and b) 返回 False |
拓展
a = 0
b = 1
c = 2
# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1
算数运算的优先级 混合运算优先级顺序
描述 |
运算符 |
圆括号的表达式 |
(expressions...) ,[expressions...] , {key: value...} , {expressions...} |
读取,切片,调用,属性引用 |
x[index] , x[index:index] , x(arguments...) , x.attribute |
await 表达式 |
await x |
乘方(指数) |
** |
正,负,按位非 NOT |
+x , -x , ~x |
乘,矩阵乘,除,整除,取余 |
* , @ , / , // , % |
加和减 |
+ , - |
移位 |
<< , >> |
按位与 AND |
& |
按位异或 XOR |
^ |
按位或 OR |
` |
比较运算,包括成员检测和标识号检测 |
in,not in, is,is not, <, <=, >, >=, !=, == |
逻辑非 NOT |
not x |
逻辑与 AND |
and |
逻辑或 OR |
or |
条件表达式 |
if -- else |
lambda 表达式 |
lambda |
赋值表达式 |
:= |