面试题-Python 基础
Posted 小小菜_v
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题-Python 基础相关的知识,希望对你有一定的参考价值。
Python 基础(共 40道)
1、什么是 Python?
Python是一种面向对象的解释型计算机程序设计语言,粘贴性比较好,例如shell中可以运行Python脚本,python 中通过os模块也可以运行shell 脚本;Python语言比较通俗易懂,不需要编译可以直接运行等等。
2、赋值、浅拷贝和深拷贝的区别?
赋值:将一片地址空间换另一个对象引用
浅拷贝:拷贝第一层对象分配地址空间,里面层的对象共享地址空间
深拷贝:第一层到最里层递归拷贝,重新分配地址空间。
3、init 和new的区别?
https://www.cnblogs.com/shenxiaolin/p/9307496.html
4、Python 的变量、对象以及引用?
https://blog.csdn.net/weixin_34315189/article/details/94607384
5、创建百万级实例如何节省内存?
定义类的__slots__属性,声明实例有哪些属性(关闭动态绑定)
wearef 弱引用
dict 动态绑定属性(主要的内存浪费)
有__slot2__ 后,不能添加属性,添加属性就会报错
import sys
import tracemalloc
class Player1(object):
def __init__(self, uname, uid, level=1):
self.uname = uname
self.uid = uid
self.level = level
class Player2(object):
__slots__=('uname', 'uid', 'level')
def __init__(self, uname, uid, level=1):
self.uname = uname
self.uid = uid
self.level = level
p1 = Player1('juran1', '001')
p2 = Player2('juran2', '002')
# 查找p1,p2中的属性
print(dir(p1))
print(dir(p2))
print(set(dir(p1)) - set(dir(p2)))
# {'__dict__', '__weakref__'}
————————————————
版权声明:本文为CSDN博主「科学大道不十三」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45659953/article/details/104194885
6、Python 里面如何生成随机数?
random.random():生成一个 0-1 之间的随机浮点数;
random.uniform(a, b):生成[a,b]之间的浮点数;
random.randint(a, b):生成[a,b]之间的整数;
random.randrange(a, b, step):在指定的集合[a,b)中,以 step 为基数随机取一个数;
random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表,
元组等。
7、Python 是强语言类型还是弱语言类型?
Python 是强类型语言
8、谈一下什么是解释性语言,什么是编译性语言?
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言, 计算机才能执行高级语言编写的程序。
解释性语言在运行程序的时候才会进行翻译。
编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。
9、Python 中有日志吗?怎么使用?
https://www.cnblogs.com/yyds/p/6901864.html
10、Python 是如何进行类型转换的?
11、Python 中的作用域?什么是 Python 的命名空间?
https://www.runoob.com/python3/python3-namespace-scope.html
12、什么是 Python 自省?
“Python 自省是 Python 具有的一种能力,使程序员面向对象的语言所写的程序在运行时,能够获得对象的类 型。.比如 type(),dir(),getattr(),hasattr(),isinstance().
Python 是一种解释型语言,为程序员提供了极大的灵活性和控制力。”
13、面向对象深度优先和广度优先是什么? Python的类可以继承多个类,Python的类如果继承了多个类,那么其寻找方法的方式有两种
当类是经典类时,多继承情况下,会按照深度优先方式查找 py3 当类是新式类时,多继承情况下,会按照广度优先方式查找 py2
简单点说就是:经典类是纵向查找,新式类是横向查找
经典类和新式类的区别就是,在声明类的时候,新式类需要加上object关键字。在python3中默认全是新式类
14、你所遵循的代码规范是什么?
PEP8:https://blog.csdn.net/qq_36631580/article/details/107184806
15、关于 Python 程序的运行方面,有什么手段能提升性能?
使用多进程,充分利用机器的多核性能
对于性能影响较大的部分代码,可以使用C或C++编写
对于IO阻塞造成的性能影响,可以使用IO多路复用来解决
尽量使用Python的内建函数
尽量使用局部变量
16、dict 的 items() 方法与 iteritems() 方法的不同?
items方法将所有的字典以列表方式返回,其中项在返回时没有特殊的顺序;
iteritems方法有相似的作用,但是返回一个迭代器对象
17、os.path和sys.path的区别?
os.path是操作系统的指定文件的路径
sys.path指python解释器的路径
18、4G 内存怎么读取一个 5G 的数据?
https://blog.csdn.net/qq_42393859/article/details/88014578
19、输入某年某月某日,判断这一天是这一年的第几天?
https://blog.csdn.net/tomjimn/article/details/106870954
20、Python 中的 os 模块常见方法?
https://www.cnblogs.com/lmh001/p/9559055.html
21、说一下字典和 json 的区别?
https://www.boxuegu.com/news/411.html
22、什么是可变、不可变类型?
https://www.cnblogs.com/blackmatrix/p/5614086.html
23、存入字典里的数据有没有先后排序?
https://blog.csdn.net/CHERISHGF/article/details/105342224
24、lambda 表达式格式以及应用场景?
https://zhuanlan.zhihu.com/p/65485925
25、如何理解 Python 中字符串中的\\字符?
1、转义字符
2、路径名中用来连接路径名
3、编写太长代码手动软换行。
26、常用的 Python 标准库都有哪些?
https://zhuanlan.zhihu.com/p/85177240
27、如何在 Python 中管理内存?
https://zhuanlan.zhihu.com/p/113019698
28、介绍一下 except 的作用和用法?
https://blog.csdn.net/CHERISHGF/article/details/105204477
29、在 except 中 return 后还会不会执行 finally 中的代码?怎么 抛出自定义异常?
https://blog.csdn.net/CHERISHGF/article/details/105204723
30、read、readline 和 readlines 的区别?
https://zhuanlan.zhihu.com/p/26573496
31、range 和 xrange 的区别?
https://www.cnblogs.com/huangbiquan/p/7897145.html
32、“一行代码实现 xx”类题目
33、请简述你对 input()函数的理解?
input()接受键盘输入,输入都保存成字符串类型
34、代码中要修改不可变数据会出现什么问题?抛出什么异常?
TypeError
TypeError: ‘str’ object does not support item assignment
https://blog.csdn.net/CHERISHGF/article/details/105161648
35、print 调用 Python 中底层的什么方法?
sys.stdout.write(‘hello’)
https://www.cnblogs.com/xiaogangblog/p/13437513.html
36、Python 的 sys 模块常用方法?
https://www.cnblogs.com/yumingzhao/p/11677536.html
37、unittest 是什么?
https://www.cnblogs.com/daxiong2014/p/10449184.html
38、模块和包是什么?
https://zhuanlan.zhihu.com/p/120102128
39、什么是正则的贪婪匹配?
https://www.cnblogs.com/zhuifeng-mayi/p/9200910.html
40、常用字符串格式化哪几种?
https://blog.csdn.net/CHERISHGF/article/details/105342518
以上是关于面试题-Python 基础的主要内容,如果未能解决你的问题,请参考以下文章