news 2026/9/26 1:31:20

python-知识点汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python-知识点汇总

文档目录

  • 基础知识

基础知识

解释型语言VS编译型语言

编译型语言:
执行程序都需要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言。


1)问题:Python的内置数据类型有哪些?
答案:整形(int)、字符型(string)、布尔型(Boolean)、列表(list)、元组(tuple)、字典(dictionary)、集合(set);

2)问题:列出python中可变数据类型和不可变数据类型,并简述原理?

答案:

不可变数据类型:数值型(int)、字符串型(string)和元组(tuple);
不允许变量的值发生变化,如果改变了变量的值,则相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象(一个地址),如下图用id()方法可以打印对象的id,判断是否为同一个对象;

可变数据类型:列表(list)和字典(dict);
允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

3)问题:举例说明异常模块中try except else finally的相关意义?
答案:

try…except…else没有捕获到异常,执行else语句;
try…except…finally不管是否捕获到异常,都执行finally语句;

4)问题:==和 is 的区别是什么?!=和is not运算符的区别是什么?
答案:
1)比较两个对象或值的相等性;
is运算符用于检查两个对象是否属于同一内存对象。
2)!=如果两个变量或对象的值不相等,则返回true。
is not是用来检查两个对象是否属于同一内存对象。

>>>>>>list_a=["aa","bb","cc"]>>>list_b=["aa","bb","cc"]>>>list_a==list_bTrue>>>list_aislist_bFalse>>>>>>list_c=["dd","ee","ff"]>>>list_a!=list_cTrue>>>list_aisnotlist_cTrue>>>

5)问题:举例说明如何实现一个栈?
答案:

6)问题:代码举例说明如何实现 一个单列模式的类?
答案:

7)问题:Python中的module和package是什么?

答案:module是构造程序的方式,每个python程序文件都是一个模块,可以导入其他模块的对象或属性;
pachage是文件夹,可以包含子package或者其他module;

8)问题:python中断言方法运行结果说明?
答案:逻辑中断言成功则执行后面逻辑,否则程序报错;

9)问题:计算机中“位”、“比特”、“字节”、“字”的关系?
答案:

位(bit):音译为“比特”,是计算机内部存储数据的最小单位;一般用 “b”表示;

字节(byte),是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,所以1byte = 8bit。字节一般用大写B表示,也可以表示成1B = 8bit;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码

字(word),计算机进行数据处理时,一次存取、加工和传送的数据长度称为字。一个字通常由一个或多个(一般为字节的整数位)字节构成

字长,计算机每个字所包含的位数称为字长。字长是指它一次可处理的二进制数字的数目。所以字长是衡量计算机性能的一个重要因素。

10)问题:Python的GIL锁原理是什么?

GIL(Global Interpreter Lock) 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。

多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。

11)问题:Python 的垃圾回收机制的原理是什么?
答案:

12)问题:解释一下什么样的语言可以使用装饰器?
答案:函数可以作为参数传递的语言,可以使用装饰器;

13)问题:简述Python面向对象中__new__和__init__区别?
答案:

14)问题:Python中如何跨模块共享全局变量?
答案:可以定义一个包含全局变量的新的模块,在每个别的模块内导入该模块

15)问题:解释如何在Python中删除文件?
答案:导入os模块,使用命令os.remove(filename)或os.unlink(filename);

16)问题:简述Python中with方法打开处理文件帮我们做了什么?

答案:打开文件在进行读写操作时可能会出现一些异常状况,如果按照常规的f.open写法,需要try…except…finally,做异常判断,并且最终都要执行finally f.close()关闭文件,with方法内部实现了finally中f.close方法;

17)Python 解释器在语法上不支持自然语言的编程方式;

18)Python 保留字的获取和查看;

importkeywordprint(keyword.kwlist)print(len(keyword.kwlist))#保留字的个数

说明:Python的保留字严格区分大小写;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 1:31:17

线程-线程池

线程生命周期 1.new 状态 2. runnable 就绪状态 start() 3. runnabing 执行状态 run() 4. dead 执行完 run()方法 5. 阻塞状态(抢锁,wait等待阻塞,sleep)线程…

作者头像 李华
网站建设 2026/9/25 1:45:13

Web前端之实现元素实时位于可视区域、移动随机元素至可视区域、置底或置顶功能、垂直居中元素、聊天界面、滚动条、原生、锚点、scrollIntoView、scrollHeight、scrollTop

MENU前言效果图Web前端原生实现Vue框架实现scrollTop实现置顶置底(方式一)scrollIntoView实现置顶置底(方式二)区别功能语法工作原理兼容性使用场景实用代码推荐总结前言 在项目中遇到聊天功能,功能涉及置顶和置底知识,由此记录一下实现思路和过程。 效果…

作者头像 李华
网站建设 2026/9/14 0:20:35

服务端之nestJS常用异常类及封装自定义响应模块

MENU前言常用异常类(由nestjs/common提供,一)常用异常类(由nestjs/common提供,二)示例自定义异常(可选)自定义响应模块前言 在NestJS中,nestjs/common提供了大量的内置异…

作者头像 李华
网站建设 2026/9/14 1:29:31

Python—1、基础篇

Python入门1、概念简介2、Python开发2.1、字符集2.2、Python语法2.2.1、基本规范2.2.2、数据类型2.2.3、运算符2.2.4、逻辑控制2.2.5、转义字符基础配置: 1)Python开发IDE为VScode; 2)Python版本为 3.7.8; Python编码…

作者头像 李华
网站建设 2026/9/20 14:52:44

OBLITERATUS:解锁大模型无限潜力

GitHub 平台功能丰富,涵盖 AI 代码创作、开发者工作流程等多方面。而 OBLITERATUS 作为先进开源工具包,能消除大语言模型拒绝行为,还推动科研发展。GitHub 功能全景GitHub 提供了全面的平台功能,在 AI 代码创作方面,有…

作者头像 李华
网站建设 2026/9/23 18:37:10

软件测试经典面试题,助你面试加分

进入金三银四,很多小伙伴有被动跳槽的打算,所以更新一些经典的软件测试面试题,希望能帮到大家! 一 时间紧迫的情况下,如何做好测试工作? 对需求要明确,对需求的优先级也要明确,在项…

作者头像 李华