社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

刚毕业去面试Python工程师,这几道题太难了,Python面试题No11

梦想橡皮擦 • 7 年前 • 1261 次点击  
阅读 36

刚毕业去面试Python工程师,这几道题太难了,Python面试题No11

写在前面

本想停一段时间这个系列,但是好多朋友给我发信息说让我继续整理下去,so,继续吧~

第1题: docstring是什么?

docstring是一种文档字符串,用于解释构造的作用。我们在函数、类或方法中将它放在首位来描述其作用。我们用三个单引号或双引号来声明docstring。

>>> def say():
	"""
这是docstring
"""
	print("docstring")

	
>>> say()
docstring
>>> 
复制代码

要想获取一个函数的docstring,我们使用它的_doc_属性

第2题:PYTHONPATH变量是什么?

PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径.可以通过如下方式访问:

在这里插入图片描述

  • 路径列表的第一个元素为空字符串,代表的是相对路径下的当前目录
  • 由于在导入模块的时候,解释器会按照列表的顺序搜索,直到找到第一个模块,所以优先导入的模块为同一目录下的模块.
  • 导入模块时搜索路径的顺序也可以改变.这里分两种情况:
  1. 通过sys.path.append(),sys.path.insert()等方法来改变,这种方法当重新启动解释器的时候,原来的设置会失效.
  2. 改变PYTHONPATH,这种设置方法永久有效

第3题: Python中的不可变集合(frozenset)是什么?

集合分为两种类型:

  • set —— 可变集合。集合中的元素可以动态的增加或删除。
  • frozenset —— 不可变集合。集合中的元素不可改变。

首先,我们讨论一下什么是集合。集合就是一系列数据项的合集,不存在任何副本。另外,集合是无序的。

>>> myset={1,3,2,2}
>>> myset
{1, 2, 3}
复制代码

这就意味着我们无法索引它

>>> myset={1,3,2,2}
>>> myset
{1, 2, 3}
>>> myset[0]
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    myset[0]
TypeError: 'set' object does not support indexing
>>> 
复制代码

TypeError:‘set’不支持索引。 集合是可变的。而不可变集合却不可变,这意味着我们无法改变它的值,从而也使其无法作为字典的键值。

>>> myset=frozenset([1,3,2,2])
>>> myset
frozenset({1, 2, 3})
>>> type(myset)
<class 'frozenset'>
>>> 
复制代码

第4题:如何检查字符串中所有的字符都为字母数字?

对于这个问题,我们可以使用isalnum()方法。

  • isalnum()必须是数字和字母的混合

其他内容

  • str.isalnum() 所有字符都是数字或者字母
  • str.isalpha() 所有字符都是字母
  • str.isdigit() 所有字符都是数字
  • str.isspace() 所有字符都是空白字符、t、n、r

第5题:什么是Python中的连接(concatenation)?

Python中的连接就是将两个序列连在一起,我们使用+运算符完成

第6题:Python的不足之处

Python有以下缺陷:

  • Python的可解释特征会拖累其运行速度。
  • 虽然Python在很多方面都性能良好,但在移动计算和浏览器方面表现不够好。
  • 由于是动态语言,Python使用鸭子类型,即duck-typing,这会增加运行时错误。 ![扫码关注非本科程序员](img-blog.csdnimg.cn/20190403110… =156x)

她专科学历 27岁从零开始学习c,c++,python编程语言 29岁编写百例教程 30岁掌握10种编程语言, 用自学的经历告诉你,学编程就找梦想橡皮擦

欢迎关注她的公众号,非本科程序员

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33267