第四章 7 数据类型-综合 练习题标签:练习题,__,namedtuple,int,数据类型,元组,第四章,表达式 From: https://www.cnblogs.com/leeyong49/p/16610436.html
[基础知识]
1 在 Python 中__________表示空类型
() [] {} None
2 列表、元组、字符串是 Python 的_________(有序?无序)序列
有序
3 Python 内置函数_________可以返回列表、元组、字典、集合、字
符串以及 range 对象中元素个数
len()
4 语句 x = (3,) 执行后 x 的值为_______________
(3,)
5 语句 x = (3) 执行后 x 的值为_______________
3
6 表达式 list(str([1,2,3])) == [1,2,3] 的值为______________
False
7 str([1, 2, 3]) 的值为__________________
"[1,2,3]"
8 str((1, 2, 3) 的值为__________________
"(1,2,3)"
9 表达式 isinstance(‘abcdefg’, str) 的值为____________
True
10 表达式 isinstance(‘abcdefg’, object) 的值为_____________
True
11 表达式 isinstance(3, object) 的值为_____________
True
12 已知 x = (3), 那么表达式 x * 3 的值为__________
9
13 已知 x = (3,),那么表达式 x * 3 的值为_____________
(3,3,3,)
14 表达式 isinstance(‘abc’, str) 的值为________________
True
15 表达式 isinstance(‘abc’, int) 的值为_______________
False
16 表 达 式 isinstance(4j, (int, float, complex)) 的 值 为
True
17 表 达 式 isinstance(‘4’, (int, float, complex)) 的 值 为
False
18 表达式 type(3) in (int, float, complex) 的值为____________
True
19 表达式 type(3.0) in (int, float, complex) 的值为____________
True
20 表达式 type(3+4j) in (int, float, complex) 的值为____________
True
21 表达式 type(‘3’) in (int, float, complex) 的值为____________
False
22 表达式 type(3) == int 的值为__________
True
[进阶拓展]
1 列举字符串、列表、元组、字典每个常用的 5 个方法?
str: strip repleace split reverse upper lower join format
list: append pop del insert extend sort count index remove copy
tuple:index count len
dict: get update popitems fromkeys del clear keys values items
2 Python 主要的内置数据类型都有哪些? print dir( ‘a’) 的输出?
int float bool str tuple list dict set
输出的是字符串‘a’的内建方法
['__add__', '__class__', '__contains__', '__delattr__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__getnewargs__',
'__gt__', '__hash__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mod__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__rmod__', '__rmul__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__', 'capitalize',
'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index',
'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit',
'isidentifier', 'islower', 'isnumeric', 'isprintable',
'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower',
'lstrip', 'maketrans', 'partition', 'removeprefix',
'removesuffix', 'replace', 'rfind', 'rindex', 'rjust',
'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines',
'startswith', 'strip', 'swapcase', 'title', 'translate',
'upper', 'zfill']
[面试真题]
1 什么是 namedtuple ?有什么作用?有什么特点?
namedtuple 是一个函数,它用来创建一个自定义的 tuple 对象,并且规定了 tuple
元素的个数,并可以用属性而不是索引来引用 tuple 的某个元素。
作用就是使用 namedtuple 生成可以使用名字来访问元素内容的 tuple 子类。
namedtuple 可以很方便的定义一种数据类型,它具备 tuple 的不变性,同时又可
以根据属性来引用,使用十分方便。namedtuple 比普通 tuple 具有更好的可读
性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。但是有一点
需要注意,就是 namedtuple 中的属性都是不可变的,任何尝试改变其属性值的操
作都是非法的。
# 实例
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x)
print(p.y)
'''运行结果:
3
4
'''
2 列出 Python 中可变数据类型和不可变数据类型,并简述原理(也
可以用代码证明)
【参考答案】
可变数据类型:字典、列表、集合
不可变数据类型:字符串、数字、元组
可变数据类型原理:当值发生改变的时候,内存地址不变,也就是 ID 不变,证明
在改变原值。
不可变数据类型原理:当值发生改变时,内存地址也发生变化,即 ID 也变,证明
是没有再改变原值,是产生了新的值
3 Python 不支持的数据类型有()
• char
• int
• float
• list
A
4 关于 Python 的元组类型,以下选项中描述错误的是()
• A:一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
• B:元组一旦创建就不能被修改
• C:CPython 中元组采用逗号和圆括号(可选)来表示
• D:元组中元素不可以是不同类型
D
5 元组中的元素只能是同一数据类型 ()
错
可以混搭的
数字 字符串 元组 列表 字典 集合,都可以放里面,但是第一层的元素不可修改.