python--面试题--基础题
join() 和 split() 函数
join() 函数可以将指定的字符添加到字符串中。
a=['my', 'name', 'shi', 'wzngz']
print('.'.join(a))
输出结果:my.name.shi.wzngz
split() 函数可以用指定的字符分割字符串
a="my name shi wzngz "
print(a.split())
输出结果:['my', 'name', 'shi', 'wzngz']
1、解释//、%、* *运算符?
//(Floor Division)-这是一个除法运算符,它返回除法的整数部分。
例如:5 // 2 = 2
%(模数)-返回除法的余数。
例如:5 % 2 = 1
**(幂)-它对运算符执行指数计算。a ** b表示a的b次方。
例如:5 ** 2 = 25、5 ** 3 = 125
2、Python中append,insert和extend的区别?
append:在列表末尾添加新元素。
insert:在列表的特定位置添加元素。
extend:通过添加新列表来扩展列表。
例子:
numbers = [1,2,3,4,5]
numbers.append(6)
print(numbers)
[1,2,3,4,5,6]
insert(position,value)
numbers.insert(2,7)
print(numbers)
[1,2,7,3,4,5,6]
numbers.extend([7,8,9])
print(numbers)
[1,2,7,3,4,5,6,7,8,9]
numbers.append([4,5])
[1,2,7,3,4,5,6,7,8,9,[4,5]]
3、break、continue、pass是什么?
break:在满足条件时,它将导致程序退出循环。
continue:将返回到循环的开头,它使程序在当前循环迭代中的跳过所有剩余语句。
pass:使程序传递所有剩余语句而不执行。
4、区分Python中的remove,del和pop?
remove:将删除列表中的第一个匹配值,它以值作为参数。
del:使用索引删除元素,它不返回任何值。
pop:将删除列表中顶部的元素,并返回列表的顶部元素。
- del——指定索引值删除
- # del 列表[索引值]
- del a_list[1]
- # 源列表:['Mecell', 18, 'Python', True, None, [1, 2, 3], 'Python']
- # del删除数据后的列表:['Mecell', 'Python', True, None, [1, 2, 3], 'Python']
- remove——默认移除第一个出现的元素
- # 列表.remove[删除对象]
- a_list.remove['Python']
- # 源列表:['Mecell', 18, 'Python', True, None, [1, 2, 3], 'Python']
- # remove删除数据后的列表:['Mecell', 18, True, None, [1, 2, 3], 'Python']
- 从结果可以看出,列表里面有两个'Python',但是实际上只是删除了第一个,最后一个并没有删除,这就是remove的特点,需要大家注意!
- pop——括号内不添加索引值,则默认删除列表中的最后一个元素;反之则默认根据索引值删除
- # 列表.pop() --删除最后一个元素
- a_list.pop()
- # 源列表:['Mecell', 18, 'Python', True, None, [1, 2, 3], 'Python']
- # pop删除数据后的列表:
- ['Mecell', 18, 'Python', True, None, [1, 2, 3]]
- # 列表.pop(索引值) --指定索引值删除
- a_list.pop(3)
- # 源列表:['Mecell', 18, 'Python', True, None, [1, 2, 3], 'Python']
- # pop删除数据后的列表:['Mecell', 18, 'Python', None, [1, 2, 3], 'Python']
解释Python中map()函数?
map()函数将给定函数应用于可迭代对象(列表、元组等),然后返回结果(map对象)。
我们还可以在map()函数中,同时传递多个可迭代对象。
numbers = (1, 2, 3, 4)
result = map(lambda x: x + x, numbers)
print(list(result))
zip函数
zip函数获取可迭代对象,将它们聚合到一个元组中,然后返回结果。
zip()函数的语法是zip(*iterables)
例子:
keys = ["name", "age", "city"]
values = ["Alice", 30, "New York"]
print(zip(keys,values))
r1 = list(zip(keys, values))
r2= dict(zip(keys, values))
print(r1)
print(r2)
输出
<zip object at 0x000001D449607800>
[('name', 'Alice'), ('age', 30), ('city', 'New York')]
{'name': 'Alice', 'age': 30, 'city': 'New York'}
5、举例说明Python中的range函数?
range:range函数返回从起点到终点的一系列序列。
range(start, end, step),第三个参数是用于定义范围内的步数。
number
for i in range(5):
print(i)
0,1,2,3,4
(start, end)
for i in range(1, 5):
print(i)
1,2,3,4
(start, end, step)
for i in range(0, 5, 2):
print(i)
0,2,4
6、==和is的区别是?
==比较两个对象或值的相等性。
is运算符用于检查两个对象是否属于同一内存对象。
lst1 = [1,2,3]
lst2 = [1,2,3]
lst1 == lst2
True
lst1 is lst2
False
7、如何更改列表的数据类型?
要将列表的数据类型进行更改,可以使用tuple()或者set()。
lst = [1,2,3,4,2]
更改为集合
set(lst) ## {1,2,3,4}
更改为元组
tuple(lst) ## (1,2,3,4,2)
8、Python中注释代码的方法有哪些?
在Python中,我们可以通过下面两种方式进行注释。
三引号,用于多行注释。
单井号#,用于单行注释。
9、什么是lambda函数?
Lambda函数是不带名称的单行函数,可以具有n个参数,但只能有一个表达式。也称为匿名函数。
a = lambda x, y:x + y
print(a(5, 6))
10、iterables和iterators之间的区别?
iterable:可迭代是一个对象,可以对其进行迭代。在可迭代的情况下,整个数据一次存储在内存中。
iterators:迭代器是用来在对象上迭代的对象。它只在被调用时被初始化或存储在内存中。迭代器使用next从对象中取出元素。
List is an iterable
lst = [1,2,3,4,5]
for i in lst:
print(i)
iterator
lst1 = iter(lst)
next(lst1)
1
next(lst1)
2
for i in lst1:
print(i)
3,4,5
11、Python中的生成器是什么?
生成器(generator)的定义与普通函数类似,生成器使用yield关键字生成值。
如果一个函数包含yield关键字,那么该函数将自动成为一个生成器。
A program to demonstrate the use of generator object with next() A generator function
def Fun():
yield 1
yield 2
yield 3
x is a generator object
x = Fun()
print(next(x))
1
print(next(x))
2
12、什么是pickling和unpickling?
pickling是将Python对象(甚至是Python代码),转换为字符串的过程。
unpickling是将字符串,转换为原来对象的逆过程。
13、解释*args和**kwargs?
*args,如果在参数名前加*,代表这个参数为可变参数
知识点如下:
传参时,接受任意的位置参数
会将其参数整体组装变成一个元组进行存储,整体赋值给变量名为*args
通过上面参数的科普,*args为位置参数
例子1:
def func(*args):
print(type(args))# 调用函数,传入2个数值
func(1, 2) # 输出的内容为 <class 'tuple'> ,通过元组的格式进行存储
例子2:
def add(* num):
sum = 0
for val in num:
sum = val + sum
print(sum)
add(4,5)
add(7,4,6)
9
17
**kwargs,是当我们想将字典作为参数传递给函数时使用的。
知识点如下:
传参数,接受任意的关键字参数
会将其参数整体组装变成一个字典进行存储,整体赋值给变量名为**kwargs
具体例子如下:
# 自定义函数
def func(**kwargs):
print(type(kwargs))
# 调用函数,传入2个数值
func(a=1 , b=2) # 输出的内容为 <class 'dict'> ,通过字典的格式进行存储
*args 和 **kwargs 结合
上文已经知道关键字参数要在位置参数之后
具体例子如下:
# 自定义函数,包含*args和**kwargs
def func(argument, *args, **kwargs):
print(argument) # 输出1
print(args) # 输出2
print(kwargs) # 输出3
相关文章:
python--面试题--基础题
join() 和 split() 函数 join() 函数可以将指定的字符添加到字符串中。 a[my, name, shi, wzngz] print(..join(a)) 输出结果:my.name.shi.wzngz split() 函数可以用指定的字符分割字符串 a"my name shi wzngz " print(a.split()) 输出结果ÿ…...
架构思维:软件建模与架构设计的关键要点
文章目录 1. 软件建模的核心概念2. 七种常用UML图及其应用场景类图时序图组件图部署图用例图状态图活动图 3. 软件设计文档的三阶段结构4. 架构设计的关键实践1. 用例图:核心功能模块2. 部署图:架构演进阶段3. 技术挑战与解决方案4. 关键架构图示例5. 架…...
【RNN神经网络】序列模型与RNN神经网络
前言 清库存。正式切入大模型后,打算把基础知识都梳理一遍,然后写了两篇就发现写不动了,后面就捡重要的记录。RNN知识仅此一篇记录,扫盲记录。 【自然语言处理】 (Natural Language Processing,NLP…...
Python文件管理
目录 一、文本文件读写 1、相关函数 2、读写文件 3、使用readline读取一行 4、读写文件的异常处理 5、添加内容 二、文本文件的编码 1、常见的编码 2、Python程序的编码 3、指定编码 三、文件的路径 1、相对路径 2、绝对路径 3、路径的改变 四、文件夹操作 五、…...
vue3 前端路由权限控制与字典数据缓存实践(附Demo)
目录 前言1. 基本知识2. Demo3. 实战 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 从实战中出发: 1. 基本知识 Vue3 和 Java 通信时如何进行字典数据管理 需要了解字典数据的结构。通常&#x…...
基于javaweb的SpringBoot精美物流管理系统设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...
【极光 Orbit·STC8x】05. GPIO库函数驱动LED流动
【极光 OrbitSTC8】05. GPIO库函数驱动LED流动 七律 逐光流转 八灯列阵若星河,状态为舟渡长波。 寄存器中藏玄机,Switch语句定山河。 循环往复如潮涌,步骤变量掌沉浮。 单片机前展锋芒,代码织就光之舞。 摘要 本文基于STC8H8K6…...
DeepSeek进阶应用(二):结合Kimi制作PPT(双AI协作教程)
🌟引言: DeepSeek作为国产AI大模型,以强大的逻辑推理和结构化内容生成能力著称,擅长根据用户需求生成PPT大纲或Markdown文本;Kimi的PPT助手则能解析结构化内容并套用模板快速生成美观的PPT,两者结合实现“内…...
【Aioredis实战总结】Aioredis简介
一、Aioredis简介 Aioredis 是一个基于Python asyncio框架的异步Redis客户端库,专为高并发场景设计。它允许开发者在不阻塞主线程的情况下执行Redis操作,显著提升I/O密集型任务(如Web应用的缓存、实时消息队列等)的性能。自4.2.0…...
SpringBoot——Maven篇
Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的工具。它具有许多特性,其中一些重要的特性包括: 1. 自动配置:Spring Boot 提供了自动配置的机制,可以根据应用程序的依赖和环境自动配置应用程序的各种组件ÿ…...
Python中的多态与Java、C#、C++中的多态的区别有哪些?
Python中的多态与Java、C#、C等静态类型语言的主要区别体现在以下几个方面: 1. 类型系统与多态实现方式 Python(动态类型,鸭子类型) 多态基于对象的行为(方法的存在性),而非继承或接口。只要对…...
卷积神经网络(知识点)
一、为了使特征图变小: 由两种方法:1.增大步长:卷积的时候不是一次一步,而是一次多步,类似一张图片,在原来的像素基础上,每隔一个取一个像素点。 其中S就是步长 注意:扩大步长不经…...
Vision Transformer (ViT):将Transformer带入计算机视觉的革命性尝试(代码实现)
Vision Transformer (ViT):将Transformer带入计算机视觉的革命性尝试 作为一名深度学习研究者,如果你对自然语言处理(NLP)领域的Transformer架构了如指掌,那么你一定不会对它在序列建模中的强大能力感到陌生。然而&am…...
特殊 IP 地址
文章目录 特殊IP地址概述受限广播地址(Limited Broadcast Address)直接广播地址(Directed Broadcast Address)多播地址(Multicast Address)环回地址(Loopback Address)本网络本主机&…...
数学——A. K-divisible Sum + D. Exam in MAC
A. K-divisible Sum 题目: 思路: 以下 “[xxx]” 符号均代表向上取整 我们假设总和是sum,那么就有sum k * cnt 要想最大值最小,肯定是要让sum尽可能小,这样每个元素都能变小 最小情况是 sum 恰好等于 n 时&#…...
30天学习Java第五天——数组 字符串
数组 一维数组 定义 int[] anArray;int anOtherArray[];初始化int anOtherArray[] new int[] {1, 2, 3, 4, 5}; 访问 anArray[0] 10;可变数组:void varargsMethod(String... varargs) {} 该方法可以接收任意数量的字符串参数,可以是 0 个或者 N 个…...
【DeepSeek应用】本地部署deepseek模型后,如何在vscode中调用该模型进行代码撰写,检视和优化?
若已成功在本地部署了 DeepSeek 模型(例如通过 vscode-llm、ollama 或私有 API 服务),在 VS Code 中调用本地模型进行代码撰写、检视和优化的完整流程如下: 1. 准备工作:确认本地模型服务状态 模型服务类型: 若使用 HTTP API 服务(如 FastAPI/Flask 封装),假设服务地址…...
2025年【广东省安全员C证第四批(专职安全生产管理人员)】考试及广东省安全员C证第四批(专职安全生产管理人员)模拟试题
安全生产是各行各业不可忽视的重要环节,特别是在广东省这样的经济大省,安全生产的重要性更是不言而喻。为了确保安全生产管理人员具备足够的专业知识和实际操作能力,广东省定期举办安全员C证考试。本文将详细介绍2025年广东省安全员C证第四批…...
网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
DAY12.1 Java核心基础 网络编程 在互联网时代,网络在生活中处处可见,javaWeb占据了很大一部分 那如何实现javaWeb编程呢? Web编程就是运行在同一个网络下面的终端,使得它们之间可以进行数据传输 计算机网络基本知识 计算机网络…...
JAVA面试_进阶部分_Java JVM:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)
在什么时候: 首先需要知道,GC又分为minor GC 和 Full GC(major GC)。Java堆内存分为新生代和老年代,新生代 中又分为1个eden区和两个Survior区域。 一般情况下,新创建的对象都会被分配到eden区ÿ…...
自探索大语言模型微调(一)
一、数据 1.1、失败案例 Hugging Face: 根据B站上搜索到的资料,datasets这个库可以直接下载丰富的数据集合和与训练模型,调用也非常的简单,唯一的缺点就是,需要外网(翻墙),用国内的…...
Unity 和 Python 的连接(通过SocketIO)附源码
在游戏或者项目开发中,Unity 通常用于创建前端,而 Python 则因其强大的数据处理能力常被用作后端。通过 Socket.IO,我们可以轻松地实现 Unity 和 Python 的实时通信。本文将介绍如何通过 Socket.IO 连接 Unity 和 Python,并附上完…...
89.HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可靠的应用
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可靠的应用 文章目录 HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可…...
浏览器对一个资源设置了缓存,如何清除缓存,且后续请求不命中缓存
方式1、浏览器端强制刷新 方式2、修改资源url eg:如下图,添加了查询参数 <link rel"stylesheet" href"style.css?v1.2.1"> <script src"app.js?t20231010"></script> 原理:1、在资源的…...
spring boot 发送邮件验证码
一、前置需求 1、准备邮箱 2、登录授权码 qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启服务 二、发送邮件 1、简单邮件 包含邮件标题、邮件正文 2、引入mail启动器 <dependency><groupId>org.springframework.boot</groupI…...
MySQL连接较慢原因分析及解决措施
文章目录 整体说明一、问题现象二、问题分析2.1、DNS反向解析问题2.2、网络问题2.3、SSL/TLS协商问题2.4、自动补全的延迟 三、问题解决 摘要: MySQL连接较慢原因分析及解决措施 关键词: MySQL、连接缓慢、客户端、参数设置 整体说明 在使用MySQL的时候…...
IMA+DeepSeekR1+本地知识库撰写NOIP2008普及组T3【传球游戏】题解
目录 一、提问词 二、DeepSeekR1回复 题目描述 解题思路 实现代码 代码说明 三、说明 【IMADeepSeekR1本地知识库】撰写NOIP2008普及组复赛题解系列 1、IMADeepSeekR1本地知识库撰写NOIP2008普及组T1【ISBN 号码】题解-CSDN博客 2、IMADeepSeekR1本地知识库撰写NOIP200…...
【大模型基础_毛玉仁】2.5 基于 Decoder-only 架构的大语言模型 -- GPT和LLaMa模型介绍
更多内容:XiaoJ的知识星球 目录 2.5 基于 Decoder-only 架构的大语言模型2.5.1 Decoder-only 架构2.5.2 GPT 系列语言模型1)初出茅庐:GPT-1 模型2)小有所成:GPT-2 模型3)崭露头角:GPT-3 模型4&a…...
如何解决ChatGPTplus/pro o1/o3模型无法识别图片或者文件,限制次数?
你是否遇到ChatGPTplus无法识别图片、或者无法识别文件,甚至回答很简短,o1不思考,GPT-4o不能联网、分析图片和处理文件!感觉非常敷衍。本文教你如何确定自己的账号是否被降智;教你如何降智的原因;教你解决降…...
go的gmp
参考链接:https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP调度模型(协程调度器)是其并发编程的核心。GMP代表Goroutine、Machine和Processor三个关键组成部分。Goroutine是Go语言中的轻量级线程,Machine是操作系统的线程,Processor…...
