全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 25 道配套习题

变量与数据类型专题

专题说明

本专题系统讲解Python变量与数据类型的核心知识,包括变量的命名规则与赋值机制、数字类型(int、float、complex)、字符串的创建与操作、布尔类型以及type()、isinstance()等类型检查方法。

学习目标

  1. 掌握Python变量的命名规则与赋值机制
  2. 理解Python的动态类型特性
  3. 熟悉数字类型(整数、浮点数、复数)的特性与运算
  4. 掌握字符串的创建、转义与常用操作
  5. 了解布尔类型与类型转换方法

学习内容

  • 变量基础:命名规则、赋值机制、动态类型、多变量赋值
  • 数字类型:int(整数)、float(浮点数)、complex(复数)
  • 字符串:单双引号、三引号、转义字符、f-string格式化
  • 布尔类型:True/False、逻辑运算、真值测试
  • 类型转换:int()、float()、str()、bool()、type()、isinstance()

学习建议

  1. 先理解Python动态类型的本质——变量只是对象的引用
  2. 注意浮点数精度问题,涉及精确计算时使用Decimal
  3. 字符串操作是日常开发最常用的功能之一,需熟练掌握
  4. 重点理解f-string格式化字符串的语法和优势

📝 配套习题(25 题)

💡 参考答案在文末
判断题
1

Python中的变量赋值a = b是将b的值复制一份给a,两个变量互不影响。

A

B

2

使用decimal模块进行数值计算时,必须使用字符串初始化Decimal对象才能保证精度。

A

B

3

字符串切片s[1:3]获取索引1到3的字符,包含索引3位置的字符。

A

B

4

使用int("3.14")可以将字符串"3.14"转换为整数3。

A

B

5

Python的整数类型有大小限制,超过最大值会溢出。

A

B

6

Python中0.1 + 0.2 == 0.3的结果是True。

A

B

7

空字符串''、空列表[]、空字典{}的布尔值都是False。

A

B

单选题
8

执行a, b = b, a交换两个变量的值,这个操作的底层机制是什么?

A

先执行a = b,再执行b = a

B

创建临时变量存储原值

C

右侧先打包成元组,再解包赋值

D

直接修改内存地址

9

以下哪种场景最适合使用decimal模块进行数值计算?

A

科学计算中大量矩阵运算

B

金融系统中货币金额计算

C

图形渲染中坐标位置计算

D

游戏开发中物理碰撞检测

10

执行3 and 53 or 5的结果分别是?

A

True, True

B

5, 3

C

3, 5

D

False, True

11

以下哪个表达式返回True?

A

bool(0)

B

bool(None)

C

bool('False')

D

bool([])

12

Python中变量x可以先赋值为整数x = 10,再赋值为字符串x = "hello",这体现了Python的什么特性?

A

静态类型

B

动态类型

C

强类型

D

编译型

13

字符串s = "Hello World",执行s.lower().split()的结果是什么?

A

["hello", "world"]

B

["Hello", "World"]

C

"hello world"

D

["helloworld"]

14

以下哪种方式可以正确拼接两个字符串a = "hello"b = "world"

A

a + b

B

a.append(b)

C

a.concat(b)

D

a.join(b)

15

以下哪个是Python中表示布尔类型的关键字?

A

bool

B

True/False

C

boolean

D

yes/no

16

表达式10 / 410 // 4的结果类型分别是?

A

int, int

B

float, int

C

float, float

D

int, float

17

执行False and True or True的结果是什么?

A

True

B

False

C

报错

D

None

18

执行int(3.7)的结果是多少?

A

4

B

3

C

3.7

D

报错

19

以下哪个表达式会发生隐式类型转换?

A

1 + 2.0

B

"hello" + 5

C

True + False

D

[1] + (2, 3)

多选题
20

关于decimal模块,以下说法正确的是?

A

Decimal对象可以与float直接混合运算

B

getcontext().prec可以设置计算精度

C

Decimal支持所有基本数学运算

D

Decimal('0.1')表示精确的十进制0.1

E

Decimal运算结果一定比float更精确

F

创建Decimal时推荐使用字符串而非float

21

以下哪些类型转换是正确的

A

int("10")

B

float("hello")

C

list("abc")

D

tuple([1, 2, 3])

E

str(3.14)

F

bool("False")

22

以下代码中,哪些会产生精度问题或类型相关的错误?

A

float('inf') + 1 == float('inf')

B

Decimal(0.1) + Decimal('0.2')

C

1e308 * 10

D

0.1 + 0.2 - 0.3 == 0

E

int(1.9) + int(2.9) == 3

F

Decimal('0.1') + 0.2

填空题
23

使用int()函数可以将字符串转换为整数。将二进制字符串"1010"转换为整数需要使用int("1010", ____________),结果是____________。将十六进制字符串"FF"转换为整数需要使用int("FF", ____________),结果是255。反之,将整数转换为二进制字符串使用bin()函数,转换为十六进制字符串使用hex()函数。

24

在Python中,由于浮点数无法精确表示某些十进制小数,0.1 + 0.2 往往不等于 0.3。要解决这类精度问题,可以使用____________模块,并且需要用____________形式初始化Decimal对象才能保证精确计算。

25

Python字符串格式化有多种方式。使用f-string格式化:f"姓名:{____________},年龄:{____________}",其中name和age是变量。使用format方法:"姓名:{0},年龄:{1}".____________("张三", 25)。使用%格式化:"姓名:%s,年龄:%d" % ("张三", 25)

参考答案
1.错误 2.正确 3.错误 4.错误 5.错误 6.错误 7.正确 8.C 9.B 10.B 11.C 12.B 13.A 14.A 15.B 16.B 17.A 18.B 19.A 20.B;C;D;F 21.A;C;D;E;F 22.B;C;D;E;F 23.2;10;16 24.decimal;字符串 25.name;age;format
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 函数进阶专题
下一个专题 → 安全编程专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码