本文为Python面试题系列的下篇,和上篇一样,既有基础知识也有进阶版知识,话题涵盖脚本撰写、Python编码和数据结构。如果错过了上篇,可在博主主页查找
Q 1. Python支持什么数据类型?
这是最基本的Python面试问题。
Python支持5种数据类型:
1. Numbers(数字)——用于保存数值
>>> a=7.0
>>>
2. Strings(字符串)——字符串是一个字符序列。我们用单引号或双引号来声明字符串。
>>> title="Ayushi's Book"
3. Lists(列表)——列表就是一些值的有序集合,我们用方括号声明列表。
>>> colors=['red','green','blue']
>>> type(colors)
<class 'list'>
4. Tuples(元组)——元组和列表一样,也是一些值的有序集合,区别是元组是不可变的,意味着我们无法改变元组内的值。
>>> name=('Ayushi','Sharma')
>>> name[0]='Avery'
Traceback (most recent call last):
File "<pyshell#129>", line 1, in <module>
name[0]='Avery'
TypeError:‘tuple’ 对象不支持数据项分配
5. Dictionary(字典)——字典是一种数据结构,含有键值对。我们用大括号声明字典。
>>> squares={1:1,2:4,3:9,4:16,5:25}
>>> type(squares)
<class 'dict'>
>>> type({})
<class 'dict'>
我们还可以使用字典引导式:
>>> squares={x:x**2 for x in range(1,6)}
>>> squares
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Q 2. docstring是什么?
Docstring是一种文档字符串,用于解释构造的作用。我们在函数、类或方法中将它放在首位来描述其作用。我们用三个单引号或双引号来声明docstring。
>>> def sayhi():
"""
用该函数打印Hi
"""
print("Hi")
>>> sayhi()
Hi
要想获取一个函数的docstring,我们使用它的_doc_属性。
要想获取一个函数的docstring,我们使用它的_doc_属性。
>>> sayhi.__doc__
‘\n\tThis function prints Hi\n\t’
和注释不同,docstring在运行时会保留下来。
Q 3. PYTHONPATH变量是什么?
PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径。因此它必须包含Python源库目录以及含有Python源代码的目录。你可以手动设置PYTHONPATH,但通常Python安装程序会把它呈现出来。 从Q 4到Q 20 都是Python面试基础题,是Python新手面试时常出现的问题。
Q 4. 什么是切片?
切片是Python中的一种方法,能让我们只检索列表、元素或字符串的一部分。在切片时,我们使用切片操作符[]。
>>> (1,2,3,4,5)[2:4]
(3, 4)
>>> [7,6,8,5,9][2:]
[8, 5, 9]
>>> 'Hello'[:-1]
‘Hell’
Q 5. 什么是namedtuple ?
Namedtuple能让我们用名称/标签获取一个元组的元素,这里我们使用函数namedtuple(),将其从collections模块中导入。
>>> from collections import namedtuple
>>> result=namedtuple('result','Physics Chemistry Maths') #format
>>> Ayushi=result(Physics=86,Chemistry=95,Maths=86) #declaring the tuple
>>> Ayushi.