python基础面试题(其二)

news2025/4/6 22:54:03

十一, 常用的字符串处理

常见操作——查找

        string.find(str, beg=0,end=len(string))

                检测str是否包含在string中,如果beg和end指定范围,则检查是否在指定范围内,如果是返回开始的索引值,则返回-1

        string.rfind(str, beg=0, end=len(string))

                类似于find函数,不过是从右边开始查找

        string.index(str, beg=0, end=len(string))

                类似于find函数,但是找不到报异常

        string.rindex(str, beg=0, end=len(string))

                类似于find函数,但是找不到报异常。

常见操作——统计

        string.startswith(obj, beg=0, end=len(string))

                检查字符串是否以obj开头, 是则返回True, 否则返回False。如果beg和end指定值,则在指定范围内检查。

        string.endswith(obj,beg=0, end=len(string))

                检查字符串是否以obj结尾,是则返回TRUE,否则返回False. 如果beg和end指定值,则在指定范围内检查。

        string.isalnum()所有字符串都是字母或是数字则返回True,否则返回False

        string.isalpha()所有字符都是字母返回True, 否则返回False

        string.isdigit()所有字符都是数字返回True,否则返回False

        string.isupper()所有字符都是大写则返回True,否则返回False

        string.islower()所有字符都是小写则返回false

        string.isspace()只包含空格返回True,否则返回False

常见操作——大小写

        string.capitalize()

                把字符串的第一个字符大写

        

        string.upper()

                转换string中小写字母为大写

        string.lower()

                转换string中大写字母为小写

常见操作——对齐

        string.ljust(width)

                返回一个原字符串左对齐,并使用空格填充至长度width的新字符串

        string.rjust(width)

                返回一个原字符串右对齐,并使用空格填充至长度width的新字符串

        string.center(width)

                返回一个原字符串居中,并使用空格填充至长度width的新字符串

常见操作——裁剪

        string.strip([obj])

                删除string字符串前后的obj,如果不传参数,删除前后空格

        

        string.lstrip([obj])

                删除string字符串左面的obj, 如果不传参数,删除左面空格

        string.rstrip([obj])

                删除string字符串右面的obj,如果不传参数,删除右面空格

常见操作——合并

        string.jion(seq)

                以string作为分割符,将seq中所有的元素(的字符串表示)合并为一个新的字符串

十二, 排序算法你了解多少?哪些是稳定的?

十三, 简单说一下如何实现序列化?有什么不同

一种用json进行文本特定格式序列化

pickle依赖python环境, 可读性和跨环境性较差, 数据类型适配强 使用方便

json不依赖python环境 可读性和跨环境性较强, 数据类型适配性差 不支持对象

Protobuffer谷歌出的技术,效率相对更高,一般在游戏开发中使用较多

xml类似html的文本格式, 一般用于配置和网络传输

十四, 如何漫游一个文件目录?有哪两种方式

自定义递归方法,或者使用os.walk

十五, 谈谈深浅拷贝

浅拷贝引用自身及应用指向的第一级内容

深拷贝拷贝每一条数据 原数据和拷贝数据完全独立

十六, gc的回收时机以及回收机制

gc回收时机:

1,程序退出

2, 当gc模块的计数器达到阀值的时候

3, 强制执行回收, 即调用gc.collect()

回收机制

1,引用机制

2, 标记-清除

3, 分代收集

十七, 谈谈对闭包的理解

闭包语法:

        函数套函数, 内部函数引用外部函数的局部变量

效果:

        可以实现外部函数局部变量的私有化和持久化

python中多用于装饰器

闭包是函数化编程的重要技术手段

主要依赖函数内部函数来保持函数状态

纯函数化语言也多用于模拟面向对象

十八, 谈谈对装饰器的理解

装饰器本质上是一种特殊的闭包

作用:

        1, 不违背开闭原则情况下对函数进行前处理和后处理

        2, 逻辑功能函数进行切面式统一管理

十九, 可迭代,迭代器, 生成器(列表)的区别

可迭代是指对象可以被循环迭代

迭代器在可迭代的基础上追加了next功能 支持按需迭代数据

生成器是利用惰性机制进行按需产生数据,节省内存空间

二十, 正则模块中search和match的区别

search匹配第一个

match从头匹配

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

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

相关文章

python-求f(x,n)

