一、条目
list()
表达式能储存两个原素,而条目是两个“大罐子”能储存N数个原素,流程能方便快捷的对那些统计数据展开总体操作方式
条目相等于其它词汇中的字符串
条目原素按次序科学规范次序
条目能放置多次重复统计数据
任一正则表达式混存
依照须要Contiki和拆解缓存
加进两个原素 append
加进数个原素 extend
在任一边线加进两个原素insert
remove 从条目中去除两个选定原素,假如有多次重复的原素只去除第两个原素
pop 依照检索去除原素假如不选定检索会删掉条目的最终两个原素
del 去除条目中的大部份原素
sort()预设或边排序模块 reverse=True 则表示倒序排序
sorted()对条目展开次序,将造成两个捷伊条目第一类
条目生成式 lst[i for i in range(1,10)]
二、元组子集
tuple()
不可变序列:字符串、元组
不可变序列是没有增删改的操作方式
假如元组中只有两个原素,逗号不能省 T3= (python,)
set()子集
内置统计数据结构
可变类型的序列
add()一次加进两个原素
update()至少天机啊两个原素
remove()一次删掉两个选定原素
discard()一次删掉两个选定原素,原素不存在不报异常
pop()一次只删掉两个任一原素
clear()清空子集
两个子集是否是另两个子集的子集 issubset()
两个子集是否是另两个子集的超子集issuperset()
两个子集是否含有交集 isdisjoint()
交集 intersection()&
并集 union()
差集 difference()-
对称差集 symmetricdifference()^
子集生成式 s ={ i*i for i in range(10)}
三、字符串
字符串驻留机制的优缺点:
当须要值相同的字符串时,能直接从字符串池里拿来使用,避免频繁的创建和销毁,提升效率和节约缓存,
因此拼接字符串和修改字符串是会比较影响性能的。
在须要展开字符串拼接时建议使用str类型的join方法,而非+,因为join()方法是先计算出大部份字符中的长度,然后再拷贝,
只new一次第一类,效率比“+”效率高
查找
index()查找字串substr第一次出现的边线,假如查找的字串不存在时,则抛出ValueError
rindex()查找子串substr最终一次出现的边线,假如查找的字串不存在时,则抛出ValueError
find()查找子串substr第一次出现的边线,不存在返回-1
rfind()查找子串substr最终一次出现的边线,不存在则返回-1
转换
upper()把字符串中大部份字符转换为大写字母
lower()把字符串中大部份字符转换为小写字母
swapcase()把字符串中大部份大写字母转换成小写字母,把大部份小写字母转换成大写字母
capitalize()把第两个字符转换为大写,把其余字符转换成小写
title()把每个单词的第两个字符转换为大写,把每个单词的剩余字符转换为小写
对齐
center()居中对齐
ljust()左对齐
rjust()右对齐
zfill()右对齐使用0填充
分割
split()从字符串的左边开始分割,预设的分割字符是空格字符串,返回的值是两个条目 maxsplit选定分割多少
rplit()从右侧开始分割
判断
isidentifier()判断字符串是否是合法的标识符
isspace()判断字符串是否全由空白字符组成(回车、换行、水平制表符)
isalpha()判断字符串是否全是字母
isdecimal()判断字符串是否全啥十进制数字组成
isnumeric()判断字符串是否全由数字组成
isalnum()判断字符串是否有字母和数字
replace()第两个模块替换给第二个
join()将条目或者元组中的字符串合并为两个字符串
编码转换
encode(encoding=GBK)编码
decode(encoding=GBK)解码
四、函数
函数:执行特定任何以完成特定功能的一段代码
服用代码隐藏实现细节提高可维护性提高可读性便于调试
函数返回数个值时,结果为元组
*args(两个星号传递可变的边线模块,返回值是两个元组)
**args (两个星号传递个数可变的关键字模块,返回值是两个字典)
五、BUG
try:
except BaseException as e :
print(出错了,e)
else:
finally:
traceback 模块打印异常信息储存到日志文件中
六、类
类的组成:类属性、实例方法、静态方法、类方法
在类之外定义的称为函数,类之内定义的称为方法
类属性:类中方法外的表达式称为类属性,被该类的大部份第一类所共享
类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
封装:提高流程的安全性
将统计数据(属性)和行为(方法)包装到类第一类中。在方法内部对属性展开操作方式,在类第一类的外部调用方法。
这样,无需关心方法内部的具体实现细节,从而隔离了复杂度。
在python中没有专门的修饰符用于属性的私有,假如该属性不希望再类第一类外部被访问,前边使用两个””。
继承:提高代码的复用性
多态:提高流程的可扩展性和可维护性
七、字典
dict()
python内置的统计数据结构之一,与条目一样是两个可变序列
以键值对的方式储存统计数据,字典是两个无序的序列
python中的字典是依照key查找value所在的边线
字典的键值(key)不能多次重复,值(value)能多次重复
字典中的key必须是不可变第一类
字典也能依照须要动态地伸缩
字典会浪费较大的缓存,是一种使用空间换时间的统计数据结构
字典生成式:
items =[Fruits,Books,Others]
prices =[96,78,85]
d ={item price for item,price in zip(items,prices)}
Python 为字典类型提供了items()方法,items()方法会将字典里的大部份的键与值一起返回。
例如,餐馆有两个菜单包含了菜名和价格信息,菜名和价格顾客都须要知道,能通过遍历输出menu字典的键和值来实现:
对于餐馆中的厨师来说,他们并不想要知道菜的价格,只须要知道菜名然后将其做出来就行。所以对于厨师来说,
我们须要遍历menu字典中的大部份菜名。Python 为字典类型内置了keys()方法,该方法会将字典里的键遍历出来。
对于餐馆中的收银员来说,他们可能并不想知道菜单的菜名,只须要知道菜的价格,然后收账即可。
所以对于收银员来说,我们须要遍历menu字典中的大部份菜的价格。Python 为字典类型内置了values()方法,该方法会将字典里的值遍历出来。
七、深拷贝和浅拷贝
表达式的赋值操作方式:只是形成两个表达式,实际上还是指向同两个第一类
浅拷贝:python拷贝一般都是浅拷贝,拷贝时,第一类包含的子第一类内容不烤贝,
因此,源第一类与拷贝第一类会引用同两个子第一类
深拷贝:使用copy模块的deepcopy函数,递归拷贝第一类中包含的子第一类,
源第一类和拷贝第一类大部份的子第一类也不相同
八、常用的内容模块
sys 与python解释器及其环境操作方式相关
time 提供与时间相关的各种函数
os 访问操作方式系统服务功能
calendar 与日期相关的各种函数
urllib 读取来自网上(服务器)的统计数据
json 使用json序列化和反序列化第一类
re 用于在字符串中执行正则表达式匹配和替换
math 标准算术运算
decimal 展开精确控制运算精度、有效位数和四舍五入操作方式的十进制运算
logging 灵活的记录事件、错误、警告和调试信息等日志信息的功能
九、os模块操作方式目录相关函数
getcwd()返回当前的工作目录
os.system()打开系统文件
os.startfile()打开应用流程
listdir(path)返回选定路径下的文件和目录信息
mkdir(path[,mode])创建目录
makedirs(path1/path2…[,mode])创建多级目录
rmdir(path)删掉目录
removedirs(path1/path2……)删掉多级目录
chdir(path)将path设置为当前工作目录
十、os.path模块操作方式目录相关函数
exists(path)用于判断文件或目录是否存在,假如存在返回True,否在返回Flase
join(path,name)将目录与目录或者文件名拼接起来
splitext()分离文件名和扩展名
bashname(path)从两个目录中提取文件名
dirname(path)从两个路径中提取文件路径,不包括文件名
isdir(path)用于判断是否为路径