Python - [04] 面试题汇总

news/2024/9/30 11:39:00

题记部分

 

001 || Python的特点和优点

Python可以作为编程的入门语言,因为他具有以下特质:

(1)解释型

(2)动态特性

(3)面向对象

(4)语法简洁

(5)开源

(6)丰富的社区资源

 

002 || 深拷贝和浅拷贝的区别

深拷贝是将对象本身复制给另一个对象,意味着如果对对象的副本进行更改时不会影响原对象。在Python中,使用deepcopy()函数进行深拷贝。浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用copy()函数进行浅拷贝。

 

003 || 列表和元组的区别

主要区别在于列表是可变的,元组是不可变的。改变元组则程序报错【TypeError: 'tuple' object does not support item assignment

 

004 || 解释Python中的三元表达式

在Python中不需要使用?符号,而是使用 [on true] if [expression] else [on false]

如果[expression]为真,则[on true]部分被执行。如果表示假则[on false]部分被执行。

 

005 || Python中如何实现多线程

线程是轻量级的线程,多线程允许一次执行多个线程。Python是一种多线程语言,它有一个多线程包。

GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在起传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在CPU上。当然,所有传递都会增加执行的开销。

 

006 || 解释继承

一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)

继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python支持以下类型的继承:

(1)单继承 —— 一个子类继承自单个基类

(2)多重继承 —— 一个子类继承自多个基类

(3)多级继承 —— 一个子类继承自一个基类,而基类继承自另一个基类

(4)分层继承 —— 多个子类继承自同一个基类

(5)混合继承 —— 两种或两种以上继承类型的组合

 

007 || 什么是Flask

Flask是一个使用Python编写的轻量级Web应用框架,使用BSD授权。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。除了Werkzeug和Jinja2以外几乎不依赖任何外部库。因为Flask被称为轻量级框架。Flask的会话使用签名cookie来允许用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。但如果要修改会话,则必须有密钥Flask.secret_key。

 

008 || 如何在Python中管理内存

Python用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它。由解释器来管理它。不过使用一些核心API。我们可以访问一些Python内存管理工具控制内存分配。

 

009 || 解释Python中的help()函数和dir()函数

help()函数返回帮助文档和参数说明,运行结果如下

Help on function copy in module copy
copy(x)
Shallow copy operation on arbitrary Python objects.
See the module』s doc string for more info.

dir()函数返回对象中的所有成员(任何类型)

 

010 || 当退出Python时是否释放所有内存分配

不会释放。那些具有对象循环引用或者全局命名空间引用的变量,在Python退出时往往不会被释放,另外不会释放C库保留的部分内容。

注: Python的C库是指用C语言编写的扩展模块,这些模块可以提供高性能的底层功能。‌ 通过使用C语言编写的扩展模块,Python程序能够集成这些底层功能,从而提高程序的性能和效率‌

 

011 || 什么是猴子补丁

Python中的猴子补丁是一种在运行时动态修改代码的技术。允许在不修改源代码的情况下,改变代码的执行方式或增加功能。猴子补丁通过替换对象的属性或方法,达到修改代码行为的目的。具体来说,Python的类是可变的,方法只是类的属性,因此我们可以在运行时修改这些属性,从而改变方法的行为。

 

012 || 什么是Python字典

字典是一种数据类型,类似于Java中的Map。是一个无序的键值对集合,其中的键必须是唯一的,通常用于存储大量的关键数据。字典中的键值对用冒号分割,而各个键值对之间用逗号分割,整个字典包括在花括号中。字典的值是可变的。

 

013 || 能否解释一下 *args**kwargs

*args**kwargs是Python中的可变位置参数和关键字参数。它们允许函数接收任意数量的参数。

*args允许你传递一个非键值对的可变数量的参数列表。

**kwargs允许你传递一个键值对的可变数量的参数列表。

如果不知道将多少个参数传递给函数,比如想传递一个列表或一个元组值时,可以使用*args

不知道将会传入多少关键字参数时,使用*kwargs会收集关键字参数。

 

014 || 什么是负索引

在Python中,负索引用于从序列的末尾开始计数,而不是从开头开始。

序列的默认索引是从0开始的,但是最大的索引是序列长度减去1。当使用负索引时,可以从-1开始计数,最后一个元素的索引是-1,倒数第二个元素的索引是-2,依此类推。

 

 

 

 

 

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

platformio创建工程过慢问题

在vscode安装platformio插件后,打开插件,等待platformio code安装完成后,关闭vscode打开任务管理器,结束进程platformio.exe和所有的Python.exe进程全部结束打开文件C:\用户名\你的用户名.platformio\penv\pip.conf,修改为如下配置[global] index-url = https://mirrors.h…

Guava Cache

1 Guava Cache 介绍 Guava 是 Google 提供的一套 JAVA 的工具包,而 Guava Cache 则是该工具包中提供的一套完善的 JVM 级别的高并发缓存框架。其实现机制类似 ConcurrentHashMap,但是进行了众多的封装与能力扩展。作为 JVM 级别的本地缓存框架,Guava Cache 具备缓存框架该有…

PART0-Oracle数据库介绍

1. Oracle数据库介绍 1.1. 关于关系型的数据库 每个组织都有必须存储和管理的信息,以满足其需求。例如,公司必须收集和维护员工的人力资源记录。这些信息必须对需要它的人可用。信息系统是一个用于存储和处理信息的正式系统。 信息系统可以是一组包含文件夹的纸箱,以及存储和…

六个核桃科技有限公司——团队展示

这个作业属于哪个课程 https://edu.cnblogs.com/campus/hniit/AI2022这个作业要求在哪里 https://edu.cnblogs.com/campus/hniit/AI2022/homework/13280团队名称 六个核桃科技有限公司这个作业的目标 让湖南信息学院人工智能专业成绩提高10%其他参考文献 kimi作业正文 智慧核桃…

电影《浴火之路》百度云下载资源/迅雷BT[HD-1280P/2.12GB/MP4中字]4k中字已更新

《浴火之路》:人性光辉与生命尊严的较量2024年国庆档,电影市场迎来了一场别开生面的盛宴,其中,《浴火之路》以其独特的题材、精彩的剧情、强大的演员阵容和震撼的视觉呈现,成为了备受瞩目的焦点。该片由五百执导,尚可编剧,肖央、赵丽颖、刘烨等实力派演员主演,是一部聚…

CF582D Number of Binominal Coefficients 题解

第一道没看题解写出来的黑,写了一上午+半下午,算了两页纸,还是太蒻了CF582D Number of Binominal Coefficients 题解 纪念一下自己第一道独立 A 掉的黑题 / CF3300。 题目大意 给定质数 \(p\) 和整数 \(\alpha,A\),求满足 \(0 \le k \le n \le A\) 且 \(p^{\alpha}|\binom …

PbootCms网站如何自动清理runtime缓存

要在 PbootCMS 中实现自动清理 runtime 缓存,可以通过以下步骤进行操作: 步骤 1: 修改 ExtLabelController.php 文件打开文件打开文件:\apps\home\controller\ExtLabelController.php找到 test() 方法找到以下代码:// 测试扩展单个标签 private function test() {$this->…

向带有BLE从机的代码中移植BackupOTA备份升级

目录 Backup升级方式,涉及到头/源文件的修改,代码改动量相比Onlyupdata升级方式来讲要更大。 Backup升级的优点:升级无需跳转,通过 基于24年9月9日的CH592EVT移植后的APP层工程见链接: 通过网盘分享的文件:592Peripheral_Extract_BackupOTA.zip链接: https://pan.baidu.c…