@[TOC](Python 常见的 170 道面试题 (19-40)(数据类型) )
字符串
19.列举 Python 中的基本数据类型?
Python3 中有六个标准的数据类型:字符串(String)、数字(Digit)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。
20.如何区别可变数据类型和不可变数据类型
从对象内存地址方向来说
- 可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的 key 值必须是不可变类型)
- 不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔类型,都是不可变类型)可以通过 id() 方法进行内存地址的检测。
21.将"hello world"转换为首字母大写"Hello World"
"hello world".title()
# >>> Hello World
22.如何检测字符串中只含有数字?
s1 = "12223".isdigit()
print(s1)
s2 = "12223a".isdigit()
print(s2)
# >>>结果如下:
# >>>True
# >>>False
23.将字符串"ilovechina"进行反转
s1 = "ilovechina"[::-1]
print(s1)
# >>>anihcevoli
24.Python 中的字符串格式化方式你知道哪些?
在 Python 中,提供了很多种字符串格式化的方式,分别是 %-formatting、str.format 和 f-string 。本文将比较这几种格式化方法。
%- 格式化
这种格式化方式来自于 C 语言风格的 sprintf 形式:
name = "weapon"
"Hello, %s." % name
C 语言的格式化风格深入人心,通过 % 进行占位。
str.format 格式化
PEP-3101 带来了 str.format ,它是对 %-formatting 的改进。它使用正常的函数调用语法,并且可以通过对要转换为字符串的对象的 __format __() 方法进行扩展。
"Hello, {}. You are {}.".format(name, age)
# 另一种书写方式:
"Hello, {name}. You are {age}.".format(name=name, age=age)
这两种方式代码效果相同,只是第一种方法需要严格控制传入的参数位置,而第二种方法没有这种限制, 并增加了代码的可读性。各种技巧可查看 Format Specification Mini-Language
f-string 格式化
PEP-0498 带来了 f-string 方式,它从 Python3.6 开始支持。这种方式也是使用 format 协议进行格式化。
name