面试题-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 基础的主要内容,如果未能解决你的问题,请参考以下文章

python面试题基础部分 80题

Python面试题(基础部分)

python315道面试题

经典Python面试题之基础80问 Python开发

面试题-Python 基础

面试题-Python 基础