文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python初级面试语法

2023-01-30 22:12

关注

可变对象与不可变对象

可变对象存的是地址,地址不变,但地址指向的值可以变(引用类型)。类型: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)

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

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

手写一个邮箱验证正则

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

^[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~

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