最常见的Python面试题&答案(下篇)

这篇博客是Python面试题系列的下篇,涵盖了Python的基础知识和进阶概念,如数据类型、docstring、PYTHONPATH、切片、namedtuple、字符串转整型、输入处理、不可变集合、随机数生成、字符串操作、递归、生成器和迭代器的区别等。此外,还讨论了Python的优缺点、Tkinter库、.pyc文件和创建包的方法。
摘要由CSDN通过智能技术生成

本文为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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值