Skip to content
电脑工程师入门

电脑工程师入门

create tomorrow, create happiness

  • 实用软件教程
    • Excel
    • WordPress
    • Powerpoint
    • PowerApps
    • PowerAutomateDesk
  • 计算机语言入门
    • PHP
    • Bootstrap
    • JavaScript
    • Python
    • HTML
    • WordPress
  • 咨询
  • Home
  • Python
  • 第五章数字文字
  • HOME
  • Python
  • 第五章数字文字

第五章数字文字

Python

这一节中我们讲解一下如何 在使用 Python 程序中编写数字文字。

目录

5-1 数字文字
5-2 四則运算相关的运算符
5-3 BIT位运算符
5-4 运算符的优先顺序
5-5 将字符串转换为数字后,使用数字进行操作
5-6 使用布尔值(True, False)

5-1 数字文字

数字文字

Python 具有三种数值类型:整数、浮点数和复数。

整数是没有小数点的数字。在编写程序时,请按原样写入整数值。

134
0
-19

整数以十进制表示,但也可以用二进制、八进制和十六进制表示。二进制数写成0b1011,八进制数写成0o624,十六进制数写成0x7F。

0b1011
0o624
0x7F

※ 伦理型是整数类型的派生类型。

浮点数是具有小数点的数字。写一个带小数点的数值,就像写一个整数一样。

15.325
-9.59

浮点数还允许对非常大和非常小的数字进行指数表示法。

4.5e+5
2.65e-4

请注意,4.5e+5 表示 4.5×100000=850000。而 2.65e-4 表示 2.65×0.0001=0.000234。

复数是由实部+虚部表示的数值,在虚部上加上j或J,记作如下。

(3.6 + 4j)

复数在现实世界中的使用可能很少见,因此在真正需要复数之前不要担心复数。

示例代码

请看下面的示例。

print(19.123)
>> 19.123

print(123)
>> 123

print(2.19e+3)
>> 2190.0

print 函数的参数中指定的数字文字被打印到屏幕上。

打印函数是 Python 的内置函数之一。

5-2 四則运算相关的运算符

四則运算相关的运算符

与四种算术运算相关的运算符列表。适用于整数、浮点数和复数。

x + y     x 和 y 的总和
x - y     x 和 y 之差
x * y     x 乘以 y
x / y     x 和 y 的商
x // y    x 和 y 的商向下舍入
x % y     x / y 余数
-x        x的符号反转
+x        x原样
x **y     x 的 y 次方

例如,执行加法:

15 + 8        # 23
3.1 + 2.226   # 5.326
7 + 3.5       # 10.5

示例代码

请看下面的示例。

print("5 + 6 = " + str(5 + 6))
>> 5 + 6 = 11

print("4 * 5 = " + str(4 * 5))
>> 4 * 5 = 20

print("15 / 3 = " + str(15 / 3))
>> 15 / 3 = 5

