去面试Python工程师,这几个基础问题一定要能回答

Python菌 2021-11-25 20:32:13
面试 工程师 Python 这几 工程

image

今天的面试题以基础为主,去面试Python工程师,这几个基础问题不能答错

第1题:列表和元组有什么不同?

列表和元组是Python中最常用的两种数据结构,字典是第三种。

相同点:

  • 都是序列
  • 都可以存储任何数据类型
  • 可以通过索引访问

语法差异

使用方括号[]创建列表,而使用括号()创建元组。

是否可变

列表是可变的,而元组是不可变的,这标志着两者之间的关键差异。

重用与拷贝

元组无法复制。 因为元组是不可变的,所以运行tuple(tuple_name)将返回自己

内存开销

Python将低开销的较大的块分配给元组,因为它们是不可变的。 列表则分配小内存块。 与列表相比,元组的内存更小。 ’ 当你拥有大量元素时,元组比列表快。 列表的长度是可变的。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

第2题:什么是负索引?

Python中的序列索引可以是正也可以是负

如果是正索引,0是序列中的第一个索引,1是第二个索引。 如果是负索引,-1是最后一个索引,-2是倒数第二个索引。

 lst=[11,22,33,44,55]

全取列表

>>> lst[:]
[11, 22, 33, 44, 55]

取不到最后一个元素

>>> lst[:-1] # 注意这里不能输出55,因为切片操作都是左闭右开的
[11, 22, 33, 44]

列表倒序

>>> lst[::-1]
[55, 44, 33, 22, 11]

取最后一个

>>> lst[-1]
55

取第一个

>>> lst[0]
11

第3题: 如何随机打乱列表中元素,要求不引用额外的内存空间?

用 random 包中的 shuffle() 函数来实现

import random
random.shuffle(你的列表)
# 举个例子:
L1 = [1, 3, 5, 7]
random.shuffle(L1)

第4题:解释 Python 中的 join() 和 split() 函数?

join() 函数可以将指定的字符添加到字符串中

‘1,2,3,4,5’
a=','.join('123456')
print(a)
print(type(a))
#1,2,3,4,5,6
#<class 'str'>

split() 函数可以用指定的字符分割字符串

