十一, 常用的字符串处理
常见操作——查找
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从头匹配