前言
凌晨7点钟起来,给大家更新一篇Python面试文章吧,因为之前给打分享的都是Python技术相关的,想必大家对Python大体的技术已经有所掌握了,现在应该缺少面试方面的知识,今天就给大家分享整理的328道Python面试题吧! 希望大家能够喜欢!
因为包括的内容有点多,所以只给大家展示部分的知识点,每个小节都有更加细化的内容,希望大家能够理解和喜欢!
首先分享Python36道面试题,后面附答案
解释一下Python中的3元运算子
不像C++,我们在Python中没有? 但我们有这个:
[on true] if [expression] else [on false]
如果表达式为True,就执行[on true]中的语句。否则,就执行[on false]中的语句。
下面是使用它的方法:
>>> a,b=2,3
>>> min=a if a
>>> min
运行结果:
2
>>> print("Hi门) if a<b else print("Bye")
运行结果:
Hi
在Python中如何实现多线程?
一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。我们都知道,Python是多线程语言,其内置有多线程工具包。
Python中的GIL (全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在将其传递给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。但实际上,只是线程在CPU上轮流运行。当然,所有的传递会增加程序执行的内存压力。
什么是Flask?
Flask是Python编写的一款轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2. Flask 使用BSD授权.其中两个环境依赖是Werkzeug和jinja2,这意味着它不需要依赖外部库。正因如此,我们将其称为轻量级框架.
Flask会话使用签名cookie让用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。不过,要想修改会话,用户必须有密钥Flask.secret key.
元组的解封装是什么?
首先我们来看解封装:
>>> mytuple=3,4,5
>>> mytuple
(3, 4, 5)
这将3, 4, 5封装到元组mytuple 中。
现在我们将这些值解封装到变量x,y,z中:
>>> x,y,z=mytuple
>>> x+y+Z
得到结果12.
Python36道面试题答案
其次分享Python292道面试题,后面附答案
Python优点
python 语法非常优雅,简单易学;
免费开源;
跨平台,可以自由移植;
可扩展,可嵌入性强;
第三方库丰富;
应用领域
在系统编程中应用广泛,比如说shell工具.
在网络爬虫方面功能非常强大,常用的库如scrapy, request 等
在web开发中使用也很广泛,如很多大型网站都用python开发的,如ins,youtube等,常用的框架如django, flask 等
python 在系统运维中应用广泛,尤其在linux运维方面,基本上都是自动化运维。
在人工智能,云计算,金融等方面也应用非常广泛。
公司线上和开发环境使用的什么系统?
线上用的centos和Ubuntu系统
开发环境用的windows, mac,还有Ubuntu。
py2项目如何迁移成py3
先备份原文件,然后使用python3自带工具2to3.py将py2文件转换位py3文件
手动将不兼容的代码改写成兼容py3的代码;
用一行代码实现数值交换
a=1
b=2
答案: a,b=b,a
如何实现字符串的反转?如:name=felix, 反转成name=xilef
name = "felix"
#方法一:
name= name[:- 1]
#方法二:
name2= list(name)
name2.reverse(
name= ".join(name2)
#方法三:
from functools import reduce
name=reduce(lambda x, y: y+ x, name)
列举字符串、列表、元组、字典每个常用的5个方法
①字符串---字符串方法总结
strip0->去掉字符串两端的空白符
split() ->对字符串进行分割,默认按照空格分割
join() ->字符串连接
startwith0,endwith0 -> 判断是否以啥开头或者结尾
replace() ->字符串昔换
find( -> 查找字符串,存在返回第一-个索引,不存在返回-1
②列表--列表方法总结
count() ->统计在列表中出现的个数
apped0 -> 在列表末尾添加值
pop() ->删除-一个对象,默认最后- -个
remove() -> 删除指定的第-个匹配项
insert() ->插入对象
index() ->获取索引
③元组.
count() ->统计在元组中出现的个数
index() ->获取索引
④字典
keysO ->获取所有的键
pop()->删除指定的键的键值对
popitem() ->随机删除一个键值对
update() -> 更新字典,参数为-个字典,如果键已存在,则更改,不存在则添加
setdefault() ->如果键存在则,返回该键对应的值,如果不存在,设置该键为设置的默认值,然后返回该键对应的值
get0 ->返回键对应的值
fromkeys() ->创建字典,第-个参数为可迭代对象,每个值变成字典的键,第二个参数为每个键的默认值
Python292道面试题答案
今天整理的Python面试题一共有328道,需要的话大家可以转发关注小编,添加助理微信:bjmsb07 来免费获取!