Python 基础知识 之 数值类型、各类运算符及运算符优先级
Python 基础知识之数值类型与运算符
1. 数值类型
1.1 整数类型:int

- 定义:表示没有小数部分的数值,包括正整数、负整数和 0。
- 示例:
num1 = 10 num2 = -20 num3 = 0 print(type(num1)) # <class 'int'> print(type(num2)) # <class 'int'> print(type(num3)) # <class 'int'>
1.2 浮点类型:float
-
定义:表示小数。
-
round()函数:用于四舍五入,可以指定保留的小数位数。-
round(number):将数字四舍五入到最接近的整数。 -
round(number, ndigits):将数字四舍五入到小数点后ndigits位。 -
round()函数在处理中间值(如0.5)时的行为可能会因Python版本而异。在Python 3中,round()函数采用银行家舍入法(也称为四舍六入五成双),即当需要舍入的数字正好是中间值时,会舍入到最近的偶数。
-
示例:
print(round(3.14159)) # 3 print(round(3.14159, 2)) # 3.14 print(round(2.5)) # 2(银行家舍入法) print(round(3.5)) # 4(银行家舍入法)
-
-
浮点数运算:
a = 3.12 + 6 print(a) # 9.120000000000001 print(round(a, 2)) # 9.12
1.3 布尔类型:bool

-
定义:用于表示逻辑值,只有两个值:
True和False。 -
注意事项:
-
True和False必须严格区分大小写。 -
布尔值可以当作整数对待:
True相当于 1,False相当于 0。 -
非 0 的整数和非空字符串的布尔值都是
True。 -
示例:
x = True print(x) # True print(type(x)) # <class 'bool'> print(x + 10) # 11 print(False + 10) # 10 print(bool(18)) # True print(bool(0)) # False print(bool('Hello')) # True print(bool('')) # False
-
1.4 复数类型:complex
- 定义:表示复数,形式为
a + bj,其中a是实部,b是虚部,j是虚数单位。 - 示例:
ma = 1 + 2j ma2 = 2 + 3j print(ma + ma2) # (3+5j) print(type(ma)) # <class 'complex'>
1.5 字符串类型:str
- 定义:字符串是不可变的字符序列,可以使用单引号、双引号或三引号定义。
- 示例:
str1 = 'Hello' str2 = "World" str3 = """Python""" print(type(str1)) # <class 'str'> print(type(str2)) # <class 'str'> print(type(str3)) # <class 'str'> - 具体操作见:https://www.cnblogs.com/kyle-7Qc/p/18538243
1.6 数值类型之间的转换

-
int():将浮点数或字符串转换为整数。print(int(3.14)) # 3 print(int('100')) # 100 -
float():将整数或字符串转换为浮点数。print(float(10)) # 10.0 print(float('3.14')) # 3.14 -
str():将任何类型转换为字符串。print(str(10)) # '10' print(str(3.14)) # '3.14' -
将字符串转成int或float时报错情况
# print(int('18a')) #ValueError: invalid literal for int() with base 10: '18a' 18a不是十进制数 # print(int('3.14')) #ValueError: invalid literal for int() with base 10: '3.14' 3.14不是整数 # print(float('45a,987')) # ValueError: could not convert string to float: '45a,987' a没办法转
2. 运算符
2.1 算术运算符
- 运算符及其描述:
运算符 描述 +加法 -减法 *乘法 /除法(结果为浮点数) //整除(向下取整) %取余 **幂运算 - 示例:
print(1 + 2) # 3 print(3 / 2) # 1.5 #注意:使用算术运算符/,商一定是浮点数,且除数不能为0 print(3 // 2) # 1 print(3 % 2) # 1 print(2 ** 3) # 8 #使用算术运算符,有浮点数的话,结果也用浮点数表示 '幂运算' print(-5 ** 2) -25 print(5 ** -2) 0.04 # 幂运算符比左侧的一元操作符优先级高,比右侧的一元操作符优先级低
练习
- 1.键盘输入一个四位整数,分别输出它的个位,十位,百位,千位上的数
<一>、int型
a=eval(input('请输入一个四位整数:'))
print(a,type(a))
print('个位数字是:',a%10)
print('十位数字是:',a%100//10)
print('百位数字是:',a//100%10)
print('千位数字是:',a//1000)
结果:
请输入一个四位整数:1234
1234 <class 'int'>
个位数字是: 4
十位数字是: 3
百位数字是: 2
千位数字是: 1
---------------------------------------------
<二>、字符串索引
a=input('请输入一个四位整数:')
print(a,type(a))
print('个位数字是:',a[3])
print('十位数字是:',a[2])
print('百位数字是:',a[1])
print('千位数字是:',a[0])
结果:
请输入一个四位整数:1234
1234 <class 'str'>
个位数字是: 4
十位数字是: 3
百位数字是: 2
千位数字是: 1
-
- 数值类型转换
<一>、eval函数
f=eval(input('父亲身高:'))
m=eval(input('母亲身高:'))
s = (f+m) * 0.54
print(s)
-----------------------------------
<二>、类型转换
f=input('父亲身高:')
m=input('母亲身高:')
s = (float(f) + float(m)) * 0.54
print(s)
结果:
父亲身高:183.5
母亲身高:165.5
188.46
2.2 赋值运算符
-
运算符及其描述:
运算符 描述 =简单赋值 +=加法赋值 -=减法赋值 *=乘法赋值 /=除法赋值 %=取余赋值 **=幂赋值 //=整除赋值 -
示例:
# python支持链式赋值 a=b=c=d=100 print(a,b,c,d) 结果:100 100 100 100 # python支持系列解包赋值 a,b=10,20 print(a,b) 结果:10 20 # 通过解包赋值交换两个变量的值 a,b=10,20 print(a,b) print('---------------') a,b=b,a print(a,b) 结果: 10 20 --------------- 20 10 -------------------------- a=20 b=30 c=40 a,b,c=b,c,a print(a,b,c) 结果:30 40 20 -
赋值运算符必须连着写,否则会报错
-
print(10+=3) #报语法错误,纯数字不符合,赋值运算符是针对已存在的变量的
2.3 比较运算符
- 运算符及其描述:
运算符 描述 ==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于 - 示例:
print(1 == 1) # True print(1 != 2) # True print(1 > 2) # False a='Hello' b='Hello' print(a==b) a='World' print(a>b) # 比较字符串的大小,即逐一比较字符Unicode编码的大小,如果两个字符串的第1个字符不能比较出大小,则比较两个字符串的第2个字符,直到比较有了结果才结束比较 a=[] b=[2,1] print(a>b) # 比较列表大小,即逐一比较其中元素的大小,如果两个列表中的第1个元素不能比较出大小,则比较两个列表中的第2个元素,直到比较有了结果才结束比较。注意,在两个列表中元素类型要兼容 a=['2'] print(a>b) #TypeError: '>' not supported between instances of 'str' and 'int' TypeError:在“str”和“int”的实例之间不支持“>” 结果: True True False
2.4 逻辑运算符
- 运算符及其描述:
运算符 描述 and逻辑与 or逻辑或 not逻辑非 - 示例:
print(True and True) # True print(True or False) # True print(not True) # Falsea=1 b=0 def f1(): #定义一个函数f1(), print('--进入函数f1--') return True print(a>b or f1()) #表达式(a>b)为True,结果确定为True,f1()函数不会被调用 print(a<b or f1()) #表达式(a<b)为False,结果不确定,f1()函数会被调用 print(a<b and f1()) #表达式(a<b)为False,结果确定为False,f1()函数不会被调用 print(a>b and f1()) #表达式(a>b)为True,结果不确定f1()函数会被调用 结果: True --进入函数f1-- True False --进入函数f1-- True
2.5 位运算符
- 运算符及其描述:
运算符 描述 &按位与 |按位或 ^按位异或 ~按位取反 <<左移 >>右移 - 示例:
print(5 & 3) # 1 print(5 | 3) # 7 print(5 ^ 3) # 6

2.6 运算符优先级
- 运算符优先级从高到低:
-
括号
() -
指数
** -
乘法、除法、取模、整除
* / % // -
加法、减法
+ - -
比较运算符
== != > < >= <= -
逻辑运算符
not and or -
赋值运算符
= += -= *= /= %= //= **=
-

浙公网安备 33010602011771号