python基础知识面试题-Python 基础面试题总结
1.在Python中,list,tuple,dict,set有什么区别,主要应用在什么场景?
可变类型:list dict set
可变对象的内容是可以变化的,当对象的内容发生变化时,变量的对象引用是不会变化的。
不可变类型:tuple
不可变对象的本身不可变,但是变量的对象引用是可变的
2.简要介绍一下Python中的装饰器?列举几个常见的内置装饰器
装饰器是在不改变原函数的基础上为函数添加新功能的方法
@classmethod @staticmethod @property
3.静态方法,类方法,实例方法的区别
@property装饰器就是负责把一个方法变成属性调用,通常用在属性的get方法和set方法,通过设置@property可以实现实例成员变量的直接访问,又保留了参数的检查。另外通过设置get方法而不定义set方法可以实现成员变量的只读属性。
@classmethod 装饰器就是把类的函数直接使用了,不用实例化。通常情况下,类实例是解释器自动调用类的init()来构造的,但借助classmethod可以在解释器调用init前实现一些预处理逻辑,然后将预处理后的参数传入类的构造函数来创建类实例。
@staicmethod 装饰器就是把类的方法直接作为类的静态方法使用了,类的静态成员属于类本身,不属于类的实例,它无法访问实例的属性(数据成员或成员函数)。定义为staticmethod的函数被调用时,解释器不会自动为其隐式传入类或类实例的参数,它的实际参数列表与调用时显式传入的参数列表保持一致。
4.Python常见的内置函数有哪些
1、int(x) 2、long(x) 3、float(x) 4、complex(x) //复数 5、str(x) 6、list(x) 7、tuple(x) //元组 8、hex(x) 9、oct(x) 10、chr(x)//返回x对应的字符,如chr(65)返回"A'
11、ord(x)//返回字符对应的ASC码数字编号,如ord('A')返回65
5.下面代码的输出是什么
image
6.生成100 内的偶数列表:
list = [x for x in range(0,100) if x %2 == 0]
7.将列表内元素,根据位数合并成字典
last = [1,2,4,5,16,32,64,128,256,512,1024,32769,65536,4294967296]
输出:{1:[1,2,4,8],2:[16,32,64],3:[128,256,512],4:[1024],5:[32768,65536],10:[4294967296]}
res = {}
for i in list:
if len(str(i)) not in res:
res[len(str(i))] = [i]
else:
res[len(str(i))].append(i)
8.合并两个有序列表
a = [3,4,6,10,11,18]
b = [1,5,7,12,13,19,21]
print(list(set(a+b))
9.请用尽量简洁的方法二维数组装换成1维数组:
例: 转换前 lst = [[1,2,3],[4,5,6],[7,8,9]], 转化后 lst = [1,2,3,4,5,6,7,8,9]
lst = [[1,2,3],[4,5,6],[7,8,9]]
a = lst[0]
b = lst[1]
c = lst[2]
d = a + b + c
10.简要介绍Python中的元类,在什么场景下会用到
在python中,类也是对象,这样的对象就是通过元类来创建的。元类就是"类的类"。
11.python常见的任务队列有哪些
Python标准库中包含了四种队列,
queue.Queue asyncio.Queue multiprocessing.Queue collections.deque
12.python 中高并发请求有哪些解决方案
一,Nginx要做负载均衡
二,程序层面做多线程,锁等机制
三,数据库层面处理 如 读写分离,用redis做页面缓存
四,服务器配置要尽量高
13.python的基本运行机制及特性
源码距离底层更远
运行时都需要生成字节码,交由虚拟机执行。
每次执行脚本,虚拟机总要多出加载和链接的流程。
14.python中的垃圾回收机制是什么
Python中的垃圾回收是以引用计数为主,标记清除和分代收集为辅。
15.python 测试工具有哪些
PyChecker是一个静态分析工具,它不仅能报告源代码中的错误,并且会报告错误类型和复杂度。
Pylint是检验模块是否达到代码标准的另一个工具。
16.将列表字符串转化成列表:
a = '192.168.1.1'
b = a.split('.')
print(b)
17.将列表['a','b','c'] 转化成 "a,b,c'
f = ['a','b','c']
d = ",".join(f)
print(d)
18.请手写一个单例
class A(object):
__instance = None
def __new__(cls, *args, **kwargs):
if cls.__instance is None:
cls.__instance = object.__new__(cls)
return cls.__instance
else:
return cls.__instance
19.****什么是lambda函数?它有什么好处?
答:lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数
lambda函数:首要用途是指点短小的回调函数
>> lambda [arguments]:expression
>>
>> a=lambdax,y:x+y
>>
>> a(3,11)
20.手写一个装饰器(斐波拉契函数)
def fun():
i = 1
num = 0
while i <= 10:
print(num)
num += i
yield num
i += 1
f = fun()
f.send(None)
#===========================
print("第一种方法")
next(f)
next(f)
#===========================
print("第二种方法")
f.__next__()
f.__next__()
#===========================
print("第三种方法")
f.send("hhh")
f.send("hhh")
21.解释一下什么是闭包?
在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包。
22.Python 中 is 和==的区别?
is 判断的是 a 对象是否就是 b 对象,是通过 id 来判断的。
==判断的是 a 对象的值是否和 b 对象的值相等,是通过 value 来判断的。
23 Python 的魔法方法 ?
魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现 (重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。 它们经常是两个下划线包围来命名的(比如 init,lt),Python 的魔法方法是非常强大的,所以了解其使用方法也变得尤为重要!
init 构造器,当一个实例被创建的时候初始化的方法。但是它并 不是实例化调用的第一个方法。
new才是实例化对象调用的第一个方法,它只取下 cls 参数,并把 其他参数传给 init。 new很少使
用,但是也有它适合的场景,尤其 是当类继承自一个像元组或者字符串这样不经常改变的类型的时候。
call 允许一个类的实例像函数一样被调用 。
getitem 定义获取容器中指定元素的行为,相当于 self[key] 。
getattr 定义当用户试图访问一个不存在属性的时候的行为 。
setattr 定义当一个属性被设置的时候的行为 。
getattribute 定义当一个属性被访问的时候的行为 。
python基础知识面试题-Python 基础面试题总结相关推荐
- python基础知识面试题-python的一些基本概念知识和面试题
对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...
- python基础知识面试题-干货满满--亲身经历的 Python 面试题
写在之前 这是首发在我公众号 "Python空间" 的第 2 篇文章. 如果看过我第一篇文章(三个月自学拿到 python 开发 offer!)的朋友可能知道,我来上海一个多星期, ...
- python基础知识面试题-Python基本面试解答由浅入深—简答题
原标题:Python基本面试解答由浅入深-简答题 不管你是学习任何语言,不管你是刚毕业还是行业大佬,找工作最终逃不掉的就是面试题,有的程序员很讨厌面试题,他们觉得面试题不会不代表我做不出东西,其实这种 ...
- Python面试基础篇 - 50道经典面试题(附答案及多种解答)
大家好,我是辣条哥 高考刚结束不久,网上各种招工的,工地招搬砖的都开始活跃了,这时候我要是不出来活跃一波感觉有点不合时宜了. 于是特意整理了这一份Python面试题的基础篇,进阶的先不说我能不能整理出 ...
- [转载] Java基础知识面试题(2020最新版)
参考链接: Java中的异常类型与示例 文章目录 Java概述何为编程什么是Javajdk1.5之后的三大版本JVM.JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码? ...
- Java基础知识面试题(2021最新版)
转载自:https://thinkwon.blog.csdn.net/article/details/104390612 文章目录 Java概述 何为编程 什么是Java jdk1.5之后的三大版本 ...
- 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
现在对于刚刚毕业的大学生来说,面试是一种一点自信都没有的,但是对于一些有职场经验的人来说,是轻车熟路的,今天作为IT行业中的老油条,小猿圈web前端讲师为你简单讲解HTML5基础知识面试题汇总. 1. ...
- Java基础知识面试题每日三道 追梦:第二天
Java基础知识面试题每日三道 追梦:第二天 1.什么是类和对象? 类和对象的区别? 类是对象的抽象,而对象是类的具体实例. 类是抽象的,不占用内存,而对象是具体的,占用存储空间. 类是用于 创建对象 ...
- python编程入门-编程零基础应当如何开始学习 Python?
一.说明 面对网络上纷繁复杂的资料,自己真是眼花缭乱,学的毫无章法,东一榔头西一棒子,这样不仅知识不能成为体系,自己的学习进度也不容易掌握,收效甚微.突然有个想法,就是把自己这几天收藏的资料整理出文章 ...
- 编程语言python怎么读-编程零基础应当如何开始学习 Python?
一.说明 面对网络上纷繁复杂的资料,自己真是眼花缭乱,学的毫无章法,东一榔头西一棒子,这样不仅知识不能成为体系,自己的学习进度也不容易掌握,收效甚微.突然有个想法,就是把自己这几天收藏的资料整理出文章 ...
最新文章
- apt Could not get lock /var/lib/dpkg/lock 解决方案
- 关于智能车竞赛,你需要知道什么?
- Java关于 class类的基础方法
- Windows 系统(包含Server) 官方镜像下载--阿里云盘
- Oracle备份与恢复介绍
- 使用Python模拟鼠标操作
- HDLCoder的系统设计
- 复制pdf文字到word
- Intellij IDEA优化配置(1)------Darcula主题的选择以及字体和颜色配置(基于Intellij IDEA 2019.1)
- 将格林威治时间转换为北京时间
- AE Saber插件画奥特曼
- 2011款的Mac Air 只装Windows 7 怎么把开机的咣的声音关掉
- 量子计算与区块链抗量子算法
- UML(一)六大关系
- html的基础网页代码源(超基础)
- 肖战真的没我帅!我自己写的Python颜值检测说的!
- 网络爬虫---用urllib模块爬取京东笔记本电脑的数据、并对其做一个可视化
- epoll_create详解
- 计算机应用办公自动化技术,计算机应用技术有哪些课程【计算机信息传输技术在办公自动化的应用】...
- 精彩!对外经济贸易大学信息学院人工智能+交叉学科建设研讨会成功举办!
热门文章
- java中线程切换的开销
- Visual studio 2010 sp1中文版正式版无法安装Silverlight5_Tools rc1 的解决办法
- VSTO之旅系列(一):VSTO入门
- linux - python - 异常:error while loading shared libraries
- 神经张量网络:探索文本实体之间的关系
- 如何获取启动页activity
- 模拟jQuery构造对象
- 下列关于python的描述正确的是-下列关于Python的说法,错误的是()。_学小易找答案...
- 青少年软件编程等级考试 python-中国电子学会、北大等推出青少年软件编程等级标准升级版...
- python画-如何用Python画各种著名数学图案 | 附图+代码