1.Python 的深拷贝和浅拷贝有什么区别?

浅拷贝【ls.copy()】:
将列表的不可变对象【值】复制一份,同时引用其中的可变对象【列表】,共用一个内存地址
深拷贝【ls=copy.deepcopy(list)】:
完全的复制原可变对象,生成新的可变对象,两个对象互相独立

2.列表和元组的区别是什么?

 1. 列表
概念:有序序列,使用[ ]定义,元素之间用,隔开有序序列
增删改操作:可以增删改列表的任意元素不可变元素;2. 元组
概念:使用( )定义,元素之间用,隔开
增删改操作:- 元素项不可更改;- 元组中可变有序序列可以更改;- 不能删除元素项,只能删除整个元组

3.什么是迭代器,什么是生成器?在一个生成器用 yield 返回的中途把 yield 换成 return 是否可行?

迭代器:符合迭代器协议的对象,实现__iter__和__next__两个方法,前者表示迭代器本身,后者表示迭代器的下一个元素【例:斐波那契数列】,是用来访问的
生成器:是一个特殊的迭代器,按需动态生成值【惰性求值】,避免一次性生成大量数据占用大量内存,只有使用yield关键字时才会返回一个值,并且程序暂停执行,直至下一次迭代【状态保持】
生成器本身就是一个迭代器,调用使用yield关键字的函数,返回的是一个生成器对象,此时函数还没有执行,通过一个for循环,调用__next__方法时才会返回函数的值。在此过程中,yield会分段生成值。
而普通函数中使用return,返回的是该函数的结果,并且return用于终止函数,中途将yield改为return会导致生成器提前终止

4.lambda 的作用和适用场景是什么?

lambda函数就是没有名字的,只能使用一次的临时函数,一个函数体只有一条语句和一个返回值,用于实现简单功能。
lambda 返回值:表达式
适用场景:
- 简单计算
。搭配高阶函数map() reduce() filter()
- 拓展常用高阶函数:
。map应用到一个序列的每个元素,返回迭代器
ret=list(map(lambda x:x+2,ls))reduce对序列进行累计
ret=reduce(lambda x,y:x*y,ls)filter遍历序列中的元素,根据条件筛选,返回迭代器
ret=list(filter(lambda x:x%2==0,ls))

5.Python 和 Java 的多线程有什么区别?

Python线程执行受GIL限制,是单核执行;而Java可以多核并行执行
Python线程的创建方式是依赖threading模块;而Java是依赖Runnable接口或Thread类
Python的线程同步是使用Lock、Semaphore等同步原语;而Java是使用synchronized等关键字
Python线程池的创建通过concurrent.futures.ThreadPoolExecutor或multiprocessing.pool.ThreadPool实现;而Java通过ExecutorService接口及Executors工厂类创建线程池
Python线程适用场景是I/O密集型任务;而Java则适用于I/O密集型任务和CPU密集型任务

6.Python 的装饰器是什么?请举例说明其作用。

- 装饰器本质上是一种特殊的嵌套函数【在一个函数内部又定义了另一个函数】
它接收一个函数【被装饰的函数】作为参数,返回一个新的函数【装饰后的函数】
装饰器最大的作用就是可以让我们在不改变被装饰函数的情况下,给被装饰函数添加新的功能。
# 定义装饰器
def disc(func):def inner():print('我是生活在一个小树苗下的小草')func()print('我是小树苗庞的石头')return inner# 被装饰函数
def func():print('我是一棵小树苗')func=disc(func)
func()

7.如何加载一个文本文件并获取其中最长的英文单词?

编程思路:
- 打开文件获取数据【with open('path','r',encoding='utf-8') as file:- 清洗数据【去除非英文字符,分割为单词】
- 比较单词长度【直接用max(单词列表,key=len)或使用len()函数遍历比较】
import redef find_longest_english_word(file_path):# 打开文件并读取内容with open(file_path, 'r', encoding='utf-8') as file:content = file.read()# 清洗数据:移除所有非英文字母字符,并转换为小写cleaned_content = re.sub(r'[^a-zA-Z]', ' ', content).lower()# 将文本分割成单词列表(连续的英文字母视为一个单词)words = cleaned_content.split()# 过滤出仅包含英文字母的单词(确保没有残留的非字母字符)english_words = [word for word in words if word.isalpha()]# 处理空文件的情况if not english_words:return None# 使用max函数找到最长的单词longest_word = max(english_words, key=len)return longest_word# 使用示例
if __name__ == "__main__":file_path = "example.txt"  # 替换为实际文件路径longest_word = find_longest_english_word(file_path)if longest_word:print(f"最长的英文单词是: {longest_word},长度为 {len(longest_word)}")else:print("文件中未找到英文单词。")

8.is 和 == 的区别是什么?

is:判断两个对象是否指向同一内存地址
一般判断对象是否是:NoneTrueFalse
==:判断两个值是否相等

