当前位置: 首页 > news >正文

python基础面试题(其二)

十一, 常用的字符串处理

常见操作——查找

        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从头匹配

相关文章:

  • openh264 帧间预测编码过程源码分析
  • 《纪元 1800》好玩吗? 苹果电脑能玩《纪元 1800》吗?
  • Vue路由守卫的使用
  • GPT3.5的PPO目标函数怎么来的:From PPO to PPO-ptx
  • 5个超实用1688选品技巧!轻松出单999+
  • 蓝牙芯片NRF51822/NRF51802/NRF52810/NRF52811的详解区别
  • 分数计算 中级题目
  • C++青少年简明教程:异常处理
  • 压缩列表(ziplist)
  • 基于LangChain-Chatchat实现的RAG-本地知识库的问答应用[3]-参数配置详细版
  • 【启明智显分享】国产HMI芯片Model系列:平头哥内核,SDK开源贯彻到底!
  • MySQL-DDL(Data Definition Language)
  • 腾讯云点播ugc upload | lack signature 问题处理
  • Excel和Word等工具小技能分享汇编(一)
  • ffmpeg把视频文件转码为MP4格式
  • Android优雅地处理按钮重复点击
  • FineReport中如何实现自动滚屏效果
  • httpie使用详解
  • JavaScript创建对象的四种方式
  • Javascript弹出层-初探
  • MD5加密原理解析及OC版原理实现
  • React系列之 Redux 架构模式
  • vuex 学习笔记 01
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 高性能JavaScript阅读简记(三)
  • 回流、重绘及其优化
  • 记录:CentOS7.2配置LNMP环境记录
  • 如何合理的规划jvm性能调优
  • 用mpvue开发微信小程序
  • 用Visual Studio开发以太坊智能合约
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 湖北分布式智能数据采集方法有哪些?
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​用户画像从0到100的构建思路
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Qt) 默认QtWidget应用包含什么?
  • (Ruby)Ubuntu12.04安装Rails环境
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (回溯) LeetCode 77. 组合
  • (力扣)1314.矩阵区域和
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十) 初识 Docker file
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net 中viewstate的原理和使用
  • .net8.0与halcon编程环境构建
  • .Net--CLS,CTS,CLI,BCL,FCL