[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
a='1,2,3,4,5,6'.split(',')
print(a)
print(type(a))
#['1', '2', '3', '4', '5', '6']
#<class 'list'>

第5题:如何删除字符串中的前置空格?

  1. strip():把头和尾的空格去掉
  2. lstrip():把左边的空格去掉
  3. rstrip():把右边的空格去掉
  4. replace(‘c1’,‘c2’):把字符串里的c1替换成c2。故可以用replace(’ ‘,’’)来去掉字符串里的所有空格
  5. split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
  6. re.split(r’s+’, ‘a b c’) # 使用正则表达式

第6题:Python 中的 pass 语句有什么作用?

在编写代码时只写框架思路,具体实现还未编写就可以用 pass 进行占位,使程序不报错,不会进行任何操作。

比如:

while False:
pass

pass通常用来创建一个最简单的类:

class MyEmptyClass:
pass

pass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现,比如:

def readtxt(*args):
pass # to do list

第7题:解释 Python 中的成员运算符?

成员运算符

in 是判断是否包含

通过成员运算符‘in’ 和 ‘not in’,确认一个值是否是另一个值的成员。

print('me' in 'disappointment')#True
print('us' in 'disappointment')#False

身份运算符

is 是判断内存地址

  • is 是判断两个标识符是不是引用自一个对象
  • is not 是判断两个标识符是不是引用自不同对象

tops: in 的 not 在前,is 的 not 在后

python、爬虫技巧资源分享添加围鑫(同音):762459510,这里有资源共享,技术解答,还有小编从最基础的Python资料到项目实战的学习资料都有整理,希望能帮助你更了解python,学习python。

image

版权声明
本文为[Python菌]所创,转载请带上原文链接,感谢
https://blog.csdn.net/zihong522/article/details/121540859

  1. Python生成的随机数,要怎么设定成随机数a小于随机数b啊
  2. Python生成的隨機數,要怎麼設定成隨機數a小於隨機數b啊
  3. Le nombre aléatoire généré par Python, comment définir le nombre aléatoire a est inférieur au nombre aléatoire B
  4. Python爬虫能做什么
  5. Python老技师给上路初学者的3点忠告
  6. 3 conseils aux débutants sur la route de l'ancien technicien Python
  7. Que peuvent faire les reptiles Python
  8. The code NPM cloned from git will report a python error after it is installed!
  9. 数据分析从零开始实战,Pandas读写CSV数据
  10. Python基础(十二):类与对象
  11. Python Foundation (12): classes et objets
  12. Python基礎(十二):類與對象
  13. L'analyse des données commence à zéro et pandas lit et écrit les données CSV
  14. Python Qt GUI设计:QSlider滑动条类(基础篇—16)
  15. #yyds干货盘点#数据分析从零开始实战,Pandas读写CSV数据
  16. This paper designs an examination system for automatically setting questions and judging papers by using Python standard library language to investigate the ability of users to calculate four integers within 100.
  17. Yyds Dry Inventory # Data Analysis started from zero, pandas read and write CSV Data
  18. python数据结构:数组、列表、栈、队列及实现
  19. Python编程真的是未来人工智能的主流吗?
  20. Python编写通讯录,支持模糊查询,利用数据库存储
  21. Python編寫通訊錄,支持模糊查詢,利用數據庫存儲
  22. Python編程真的是未來人工智能的主流嗎?
  23. Python écrit le carnet d'adresses, prend en charge les requêtes floues et utilise le stockage de base de données
  24. La programmation Python est - elle vraiment le courant dominant de l'IA future?
  25. Structure des données Python: tableaux, listes, piles, files d'attente et implémentations
  26. Python networkx Practical Social Network Visualization
  27. [译] 通过 for 循环,比较 Python 与 Ruby 编程思想的差别
  28. Comparez les différences de programmation entre Python et Ruby à travers la boucle for
  29. Python basic and introductory tutorials
  30. What you don't know
  31. 人生苦短,能让你更早下班的Python垃圾回收机制
  32. Boring playing Tetris, using Python to do their own without advertising
  33. Seemingly boring Python games, but I fished for work all afternoon!!
  34. A collection of grammar knowledge points for getting started with Python
  35. Benefits of learning Python
  36. Play childhood memories with Python, greedy snake
  37. Python is suitable for beginners
  38. Simple Python game making
  39. Welfare is coming!! Python basic syntax dry goods
  40. Simply understand the learning direction of Python and make yourself a better choice
  41. Why do many people say Python is simple?
  42. Un mécanisme de collecte des ordures Python qui vous permet de quitter le travail plus tôt
  43. Python actual combat battery digital twin [including source code]
  44. Python file operation delete move copy new
  45. Python module accumulation
  46. Python crawler programming idea (70): project practice -- capturing the mobile phone sales ranking of Jingdong Mall
  47. Python crawler programming idea (69): project practice -- capturing Dangdang Book ranking
  48. Python crawler programming idea (68): using pseudo class selectors in pyquery
  49. Eight high-quality Python books are recommended for beginners
  50. L'analyse des données commence à zéro et pandas lit et écrit les données CSV
  51. Write a 5-digit test number in Python
  52. Using Python to batch delete old files n days ago in a specific directory under Windows: batch delete old files under windows, clear cache files, save drive C, and reject drive C explosion
  53. Pandas calculates the statistical data (cumulative time, length change, change rate, variance, mean value, maximum, minimum, etc.) required for prediction and reasoning of the model based on time series data: data duration (minutes), total data change aft
  54. python小问题,各位帮我看一下
  55. Python decrypted the latest rich list in 2021. Ma Yun didn't even enter the top three
  56. 如何使用Python进行单元测试
  57. 基于Python的自动化测试平台开发你要理解的:uWSGI
  58. python:接口自动化测试框架读取配置优化
  59. 代码测试中的Python应用1 | VectorCAST单元测试报告自定义需求的GUI开发
  60. 毕业生简单的用Python实现一个信息管理系统【含示例代码】