9.range 是什么?

- Python的一个内置函数,用于生成不可变的整数序列
- 参数:range(start,stop,step)
.开始【包含】
.结束【不包含】
.步长【可以为负值,此时start必须大于stop才是有效的】

10.给你一个数字序列,怎么求其中的质数?

质数:大于1且只能被1和本身整除
ls=[1,3,5,7,9]
判断思路:
- n<=1  小于等于1不是质数
- n==2  2是质数,其他偶数都不是质数
- n>2    奇数,检查从3到n的算数平方根能否整除
- 遍历列表执行上面三步操作
【注意】:
- 如果序列很长,可以使用迭代器获取列表内的值,节省内存
- 对于超大规模序列,可以考虑使用多进程/多线程加速判断

11.怎么改变 list 的类型,比如如何把一个列表变成一个集合或者一个元组?

在python中直接使用内置函数转换就可以
list_set=set(list)【会自动去重】
list_tuple=tuple(list)

12.知道 reduce 函数吗?其作用是什么?

reduce函数是一种高阶函数
作用:对序列进行累计,这里的累计可以是加减乘除
ls=[1,2,3,4,5]
reduce(lambda x,y:x*y,ls)=1*2*3*4*5=120

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TinyPiXOS组件开发(一):开发规范、组件开发方法介绍,快速上手组件开发,创造各种有趣的UI组件!

本文将通过实现一个点击切换进度的电量指示灯组件和exampleGUI组件库介绍如何基于TinyPiXOS开发新组件。主要内容包括组件开发规范、自定义组件开发和组件库开发三部分。 组件开发规范 命名规范 采用tp开头命名组件类&#xff0c;名称具备易读性。 目录规范 头文件放置 in…

主流熔断方案选型指南

主流熔断方案选型1. Netflix Hystrix (经典但已停止维护)适用场景&#xff1a;传统Spring Cloud项目&#xff0c;需要快速集成熔断功能优点&#xff1a;成熟稳定&#xff0c;社区资源丰富与Spring Cloud Netflix套件无缝集成提供熔断、降级、隔离等完整功能缺点&#xff1a;已停…

Django中get()与filter()对比

在 Django 中&#xff0c;get() 和 filter() 是 QuerySet API 中用于检索数据的两个核心方法&#xff0c;它们的功能和使用场景有明显区别。以下是详细对比&#xff1a; 1. 核心区别特性get()filter()返回值单个对象&#xff08;模型实例&#xff09;查询集&#xff08;QuerySe…

MySQL锁(一) 概述与分类

1.1 MySQL锁的由来 客户端发往 MySQL 的一条条 SQL 语句&#xff0c;实际上都可以理解成一个个单独的事务&#xff08;一条sql语句默认就是一个事务&#xff09;。而事务是基于数据库连接的&#xff0c;每个数据库连接在 MySQL 中&#xff0c;又会用一条工作线程来维护&#x…

PyTorch里的张量及张量的操作

张量的简介 张量是多重线性映射在给定基下的坐标表示&#xff0c;可视为向量和矩阵的泛化。 0 维张量&#xff1a;标量&#xff08;如 5&#xff09;1 维张量&#xff1a;向量&#xff08;如 [1, 2, 3]&#xff09;2 维张量&#xff1a;矩阵&#xff08;如 [[1, 2], [3, 4]]&…

向量数据库Faiss vs Qdrant全面对比

Faiss vs Qdrant 全面对比表 向量数据库是一种相对较新的方式,用于与来自不透明机器学习模型(如深度学习架构)派生的抽象数据表示进行交互。这些表示通常被称为向量或嵌入(embeddings),它们是用于训练机器学习模型完成诸如情感分析、语音识别、目标检测等任务的数据的压…

2025年AIR SCI1区TOP,缩减因子分数阶蜣螂优化算法FORDBO,深度解析+性能实测

目录1.摘要2.蜣螂优化算法DBO原理3.改进策略4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流1.摘要 传统DBO存在探索与开发能力失衡、求解精度低以及易陷入局部最优等问题。因此&#xff0c;本文提出了带有缩减因子分数阶蜣螂优化算法&#xff08;FORDBO&#xff0…

爬虫逆向之JS混淆案例(全国招标公告公示搜索引擎 type__1017逆向)

案例https://ctbpsp.com/#/ 截至2025.07.19可用 定位加密位置 加密位置&#xff1a; 定位方式&#xff0c;XHR&#xff0c;跟栈 跟栈 QL打断点&#xff0c;重新断住 分析为&#xff0c;一个函数传入四个参数 var QL QI[d9(Nv.mQ)](QJ, Qh, Qv, this[d9(Nv.m9)][0xa1a * …

Hive常用命令总结