print("17 // 2 = " + str(17 // 2))
>> 17 // 2 = 8

print("17 % 2 = " + str(17 % 2))
>> 17 % 2 = 1

[ // ]运算符仅获取商的整数部分。舍入方法是向负无穷大舍入。例如,商 7.56 的结果为 7 ,-4.785 的结果为 -5 。

看另一个例子。

print("5.2 + 7.485 = " + str(5.2 + 7.485))
>> 5.2 + 7.485 = 12.685

print("8.21 * 3.5 = " + str(8.21 * 3.5))
>> 8.21 * 3.5 = 28.735000000000003

print("15.78 / 2.4 = " + str(15.78 / 2.4))
>> 15.78 / 2.4 = 6.575

print("15.78 // 2.4 = " + str(15.78 // 2.4))
>> 15.78 // 2.4 = 6.0

print("15.78 % 2.4 = " + str(15.78 % 2.4))
>> 15.78 % 2.4 = 1.38

[ // ] 运算符仅获取商的整数部分。但是,在对浮点数进行运算的情况下,结果是一个浮点数。舍入方法与整数相同,向负无穷大舍入。例如,7.56 的商结果为 7.0,-4.785 为 -5.0。

对不同数值类型的操作

除了整数到整数和浮点数到浮点数的运算之外,整数到浮点数的运算也是可能的。当对不同的数值类型执行操作时,它们会在执行操作之前转换为限制较少的数值类型。限制较少的顺序是 complex > float > integer,因此例如整数和 float 运算作为 float 执行,而 float 和 complex 运算作为复数执行。

示例代码

请看下面的示例

print("5 + 6.485 = " + str(5 + 6.485))
>> 5 + 6.485 = 11.485

print("7.21 * 5 = " + str(7.21 * 5))
>> 8.21 * 5 = 35.050000000000004

print("17 / 3.5 = " + str(17 / 3.5))
>> 17 / 3.5 = 4.857142857

整数和浮点运算转换为限制较少的浮点数,运算结果也是浮点数

5-3 BIT位运算符

在Python提供的可与数值类型值一起使用的运算符中,我们将对与位运算相关的运算符进行说明。

BIT运算符

与位运算相关的运算符列表。按位运算仅适用于整数。

x | y       x 和 y 的按位或
x ^ y       x 和 y 的按位异或
x & y       x 和 y 的按位与
x << n      x 的 n 位左移
x >> n      x 右移 n 位
~x          x 的位反转

让我们来看看每个运算符。

bitOR

按位或比较运算符左侧和右侧相同位置的位,如果至少有一位为 1,则结果为 1。

x | y

以 10 和 12 的按(bitOR)为例。

10 | 12

1010  = 10
1100  = 12
------------
1110  = 14

将10和12用二进制显示出来,逐位比较。如果至少一位为 1,则为 1,否则为 0。结果 10 | 12 变为 14。

BitAND

按位与比较运算符左侧和右侧相同位置的位,如果两个位都为 1,则结果为 1。

x & y

以 10 和 12 的按位与为例。

10 & 12

1010  = 10
1100  = 12
------------
1000  = 08

将10和12用二进制显示出来,逐位比较。如果两位都为 1,则为 1,否则为 0。10 和 12 结果为 8。

BitXOR

按位异或比较运算符左右两边相同位置的位,只有一个为1则为1。

x ^ y

以10和12的按位异或为例。

10 ^ 12

1010  = 10
1100  = 12
------------
0110  = 06

将10和12用二进制显示出来,逐位比较。如果只有一位为 1,则为 1,否则为 0。结果 10^12 是 6。

BitNOT

按位 NOT 反转运算符右侧值的位。如果该位为 1,则将其设为 0,如果该位为 0,则将其设为 1。

~x

以 10 位 NOT 为例。

~10

1010  = 10
------------
0101  = 05

用二进制表示 10,其中第 1 位为 0,第 0 位为 1。结果,~10 变成了 5 (-11)。

由于 Python 的整数位数没有限制,因此您可以翻转多少没有限制。所以 Python 中的按位 NOT 是使用二进制补码算法完成的:
~x = -(x + 1)

左移

左移将左侧的值向左移动右侧的值。

x << n

例如,让我们将 11 向左移动 2 位。

11 << 2

001011  = 11
------------
101100  = 44

将每位左移指定的数字。0 存储在由移位腾出的右端。11 << 2 结果为 44。

左移 1 位使值翻倍,左移 2 位则使值翻四倍。

右移

右移将左侧的值向右移动右侧的值。

x >> n

例如,让我们将 11 向右移动 1 位。

11 >> 1

1011  = 11
------------
0101  = 5

将每位右移指定的数字。0存储在移位留下的最左边的空间中。11 >> 1 结果为 5。

右移 1 位使值减半(1/2),右移 2 位使值再减半(1/4)。

示例代码

请看下面的示例。。

print("10 | 12 = " + str(10 | 12))
>> 10 | 12 = 14

print("10 & 12 = " + str(10 & 12))
>> 10 & 12 = 8

print("10 ^ 12 = " + str(10 ^ 12))
>> 10 ^ 12 = 6

print("~10 = " + str(~10))
>> ~10 = -11

print("11 << 2 = " + str(11 << 2))
>> 11 << 2 = 44

print("11 >> 1 = " + str(11 >> 1))
>> 11 >> 1 = 5

这就是每个Bit运算的结果。

5-4 运算符的优先顺序

Python中可以使用多种类型的运算符,但是当在一个句子中使用多个运算符时,它是按照优先顺序进行运算的

运算符优先级列表

Python中定义的运算符优先级如下:从上到下的优先级别。

演算子説明
(expressions…), [expressions…], {key: value…}, {expressions…}表达式连接或元组显示、列表显示、字典显示、集合显示
x[index], x[index:index], x(arguments…), x.attribute下标、切片、调用、属性引用
await xAwait 达
**求幂
+x, -x, ~x正数、负数、Bit NOT
*, @, /, //, %乘法、矩阵乘法、除法、截断除法、求余
+, –加减
<<, >>位置移动演算
&Bit AND
^Bit XOR
|Bit OR
in, not in, is, is not, <, <=, >, >=, !=, ==比较,包括从属关系和所属关系的测试
not x伦理值 NOT
and伦理值 AND
or伦理值 OR
if — else条件表达式
lambdalambda 表达式

例如,乘法和除法运算符 * 和 / 的优先级高于,加法和当前运算符 + 和 -,即使在相同的算术运算符中也是如此。此外,相同位置的运算符在优先级上没有差异。乘法运算符和除法运算符 * 和 / 位于同一位置,具有相同的优先级。

执行操作的顺序

如果包含多个运算符优先级不同的运算符,则首先执行优先级最高的运算符。看下面的公式:

result = 6 + 3 * 4

加法运算符+和乘法运算符*中,*的优先级较高,所以先进行3 * 4次运算。因此,操作按以下顺序执行。

result = 6 + 3 * 4
result = 6 + 12
result = 18

然后,如果运算符具有相同的优先级,则从左到右执行运算(求幂除外)。看下面的公式:

result = 6 / 2 * 4

由于除法运算符 / 和乘法运算符 * 具有相同的优先级,因此按以下顺序从左到右执行运算。

result = 6 / 2 * 4
result = 3 * 4
result = 12

包含多个运算符的表达式根据这两个规则进行计算。如有必要,请使用括号 () 更改优先顺序,如下所述。

使用括号 () 更改优先级

当您想以与运算符优先级不同的顺序执行操作时,使用圆括号 ()。首先执行括号中的操作。看下面的公式:

result1 = 5 + 3 * 4
result2 = (5 + 3) * 4

乘法运算符 * 的优先级高于加法运算符 +,因此第一个公式首先计算 3 * 4。

result = 5 + 3 * 4
result = 5 + 12
result = 17

另一方面,如果使用括号,如第二个公式,则首先执行括号内的运算。因此,将首先计算 5 + 3。

result = (5 + 3) * 4
result = 8 * 4
result = 32

括号内使用多个运算符时,按照运算符的优先级进行运算。此外,当多次使用括号时,首先计算内括号。

示例代码

请看下面的示例。

print("5 + 3 * 4 = " + str(5 + 3 * 4))
>> 5 + 3 * 4 = 17

print("(5 + 3) * 4 = " + str((5 + 3) * 4))
>> (5 + 3) * 4 = 32

通过使用括号,我能够强制操作以与运算符优先级不同的顺序发生。

5-5 将字符串转换为数字后,使用数字进行操作

要对数字和字符串进行运算,必须先将字符串转换为数字。在这里,我们将解释如何使用 int 函数或 float 函数将字符串转换为数字,然后对数字和字符串进行操作。

数字和字符串操作

即使字符串在 Python 中是表示数字的值,也不能直接对数字和字符串进行操作。例如,添加一个数字和一个字符串如下。

print(11 + "18")

>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> TypeError: unsupported operand type(s) for +: 'int' and 'str'

在对数字和字符串进行运算时,需要先将字符串转换为数字。使用内置的 int 函数将字符串转换为整数,使用 float 函数将字符串转换为浮点数。

int函数和float函数的使用方法请参考 (使用int函数/float函数(字符串转数字))

具体写如下。

num = "26"
print(15 + int(num))

要将浮点值字符串作为浮点数进行操作,如下编写。

num = "19.525"
print(4.5 + float(num));

通过以这种方式将字符串转换为整数或浮点数,您可以对数字进行算术运算。

示例代码

请看下面的示例。

num1 = "25"
num2 = "3.155"

print (18 + int(num1))
>> 43

print (4.5 + float(num2))
>> 7.654999999999999

我能够将字符串转换为数字,然后对数字进行算术运算。

5-6 使用布尔值(True, False)

这是如何使用布尔值,它是整数类型的派生类型。布尔值只有两个对象,True 和 False

关于真(True)假(False)

布尔值是一个完整的调度类型,只有两个对象,True 和 False。

布尔值 True 对象的计算结果为 true,布尔值 False 对象的计算结果为 false,例如在 if 语句的条件表达式中计算 true 或 false 时。因此,在将 True 或 False 分配给变量并使用条件表达式(如 if 语句)对其进行评估时使用它。

flag = True
if (flag):
    print("successed")
else:
    print("failed")

>> Succeeded

布尔值是整数类型,也可以用作 1 表示 True 和 0 表示 False。因此,可以执行四则算术。

print(True + 8)
>> 9

print(False + 2)
>> 2

True 相当于 1 , False 相当于 0 ,但当转换为字符串时,它们分别为“True”和“False”。

print(str(True) + " is 1")
>> True is 1

print(str(False) + "is 0")
>> False is 0

布尔值是条件表达式中经常使用的数据类型。在评估一个对象时有很多值可以成为 true 和 false,所以布尔值 True 和 False 是我们在程序中最常用的一种数据类型。

标签:Python

文章导航

❮ Previous Post: 第四章字符串的基本介绍
Next Post: 第六章 什么是Python中的变量 ❯

关联内容

Python
第一章对于Python的简介
Python
第三章数字、字符串、类型
Python
第二章语法介绍
Python
第四章字符串的基本介绍
Python
第六章 什么是Python中的变量
Python
第七章 处理文字串的方法

实用软件教程

  • Powerpoint
  • Excel
  • PowerAutomateDesk
  • Wordpress
  • Powerapps

编程语言入门

  • JavaScript
  • HTML
  • PHP
  • Python
  • Bootstrap

Copy right by flashyonder.com