前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python初级面试语法<一>

Python初级面试语法<一>

作者头像
py3study
发布2020-01-19 14:41:06
3860
发布2020-01-19 14:41:06
举报
文章被收录于专栏:python3

可变对象与不可变对象

可变对象存的是地址,地址不变,但地址指向的值可以变(引用类型)。类型:list、dict、set等

不可变对象直接存值,值变了,就是另一个对象了(值类型)。int、float、tuple、string等

直接赋值,浅拷贝,深拷贝

在含有可变对象讨论这个问题更显得有意义。

直接赋值:直接传递对象的引用。浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变。深拷贝,原始对象的改变不会造成深拷贝里任何子元素的改变。

__init__和__new__区别

__new__控制新实例的生成,__init__初始化一个新实例。可以用__new__实现单例模式。

设计模式

大话设计的工厂、代理、单例、观察者...... 。想起了这篇文章 20年前GoF提出的设计模式,对这个时代是否还有指导意义?

编码、解码

字符编码有GBK、ASCII、UTF-8、 Unicode等。encode和decode分别指编码和解码。明文--->选中一种编码加密-->密文,反之解码。

列表推导(list comprehension)和生成表达式(generator expression)的优劣

列表推导一下子生成完了列表,免去以后计算的时间,提高了性能,浪费了内存。而生成表达式延迟了列表的生成时间,需要它才一个个生成出来,节省了内存,降低了性能。

什么是装饰器?

装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数,返回包装后的函数。

如果装饰器和被装饰的函数还有其他参数呢(也可以问如果在函数之后再进行装饰,该如何做)?

再包装一层 (个人觉得这里说得通俗易懂 https://zhidao.baidu.com/question/580801144.html)

使用装饰器实现单例模式的代码

代码语言:javascript
复制
def singleton(cls, *args, **kwargs):
    instance = {}
    def _instance():
        if cls not in instance:
            instance[cls] = cls(*args, *kwargs)
        return instance[cls]
    return _instance

使用装饰器和使用其他方法实现单例区别?

未能找到比较好的解答,求推荐。感觉这篇写得不错 https://www.cnblogs.com/huchong/p/8244279.html

手写一个邮箱验证正则

邮箱前缀允许中文、英文、数字 ,中间必须有@符号 ,最后必须是域名 域名名称 只可以是英文和符号_ -的组合。(题外话:没必要太纠结邮箱格式,邮箱格式一直都在变,以前不许有中文,现在都允许有了)

代码语言:javascript
复制
^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

( 随意看看: ^表示开始,$表示结束。[ 标记匹配字符表达式的开始,] 标记匹配字符表达式的结束。

+表示匹配前面表达式的字符要出现一个或多个,\表示转义。( 和 )分别标记子表达式的开始和结束。)

多进程与多线程的区别

多线程之间可以共享资源,多进程各自独占资源。

CPU密集型适用多进程还是多线程?

多进程,原因:要提高CPU密集型操作效率,任务同时进行的数量尽可能等于CPU的核心数,使用多线程,也不能并行运算。

内存管理(或垃圾回收):引用计数/孤立引用环 /分代回收

指向该对象的引用总数为引用计数,对象之间相互引用形成了孤立引用环。

当某一代对象经历过垃圾回收,依然存活,那么它就被归入下一代对象,分代回收使得存活越就的对象越迟被回收。这篇内存管理讲得不错http://www.cnblogs.com/vamei/p/3232088.html

进程之间的通信方式

消息队列、信号量、管道、socket等

什么是协程?为什么比线程快?

一种程序组件,比线程快其一因为没有线程上下文切换的开销。https://www.cnblogs.com/zingp/p/5911537.html

问题来源:https://blog.csdn.net/csdnsevenn/article/details/79068624~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档