一、数据库操作 -- 创建数据库&#xff08;默认路径&#xff09; CREATE DATABASE IF NOT EXISTS myhive;-- 指定路径创建数据库 CREATE DATABASE myhive2 LOCATION /myhive2;-- 查看数据库信息 DESC DATABASE myhive;-- 删除数据库&#xff08;强制删除表&#xff09; DROP DA…

Spring整合MyBatis详解

Spring整合MyBatis详解一、整合优势与核心思路1.1 整合优势1.2 核心整合思路二、环境搭建与依赖配置2.1 开发环境2.2 Maven依赖配置三、整合配置&#xff08;核心步骤&#xff09;3.1 数据库配置文件&#xff08;db.properties&#xff09;3.2 Spring配置文件&#xff08;sprin…

Windows CMD(命令提示符)中最常用的命令汇总和实战示例

CMD命令汇总 下面是 Windows CMD&#xff08;命令提示符&#xff09;中最常用的命令汇总&#xff0c;共 30 个&#xff0c;包含说明和典型代码示例&#xff0c;适合日常开发、系统操作、文件管理、网络诊断等场景。一、文件与目录操作&#xff08;最常用&#xff09;命令说明示…

嵌入式硬件篇---舵机(示波器)

舵机是一种高精度的角度控制执行器件&#xff0c;广泛应用于机器人、航模、自动化设备等领域。其核心特点是能通过控制信号精准定位到特定角度&#xff08;通常范围为 0-180&#xff0c;部分可到 360 连续旋转&#xff09;。常见的舵机类型可根据结构、控制方式、用途等维度划分…

嵌入式硬件篇---按键

按键是电子系统中最基础的人机交互部件&#xff0c;通过机械或电子方式实现电路通断或状态切换。根据结构和工作原理的不同&#xff0c;常见按键可分为机械按键、薄膜按键、触摸按键等&#xff0c;以下详细介绍其工作原理、应用场景及电路特点&#xff1a;一、机械按键&#xf…

试用SAP BTP 06:AI服务-Data Attribute Recommendation

创建实例 方法一&#xff1a;BTP主控室-子账户-服务市场 输入实例配置信息&#xff0c;下一步 不用参数&#xff0c;下一步 审核实例&#xff0c;点击创建 实例创建完成后&#xff0c;创建服务键值 输入键值名称&#xff0c;点击 创建 方法二&#xff08;建议&#xff09;&…

训诂学中的“形音义互求”对NLP、知识图谱、注意力机制的启示

一、训诂学与现代人工智能结合的学术价值与技术潜力1. ​​训诂学的核心优势与AI语义分析的契合点​​训诂学作为中国传统学术中研究古代文献语义的核心学科&#xff0c;其方法论和理论框架对自然语言处理&#xff08;NLP&#xff09;的深层语义分析具有深刻的启发性和技术补充…

http基础一

1. HTTP是什么&#xff1f; HTTP&#xff08;超文本传输协议&#xff0c;HyperText Transfer Protocol&#xff09;是一种用于从万维网服务器传输超文本到本地浏览器的协议。它是无状态的客户端-服务器协议&#xff0c;通常在Web浏览器和Web服务器之间用于传输网页、图片、视频…

西门子 S7-1500 系列 PLC CPU 选型全指南:从类型到实战

在西门子 S7-1500 系列 PLC 的系统构建中&#xff0c;CPU 作为核心控制单元&#xff0c;其选型直接决定了自动化系统的性能、功能扩展性和适用场景。本文将系统解析 S7-1500 系列 CPU 的类型划分、核心参数、典型型号功能及选型流程&#xff0c;助你精准匹配工业控制需求。一、…

PaddleOCR 与 PaddleX 调试

PaddleOCR 与 PaddleX 调试1.安装1.1 环境准备1.2用Conda创建虚拟环境2.测试2.1发票测试2.2 手写汉字识别3.PaddleOCR 与 PaddleX 对比3.1 基于 PaddleX 部署 OCR 服务1.安装 PP OCR 文档 1.1 环境准备 根据自己操作系统按网上指导安装 ccache ccache --version是否已安装 …

imx6ull-系统移植篇11——U-Boot 移植(下)

目录 前言 移植过程 添加开发板默认配置文件 添加开发板对应的头文件 添加开发板对应的板级文件夹 修改Makefile 文件 修改imximage.cfg 文件 修改Kconfig 文件 修改MAINTAINERS 文件 修改 U-Boot 图形界面配置文件 编译 uboot LCD 驱动修改 修改源文件 修改头文…

30天打牢数模基础-模拟退火算法讲解

二、完整Python代码 import random import mathdef rastrigin(x, y):"""二维Rastrigin函数&#xff08;目标函数&#xff0c;需最小化&#xff09;参数&#xff1a;x: 自变量xy: 自变量y返回&#xff1a;函数值f(x,y)"""return 20 x**2 y**2 …