[题目描述] 输入: 输入 𝑥和 𝑛。输出: 函数值,保留两位小数。样例输入1 4.2 10 样例输出1 3.68 来源/分类(难度系数:一星) 完整代码如下: x,nmap(eval,input().split(…

Internet Download Manager ( 极速下载器 ) 序列号注册码 IDM下载器注册机中文激活破解版

IDM下载器(Internet Download Manager)是一款专业的下载管理软件,它通过多线程技术和智能文件分段技术,有效提升下载速度,并支持断点续传,还具有计划下载功能,用户可以设置特定的下载时间,非常适合需要在特…

推荐一款可以下载B站视频和音频的工具

cobalt是一个免费的下载网站,主要是用于载视频和音频。只要你把相应的网址复制下来,然后打开cobalt网站,黏贴网址,选择要下载的格式,就可以下载相应的音频或者视频了。 该网站非常简洁,使用也很简单。目前只…

RK3568平台(触摸篇)触摸屏基本原理

一.触摸屏概述 触摸屏作为一种新的输入设备,它是目前最简单、方便、自然的一种人机交互方式。 触摸屏又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置;当接触了屏幕上的图形按钮时,屏幕上的触觉…

大话C语言:第24篇 预处理

1 C语言编译流程 C语言的编译流程包括: 预编译:将.c 中的头文件展开、宏展开,生成的文件是.i 文件。gcc指令:gcc -E file.c -o file.i 编译:将预处理之后的.i 文件生成 .s 汇编文件。gcc指令:gcc -S file…

编译一个叫:未来的IDE-Zed编辑器(Windows平台)

一、前言 截止到2024-6-15,Zed官方并未给出Windows的二进制安装包,如果想在Windows平台使用的话需要自己编译,我是如何编译的请随我道来,有兴趣的码友可以尝试下,在下可不敢保证各位码友按我这方法能100%编译出来&…

流量卡怎么办理的攻略

一、确定需求 在办理流量卡之前,你需要明确自己的需求。根据不同的使用场景,你可能需要考虑以下几个方面: 月租费用:不同运营商提供的流量卡套餐价格各异,从低至19元到高达199元不等。 流量大小:从30GB到3…

CompletableFuture.runAsync的多线程下异步操作

CompletableFuture.runAsync的多线程下异步操作 🧰业务使用场景 ​CompletableFuture.runAsync()​方法是Java中用于创建异步任务的工具,它可以在后台线程中执行指定的任务,并且可以在任务完成后返回结果或执行后续操作。这种方式可以实现多…

Elixir学习笔记——别名、需要、导入和使用

为了便于软件重用,Elixir 提供了三个指令(alias、require 和 import)以及一个名为 use 的宏,总结如下: # 为模块添加别名,以便可以将其称为 Bar 而不是 Foo.Bar alias Foo.Bar, as: Bar # 需要模块才能使…

数字化校园:打造未来教育新风尚

在21世纪的教育蓝图中,"数字化校园"正逐渐从愿景走向现实,它不仅是科技进步与教育创新深度融合的产物,更是重塑教育生态、引领未来学习风尚的关键力量。随着云计算、大数据、人工智能等前沿技术的蓬勃发展,传统的教育模…

基于RandLA-Net深度学习模型的激光点云语义分割

一、场景要素语义分割部分的文献阅读笔记 RandLA-Net是一种高效、轻量级的神经网络,其可直接逐点推理大规模点云的语义标签。RandLA-Net基于随机点采样获得了显著的计算和内存效率,并采用新的局部特征聚合模块有效地保留了几何细节,弥补了随机…

warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略

文章目录 warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略概述笔记备注END warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略 概述 基于ATL的COM DLL导出函数,无法用__declspec(dllexport)直接在函数上标记为导出函数。 只…

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …

Linux基础命令[29]-chown

文章目录 1. chown 命令说明2. chown 命令语法3. chown 命令示例3.1 修改属主3.2 修改属组3.3 修改属主和属组3.4 修改文件夹所属 4. 总结 1. chown 命令说明 chown:更改文件的用户或用户组,需要 root 用户或 sudo 权限的用户执行该命令。基本信息如下&…

Elixir学习笔记——模块属性

Elixir 中的模块属性有三个用途: 1.作为模块和函数注释 2.作为编译期间使用的临时模块存储 3.作为编译时常量 让我们检查一下这些示例。 作为注释 Elixir 引入了 Erlang 中的模块属性概念。例如: 在上面的例子中,我们使用模块属性语法定义…

使用GNU Gcov Lcov生成C++单元测试代码覆盖率报告

最近在统计C项目代码的单元测试覆盖率 发现通过gcov和lcov就能将代码单元测试覆盖率定量化和可视化 下面是基于gtest测试框架,对gcov和lcov生成覆盖率的简单示例 工作流程 主要有三个步骤 向GCC编译添加特殊的编译选项以生成可执行文件和*.gcno 运行&#xff08…

Vue3 生命周期函数及其与Vue2的对比总结

Vue3 继续保留了 Vue2 的生命周期钩子,但在 Composition API(setup 函数)中,它们被改为了一组导入函数。以下是它们的对比: Vue2 生命周期钩子和 Vue3 对应的生命周期函数: 在 Vue3 中,所有的…

TJA1145休眠唤醒调试

目录 项目场景:TJA1145引脚图问题描述SPI链路验证休眠唤醒休眠唤醒配置唤醒报文配置代码相关寄存器:模式寄存器使能CAN唤醒设置唤醒边沿检测事件状态及捕获寄存器CANFD报文不会被识别为有效的唤醒帧项目场景: 最近开发过程中,选择了这颗芯片,踩了很多坑,总算是把这个芯片…

【C语言】解决C语言报错:Undefined Reference

文章目录 简介什么是Undefined ReferenceUndefined Reference的常见原因如何检测和调试Undefined Reference解决Undefined Reference的最佳实践详细实例解析示例1:缺少函数定义示例2:函数声明和定义不匹配示例3:未链接必要的库示例4&#xff…

UWB技术定位系统源码,智慧工厂人员定位系统,独特的射频处理,配合先进的位置算法

UWB技术定位系统源码,高精度人员定位系统源码,智慧工厂人员定位系统源码,室内定位系统源码 本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有…