工作中Python常用函数学习总结

本文详细介绍了Python中常用的函数及数据结构操作方法,包括字符串处理、列表操作、元组使用等核心内容,适合初学者及有经验的开发者巩固基础知识。

**

工作中Python常用函数学习总结

**
声明:该文章的内容来自于网络的归纳总结,不断更新中,欢迎收藏,点赞评论,以及提供更多工作常用的函数。
1.\表示反斜杠本身行末单独的一个\表示在下一行继续,而不是新的一行。
2.原始字符串 r
3.字符串可以由 + 操作符连接,可以由 * 操作符重复
4.字符串不可变向字符串文本的某一个索引赋值会引发错误。不过,组合文本内容
5.生成一个新文本简单而高效。切片操作有个有用的不变性:i[😒] + i[s:] 等于 i
6.值被转换为字符串的两种机制:str、repr,str 函数:把值转换为合理形式的字符串
7.repr:创建一个字符串,以合法的 Python 表达式的形式来表示值
8.input 与 raw_input:区别是 raw_input()直接读取
9.控制台的输入(任何类型的输入它都可以接收),而 input()在接收字符串的时候需要加上引号,否则会引发错误。此外,在接收纯数字方面,input()具有自己的特性,并不是像 raw_input()一样把所有输入都当做字符串看待。除此之外,input()会接收合法的python 表达式 1 + 2 返回 int 型的 3。
10.字符串大小写变换:lower() 小写 upper() 大写 swapcase() 大小写互换 capitalize() 首字符大写 title()只有首字符大写,其余为小写用于转换字符串为标题 string 模块的 capwords 函数
11.字符串在输出时候的对齐:ljust(width,[fillchar]):左对齐,输出 width 个字符,不足部分用 filchar 补足,默认的为空格 rjust(width,[fillchar]):右对齐。center(width,[fillchar]):中间对齐。zfill(width):把字符串变成 width 长,并在右对齐,不足部分用 0 补足。
12.字符串中的搜索和替换及其他常用方法:find(subsrt,[start,[end]]) :返回字符串中第一个出现 substr 的第一个字母的标号,如果没有 subser 则返回-1。start 和 end 的作用相当于在[start:end]中搜索。index(subsrt,[start,[end]]):与 find 一样,只是在字符串中没有 substr 时,会返回一个运行时错误。rfind(subsrt,[start,[end]]):返回字符串中最后出现 substr 的第一个字母的标号,如果字符串中没有 substr,返回-1.同理还有:rindex(subsrt,[start,[end]])。count(subsrt,[start,[end]]):计算 substr 在字符串中出现的次数。replace(oldstr,newstr,[count]):把字符串中的 oldstr 替换为 newstr,count为替换的次数。strip([char]):把字符串中前后有 char 的字符全部去掉,默认去掉空格 当然还有 lstrip([char])、rstrip([char])
13.join 方法用来在队列中添加元素,但需要添加的队列元素都必须是字符串
14.split 方法用来将字符串分割成序列:’/usr/bin/env’.split(’/’)
15.translate 方法也是替换字符串中的的某些部分,但只处理单个字符。它的优势在于可以同时进行多个替换,有些时候比 replace 效率高的多。使用 translate 转换之前,需要完成一张转换表,通过 string 模块里的 maketrans 函数完成。maketrans 函数接受两个参数:两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中的相同位置的字符替换:translate 的第二个参数是可选的,用来指定要删除的字符
16.字符串格式化:%操作符左侧放置一个需要格式化的字符串,这个字符串带有一个或多个嵌入的转换目标,都可以以%开始。如果需要在格式化字符串里面包括百分号,那么必须使用%%。%右边放置一个或者多个对象,这些对象将会插入到左边想进行格式化字符串的一个或者多个转换目标位置上。如果要格式化实数(浮点数),可以使用 f 说明符类型,同时提供所需要的精度:一个句点再加上希望所保留的小数位数。
17. 基本的转化说明符:1.%字符:标记转换说明符的开始2.转换标志:-(减号)表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示正数之前保留空格;0 表示转换值若位数不够则用 0 补充,3.最小字段宽度:转化后的字符串至少应该具有该值指定的宽度,如果是*,则宽度会从值元组中读出4.点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就是表示最大字段宽度。如果是*,那么精度就会从元组中读出。
18.字符串格式化转换类型:c:字符 f,F:十进制浮点数
19.d,i:带符号的十进制整数 o:不带符号的八进制
20.n:不带符号的十进制 C:单字符(接受整数或者单字符字符串)
21.x:不带符号的十六进制(小写) X:不带符号的十六进制(大写)
22.e:科学计数法表示的浮点数(小写) E:科学计数法表示的浮点数(大写)
23.g:如果指数大于-4 或者小于精度值则和 e 相同,其他情况与 f 相同
24.G:如果指数大于-4 或者小于精度值则和 E 相同,其他情况与 F 相同
25.r:字符串(使用 repr 转换任意 Python 对象)
26.s:字符串(使用 str 转换任意 Python 对象)
27.字段宽度和精度:两个参数都是整数(首先是字段宽度,然后是精度),通过点号(.)分隔
28.符号,对齐和 0 填充:
29.比较字符串:使用 cmp()函数,当两个字符串一样的时候,返回 0。当 s 是 t 的一部分的时候cmp(s,t) 返 回 -1 , 相 反 s 长 于 t 的 时 候 返 回 1 。 也 可 以 对 指 定 的 长 度 比 较cmp(s[m:n],t[z,p])
30.模板字符串 string 模块提供另外一种格式化值的方法:模板字符串。substitute 这个模板方法会用传递进来的关键字参数 foo 替换字符串中的$foo。
31.数据结构:数据结构基本上就是用来存储一组相关数据的。Python 有一种名为容器的数据结构,容器基本上是包含其他对象的任意对象。序列(Python 有 6 种内建序列:列表、元组、字符串、Unicode 字符串、buffer 对象、xrange 对象)和映射(例如字典)是
32.两类主要容器。序列中的每个元素都有自己的编号,而映射中的每个元素则有一个名字(也称为键)。既不是序列也不是映射的容器类型。列表:list 是处理一组有序项目的数据结构,列表是可变的数据类型(可以修改元素),支持原处修改对象操作。列表的元素不必是同一类型。但列表和字符串是无法连接在一起的,两种相同类型的序列才能进行连接操作。
33.索引与分片的赋值是原地进行的,是对列表的直接修改,而不是产生新的列表作为结果。
34.列表方法:
35.append(x):把一个元素添加到列表的结尾
36.extend(L):将 L 中的所有元素添加到对象列表中
37.insert(i, x):在指定位置插入一个元素
38.remove(x):删除列表中值为 x 的第一个元素,如果没有这样的元素,就会返回一
39.个错误。
40.pop()从列表中删除指定位置的元素,并将其返回。a.pop()默认返回(删除)最后一个元素。
41.index(x)返回列表中第一个值为 x 的元素的索引,如果没有匹配的元素就会返回一
42.个错误。
43.sort()对列表中的元素就地进行排序(直接修改了调用它的对象)。
44.natsort()自然排序
45.reverse()就地倒排列表中的元素。
46.count(x)返回 x 在链表中出现的次数。
47.获取已排序的列表副本的方法是,sorted 函数,这个函数可以用于任何序列,却总是返回一个列表
48.高级排序:cmp、key、reverse 参数都可用于 sort()函数
49.双端队列:把列表当队列使用(先进先出):双端队列(Double-ended queue 或称 deque)在需要按元素增加的顺序来移除元素时非常有用。collections 模块中的 deque 类型(它为在首尾两端快速插入和删除而设计)。双端队列通过可迭代对象(比如集合)创建,而且有些非常用用的方法。双端队列好用的原因是它能有效地在开头(左侧)增加和弹出元素,这是在列表中无法实现的。除此之外,它还能够有效地旋转(rotate)元素(也就是将它们左移或右移,使头尾相连)比如q.append .appendleft q.pop() q.popleft() q.rotate(3) q.rotate(-1)
50.对于列表来讲,有三个内置函数非常有用:fileter,map,reduce:
51.filter(function, sequence) 返 回 一 个 序 列 , 包 括 了 给 定 序 列 中 所 有 调 用function(item)后返回值为 True 的元素(如果可能的话,会返回相同的类型)。如果该序列是一个字符串或者元组,它返回值必定是同一类型,否侧,它总是 list。
52.map(function, sequence) 为每一个元素依次调用 function(item) 并将返回值组成一个链表返回。可以传入多个序列,函数也必须要有对应数量的参数,执行时会依次用各序列上对
53.应的元素来调用函数(如果某些序列比其它的短,就用 None 来代替)。如果把 None
54.做为一个函数传入,则直接返回参数做为替代。
55.reduce(func, sequence) 返回一个单值,它是这样构造的:首先以序列的前两个
56.元素调用函数 function,再以返回值和第三个参数调用,依次执行下去,如果序列中只有一个元素,就返回它,如果序列是空的,就抛出一个异常。
57.列表推导式:
58.列表推导式提供了一个创建链表的简单途径,无需使用 map(),filter()以及 lambda。
59.以定义方式得到列表通常要比使用构造函数创建这些列表更清晰。每一个列表推导式包
60.括在一个 for 语句之后的表达式,零或多个 for 或 if 语句。返回值是由 for 或 if 子 句之后的表达式得到的元素组成的列表。如果想要得到一个元组,必须要加上括号。
61.嵌套的列表推导式:
62.函数 zip() zip(mat)
63.删除语句:
64.当两个变量同时引用一个列表的时候:y = x[:]与 y = x 不同,前者是得到完全复制 x 后的另一个列表 y,后者是 x 与 y 指的同一个列表。
65.元组:元组通常用在使语句或者用户定义的函数能够安全的采用一组值的时候,即被使用的元祖的值不会改变。元组也是一个序列。一个元组由数个逗号分隔的值组成
66.lower()方法语法:str.lower() 返回值:返回将字符串中所有大写字符转换为小写后生成的字符串。
67.27.sys.getsizeof()
68.获取程序中声明的一个整数,存储在变量中的大小
69.28.os.path.getsize(path)
70.获取指定路径 path 下的文件的大小,以字节为单位
71.Python writerow/writerows
72.方法1:单行写入
73.with open(‘xxxx.csv’,‘w’,newlines=’’) as f:
74. writer = csv.writer(f) #创建初始化写入对象
75. writer.writerow([‘color’,‘red’]) # 一行一行写入 [‘color’,‘red’]
76.
在windows里,csv保存得到的文件是每空一行储存一条数据,使用newlines=’'可保证存储存的数 据不空行。
77.方法2:多行写入
78.with open(‘xxxx.csv’,‘w’) as f:
79. writer = csv.writer(f)
80.writer.writerows([(‘color’,‘red’),(‘size’,‘big’),(‘male’,‘female’)]) #多行写入
81. join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。str.join(sequence)
str = “-”;
seq = (“a”, “b”, “c”); # 字符串序列
print str.join( seq );
a-b-c

82.tofile()和fromfile()
tofile()将数组中的数据以二进制格式写进文件
tofile()输出的数据不保存数组形状和元素类型等信息
fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改
83.arr.transpose转置,X轴用0表示,Y轴用1表示;Z轴用2来表示
84.os.path.expanduser 把path中包含的""和"user"转换成用户目录
85.os.path.isdir()用于判断对象是否为一个目录
86.os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
87.np.bincount() 统计出现的次数
88.os.chdir(要切换到的新路径)
89.np.transpose交换矩阵维度
90.call__所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call()。
91.hasattr() 函数用于判断对象是否包含对应的属性,hasattr(object, name),如果对象有该属性返回 True,否则返回 False
92.os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。在Unix,Windows中有效。os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
93.os.environ.get
94.os.path.dirname(file)
95.sys.argv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值