首页 文章详情

面试来不及准备?12道常见Python面试题,等你抄答案!

i小码哥 | 472 2020-12-08 18:09 0 0 0
UniSMS (合一短信)

↑↑↑点击上方蓝字

后台回复关键字:破解,获取Pycharm 破解版,亲测有效哦
后台回复关键字:自学,获取一份精心整理的 5本 Python 经典用书
后台回复关键字:国庆,获取50本电子书。
后台回复关键字:1109,获取PYTHON进阶书。

布~一凡~ | 作者
Python学习网 | 来源
https://www.py.cn/interview/python/17643.html



1


python有哪些特性?


python是一门解释性开发语言,主要特点有:

  • 可解释

  • 具有动态特性

  • 面向对象

  • 简明简单

  • 开源

  • 具有强大的社区支持


2


深拷贝和浅拷贝之间的区别是?


深拷贝就是完全复制一个对象拷贝到另一个对象中,如果你对一个对象的拷贝做出改变时,不会影响原对象。在Python中使用函数deepcopy()执行深拷贝,导入模块copy。


>>> import copy
>>> b=copy.deepcopy(a)



浅拷贝就是复制一个对象的指针不复制其本身,如果我们在拷贝中改动,会影响到原对象。我们使用函数function()执行浅拷贝。


>>> b=copy.copy(a)



3


列表和元祖之间区别是?


列表和元祖之间主要是可变性不同列表是可变的而元祖是不可变的,下面列举的实列说明:


>>> mylist=[1,3,3]
>>> mylist[1]=2
>>> mytuple=(1,3,3)
>>> mytuple[1]=2Traceback (most recent call last):
File "", line 1, in <module>
mytuple[1]=2


则会出现以下报错:


TypeError: ‘tuple’ object does not support item assignment


4


什么是Flask?


FlaskPython编写的一款轻量级Web应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。Flask使用 BSD 授权。


其中两个环境依赖是Werkzeug和jinja2,这意味着它不需要依赖外部库。正因如此,我们将其称为轻量级框架


Flask会话使用签名cookie让用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。不过,要想修改会话,用户必须有密钥Flask.secret_key


5


在Python中是如何管理内存的?


Python有一个私有堆空间来保存所有的对象和数据结构。作为开发者,我们无法访问它,是解释器在管理它。但是有了核心API后,我们可以访问一些工具。Python内存管理器控制内存分配。


另外,内置垃圾回收器会回收使用所有的未使用内存,所以使其适用于堆空间。


6


解释python中的help()和dir()函数?


Help()函数是一个内置函数,用于查看函数或模块用途的详细说明。


>>> import copy

>> help(copy.copy)


Help on function copy in module copy:
 copy(x)
 Shallow copy operation on arbitrary Python objects.
 See the module’s __doc__ string for more info.


Dir()函数也是内置函数,dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。


>>> dir(copy.copy)


运行结果
[‘__annotations__’, ‘__call__’, ‘__class__’, ‘__closure__’, ‘__code__’, ‘__defaults__’, ‘__delattr__’, ‘__dict__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__get__’, ‘__getattribute__’, ‘__globals__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__init_subclass__’, ‘__kwdefaults__’, ‘__le__’, ‘__lt__’, ‘__module__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’]


7


什么是猴子补丁?


在运行期间动态修改一个类或模块


>>> class A: def func(self): print("Hi")
>>> def monkey(self):print "Hi, monkey"
>>> m.A.func = monkey
>>> a = m.A()
>>> a.func()
运行结果:
Hi, Monkey


8


请解释下使用*args和*kwargs含义?


当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args


>>> def func(*args):
    for i in args:
        print(i)
>>> func(3,2,1,4,7)
运行结果为:3 2 1 4 7


不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数


>>> def func(**kwargs):
    for i in kwargs:
        print(i,kwargs[i])
>>> func(a=1,b=2,c=7)
运行结果为:a.1 b.2 c.7


9


python中的字典是什么?


Python字典是一个容器,可以装列表,变量,字符串,浮点数等


注意:

  • Python的字典是一对一的形式,key:value,可以理解key是下标,value是内容

  • 标准形式:{a:b},那么a就相当于下标,value就相当于内容。

  • 下标是唯一的,即key赋值的时候不可以重复,不可用变量去赋值他,因为列表是可变的,所有也不能用列表去赋值

  • 字典的存储没有顺序,我们凭借key值去取value的内容


>>> roots={25:5,16:4,9:3,4:2,1:1}
>>> type(roots)'dict'
>>> roots[9]
 
运行结果为:
3


  • 字典是不可变的,可以用一个推导式来创建它


>>> roots={x**2:x for x in range(5,0,-1)}
>>> roots
 
运行结果为:
{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}


10


什么是负索引?


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

  • 如果是正索引,0是序列中的第一个索引,1是第二个索引。

  • 如果是负索引,-1是最后一个索引,-2是倒数第二个索引。


>>> lst=[11,22,33,44,55]
全取列表
>>> lst[:]
[11, 22, 33, 44, 55]


列表倒序
>>> lst[::-1]
[55, 44, 33, 22, 11]
取最后一个
>>> lst[-1]
55
 
取第一个
>>>lst[0]
11


11


解释一下python中的成员运输符?


通过成员运算符‘in’‘not in’,我们可以确认一个值是否是另一个值的成员


>>> 'me' in 'disappointment'
True >>> 'us' not in 'disappointment'
True


12


讲下python中的位运算符?


与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0


>>> 0b110 & 0b010
2


或(|)按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1


>>> 3|2
3


异或(^),按位异或运算符:当两对应的二进位相异时,结果为1


>>> 3^2
1


取反(~),按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1


>>> ~2
-3


左位移(<<),运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0


>>> 1<<2
4


右位移(>>),把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数


>>> 4>>2
1


END -

本文为转载分享&推荐阅读,若侵权请联系后台删除

零基础学 Python,请往看下嘛
送您价值 109 的视频课

 只需7天时间,跨进Python编程大门,已有3800+加入
【基础】0基础入门python,24小时有人快速解答问题;
【提高】40多个项目实战,老手可以从真实场景中学习python;
【直播】不定期直播项目案例讲解,手把手教你如何分析项目;
【分享】优质python学习资料分享,让你在最短时间获得有价值的学习资源;圈友优质资料或学习分享,会不时给予赞赏支持,希望每个优质圈友既能赚回加入费用,也能快速成长,并享受分享与帮助他人的乐趣。
【人脉】收获一群志同道合的朋友,并且都是python从业者
【价格】本着布道思想,只需 69元 加入一个能保证学习效果的良心圈子。
【赠予】价值109元 0基础入门在线课程,免费送给圈友们,供巩固

如果看到这里,说明你喜欢这篇文章,请转发、点赞
老铁,三连支持一下,好吗?↓↓↓
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter