【猿小白】常见Python面试问题汇总~~~持续更新~~~直到拿到心仪的offer
来源:互联网 发布:science online数据库 编辑:程序博客网 时间:2024/05/18 02:49
眼看秋招已过大半,依旧没有拿到心仪的offer,但还是要坚持住最初的信念,必要的时候还是得喝点心灵鸡汤,不管上一场面试结果如何,还是得重整旗鼓,卯足了劲往前冲,所谓百面成钢,前提也得是总结分析失败的教训。下面的一些问题是一些我在面试的时候遇到的问题,会与不会的我都一并整理了下来,查缺补漏扫扫盲。这一篇主要是关于Python常见的面试问题
Python中常见的面试问题**
1、_ 、_和__xx_的区别
“_”单下划线:
Python中不存在真正的私有方法,为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。
“__”双下划线:
这个双下划线会造成更多的混乱,但他并不是用来标志一个方法或属性是私有的,真正作用是用来避免子类覆盖其内容。
“xx“前后各双下划线:
此种写法为Python内建属性方法,最好不要在外部调用。
“xx”经常是操作符或本地函数调用的magic methods。
总结:
使用_one_underline来表示该方法或属性是私有的,不属于API;
当创建一个用于python调用或一些特殊情况时,使用two_underline;
使用__just_to_underlines,来避免子类的重写!
2、使用过的库
排序不分优先级.1.os 和操作系统有关2.time 与时间有关3.pcap 抓包4.dpkt 解包和组包5.pymssql 进行mssql数据库操作6.cProfile 自己debug脚本性能时用的,可以精确快速计算运行时间7.urllib2 最早接触的库之一,跟HTTP有关8.httplib 与HTTP有关9.smtplib SMTP的lib10.poplib POP3的lib11.tarfile 解tar包12.socket 最原始的tcp库13.paramiko SSH SFTP14.psyco 增强性能,对函数和类,尤其包含多次循环的非常有效15.pywin32 运用windows的API16.selenium 界面自动化17.sqlite3 sqlite3数据库操作18.email 邮件的编码解码19.stackless 微线程,据有关人测试,可以达到普通线程的十倍性能20.wx wxpython,写界面用的21.py2exe 把py程序弄成exe可执行的22.shutil 很有用,copy,删除23.thread 普通线程
3、Python是多线程的吗
Python不支持多线程,但是可以使用一些方法实现多线程,python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点,在threading 得到了弥补。
4、对Python的理解
5、元祖、字典和列表的区别
列表
list(列表) 用方括号
列表是Python的一种内置数据类型,list是一种有序的集合,可以随时添加和删除其中的元素。
获取list中的元素用角标获取,角标可以使用正角标,也可以使用负角标,越界时抛出IndexErro
list中的元素的数据类型也可以不一样(就像Java一样),也可以在list内放另外一个list,这样也就形成了一个多维集合
list的方法
len(list) #获取lest长度
append() #末尾追加元素
pop() #弹出末尾元素
例如:
zoo = [‘pig’,’tiger’,’dog’]
zoo
[‘pig’,’tiger’,’dog’]
zoo[0]
‘pig’
zoo[-1]
‘dog’
元祖
tuple(元祖) 用小括号
元祖也是一种有序列表,和list非常类似,不同点是tuple一旦定义了就不可修改,在一定意义上这也提高了代码的安全性,查询方法和list一样,使用的时候能用tuple的就用tuple。
在定义只有一个元素的元祖时加入”逗号”以免产生和数学运算的歧义
可变的tuple
当元祖内部放一个列表的时候,这个元祖中的列表的值就可以变化了,实际上tuple并没有改变,变的是内部list的值>>>
country = (‘bj’,[‘sh’,’gd’])
country[1]
[‘sh’, ‘gd’]
country[1][0] = ‘yn’
country
(‘bj’, [‘yn’, ‘gd’])
字典
字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,即我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确信息。
键值对在字典中以这样的方式标记:d={key:value,key2:value2}.注意他们的键/值对用冒号分割,而各个队用逗号分隔,所有这些都包括在花括号中。另外,记住字典中的键/值是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前对他们排序。
Dictionary (字典) : 用{}来定义
Dict={‘name’:’Pei’, ‘age’:’26’}
6、可变对象和不可变对象
python中,万物皆对象。
python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。
Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容可变,而不可变对象是指对象的内容不可变。
(1)不可变(immutable):int、字符串(string)、float、(数值型number)、元组(tuple)
(2)可变(mutable):字典型(dictionary)、列表型(list)
- 【猿小白】常见Python面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- 【猿小白】常见Java面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- 【猿小白】常见linux面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- 【猿小白】常见面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- 【Python】问题汇总[持续更新]
- 历经 33 天,终于拿到了心仪的 Offer
- 常见的25个python面试问答,让你顺利拿到offer!
- 常见的25个python面试问答,让你顺利拿到offer!
- 学习经历(直到拿到offer后,不更新)
- Python的坑(持续更新,直到自己建站)
- 程序员常见面试问题(持续更新)
- MFC常见面试问题(持续更新)
- 【持续更新】大数据处理常见面试问题
- python+TensorFlow常见错误汇总,持续更新中......
- 常见 bug 汇总 (持续更新)
- WEB前端面试问题汇总(持续更新整…
- QA常见面试问题答与问(持续更新)
- QA常见面试问题答与问(持续更新)
- 龙哥带你玩转面试(1.0)
- 单例模式的Seven种写法
- Java学习笔记-循环
- MySQL遇到的问题-1-ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld
- codevs 1046 旅行家的预算(贪心)
- 【猿小白】常见Python面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- QScintilla2 Unknown module(s) in QT: designer
- 数字通信基础(华为公开课)——笔记
- Jquery如何使用csrf
- 手机移动端web资源整合
- Spring mvc中@RequestMapping 6个基本用法小结
- CacheManager原理剖析与源码分析
- Linux常用的命令的集锦
- Hue配置MySQL查询的时候提示找不到libmysqlclient.so(ubuntu环境下)