首页 / 面试 / python面试100讲(51-82)
python面试100讲(51-82)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python面试100讲(51-82),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4381字,纯文字阅读大概需要7分钟。
内容图文
![python面试100讲(51-82)](/upload/InfoBanner/zyjiaocheng/638/a8203149f3814d389ecd272a67911104.jpg)
51~82
'''
51
1.请简要买哦书装饰器的作用
2.如何自定义装饰器
总结:
装饰器本身就是一个函数,主要用于为函数添加额外功能。如插入日志、性能测试。
52
1.如何区分调用的是函数还是方法
总结:
通过isinstance函数可以判断调用的是函数还是方法,如果是函数,
类型是FunctionType,如果是方法,类型是MethodType
53
1.请解释@staticmethod和@classmethod的用法和区别
总结:
用@staticmethod修饰的方法不需要任何额外的参数,而用@classmethod修饰的方法
需要一个参数用于传入当前类本身。
54
1.什么是元类,请用代码解释如何使用元类
总结:
元类就是类的模板,可以自由控制创建类实例的过程。
55
1.请用代码说明hasattr、getattr和setattr的作用
总结:
hasattr用于判断对象中是否包含属性、getattr可以获取属性值,setattr可以设置属性值。
56
1.请阐述什么事lambda表达式,并用代码描述lambda表达式的应用场景
总结:
lambda表达式就是一个匿名函数,一般可以作为函数或方法的参数值使用。
57
1.请描述一下浅拷贝(copy)和深拷贝(deepcopy)的区别,请用代码举例说明如何使用copy和deepcopy
总结:
copy只赋值深层对象的引用,而deepcopy会复制深层对象本身。
58
1.编写一个生成器,将二维列表转换为一维列表
总结:
生成器与函数的定义方法类似,只是需要使用yield关键字处理每一个需要迭代的值。
59
1.请编写一个生成器,将任意多维的列表转换为一维列表
总结:
递归生成器的编写方法与递归函数类似,只是需要处理元素值的时候需要使用yield个关键字。
60
1.如何分别获取当前日期的年月日以及是一年中的第几天
总结:
通过localtime函数处理后的时间可以直接获取更详细的信息。
61
1.用Python创建2个进程,在这两个进程之间如何通信呢?
总结:
掌握进程间通信的方法
62
1.当运行一个线程函数时,如何为该函数传递参数
总结:
可以通过Thread类的args参数为线程函数传递参数值。
63
1.如何创建和使用在线程内部用的全局对象
总结:
local类用于创建一个全局对象,不过该对象只能在线程内部使用,
也就是说,全局是针对一个线程而言的。
64
1.请描述一下什么是协程,请举例说明
2.协程中哪两个运行任务的函数,如何使用
总结:
协程,又称微线程,使用async修饰要运行的函数,在运行协程函数时,需要使用await。
65
1.请解释什么是线程锁,举例说明如何使用线程锁。
总结:
使用Lock函数创建线程锁,使用lock.acquire方法加锁,使用lock.release方法解锁。
在加锁后,任何代码执行acquire方法,都会被阻塞,知道将该锁释放。
66
1.描述一下什么是信号量,如何使用信号量,请举例说明
总结:
信号量是一个计数器,用于记录资源的消耗情况。当资源消耗时递减,当资源释放时递增。
可以认为信号量代表资源是否可用。
67
1.在urls.txt文件中包含了若干个图像Url,一行一个Url,请使用多线程下载这些图像文件,
并按Url出现的顺序保存为0.jpg、1.jpg、2.jpg,以此类推。
总结:
1.多线程的使用
2.网络库的使用
3.文件操作
68
1.请用代码描述如何定义异常类、抛出异常类以及捕捉异常类
总结:
1.定义异常类
2.抛出异常类
3.捕捉异常类
69
1.Python是否支持多继承,请举例说明
2.如果Python类的多个父类存在相同的成员,按着什么规则处理
总结:
1.Python多继承
2.成员冲突如何处理
70
1.请通过代码说明try...except...else中的else子句的作用
总结:
try...except...else语句中的expect子句中的代码会在发生异常时执行,
而else子句中的代码会在try...except之间的代码正常执行完后执行,也就是带代码执行正确时执行。
71
1.静态路由和动态路由有什么区别
2.如何使用Flask实现动态路由
总结:
静态路由就是一个Url对应唯一的路由函数,而动态路由多个Url对应同一个路由函数。
动态路由通过<...>指定动态传递的参数。
72
1.请解释什么事转发与重定向,它们有什么区别
2.在Flask中如何转发和重定向资源
总结:
转发是读取指定资源的内容,然后发送给客户端,浏览器的Url是不变的。
而重定向会导致浏览器的Url发生变化,也就是让浏览器重新访问另一个Url。
73
1.如何在Jinja2模板中使用复杂数据,如Python列表
总结:
在Jinja2模板中可以向Python语言一样直接使用列表、字典等类型的值,如mylist[0]、mydict['type']等。
74
1.如何在Jinja2模板中进行条件控制
总结:
在Jinja2模板支持很多控制指令,例如,{%f...%}可以用来进行条件控制,
{%f...%}是循环指令。
75
1.请解释Session的概念,以及如何在Django中读写Session
总结:
通过request的session对象可以访问Session,就像读写字典一样读写Session。
76
1.如何在Django模板中使用循环指令,请举例说明
总结:
Djanjo模板的循环指令时{%for...%}{%endfo%}。
77
1.如何使用Beautiful Soup的节点选择器获取节点信息
总结:
节点选择器可以像使用对象属性一样获取节点信息,如soup.title.name用于获取title节点的名字。
78
1.如何使用Beautiful Soup的CSS选择器获取节点信息
79
1.如何使用requests从网络上下载一个图像文件
80
1.如果通过selenium控制Web页面,并模拟单机按钮的动作
总结:
模拟单机按钮的动作,关键是先找到要单机的按钮,然后之间调用click方法即可。
81
1.解释什么事伪类选择器,以及如何使用伪类选择器
总结:
伪类选择器是CSS选择器的一类重要的功能,这也是CSS选择器之索引强大的主要原因。
82
1.使用自己熟悉的网络库和分析库,实现住区豆瓣音乐Top250排行榜的数据,
并将数据保存在CSV文件中。
'''
内容总结
以上是互联网集市为您收集整理的python面试100讲(51-82)全部内容,希望文章能够帮你解决python面试100讲(51-82)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。