Python | Python常用函数、方法示例总结(API)


目录
  • 前言
  • 1. 运算相关
  • 2. Sring与数字
  • 3. 列表相关
  • 4. 集合相关
  • 5. 序列化类型
  • 6. 字典相关
  • 7. 输入输出
  • 8. 文件相关
  • 9. json模块
  • 10. unittest测试模块
  • 11. time模块
  • 12. random模块
  • 13. jieba模块
  • 最后


前言

参考资料

  • 《Python编程:从入门到实战》;
  • MOOC慕课北理的嵩天教授的Python课程;

结合语法基础

本篇会实时更新,学到啥模块就更新啥模块的方法。重点放在常用函数、方法的总结,类似Java里API。主要起“字典”的作用,即忘了有啥方法才来查,因此做了些减法。结合来看可能效果会好一些;


1. 运算相关

x,y,z为某个数字;list为列表

  • abs(x):求x的绝对值;
  • divmod(x, y):商余,同时输出商和余数,divmod(10, 3) ---> (3, 1);
  • pow(x, y):幂运算,x**y;
  • pow(x, y, z):幂余,(x**y)%z;
  • round(x):四舍五入,不保留小数;
  • round(x, d):四舍五入,保留d位小数;
  • min(list):获取数字列表中的最小值;
  • max(list):获取数字列表中的最大值;
  • sum(list):获取数字列表中的总和;
  • int(x):将x取整,摄取小数部分;
  • float(x):将x变成浮点数,增加小数部分;
  • complex(x):将x变成复数,增加虚数部分;

2. Sring与数字

string为某个字符串;num为某个数字;firstNum为第一个数字;lastNum为最后一个数字;step为步长;u为unicode编码字符;old为老的子串;new为新的子串;sep为分隔的子串规则;fillchar为填充的字符;chars为字符;

字符串的操作方法

  • string.title():让每个单词的首字母都改成大写;
  • string.lower():字符串全字符小写;
  • string.upper():字符串全字符大写;
  • string.replace(old, new):所有old的子串被new子串替换;
  • string.center(num):根据宽度num将字符串居中;
  • string.center(num, fillchar):根据宽度num将字符串居中,其余字符使用fillchar填充;
  • string.rstrip():删去字符串末尾的空白;
  • string.lstrip():删去字符串开头的空白;
  • string.strip():同时删去字符串两端空白;
  • string.strip(chars):删去字符串两边出现的字符chars;
  • new.join(string):在string变量中除最后元素外每个元素后增加一个new子串;

字符串的获取功能

  • string.count('xxx'):获取xxx在string中出现的次数;
  • string.split():以空格为分隔符将字符串拆分成多个部分,并储存在一个列表里;
  • string.split(sep):返回列表,根据sep将字符串分隔;
  • len(string):获取字符串的长度;
  • chr(u):返回u编码的字符x;
  • ord(x):获取x的Unicode编码;

其他类型转字符串的方法

  • str(num):将数字num转换成字符串;
  • hex(num):将数字num转成十六进制字符串;
  • oct(num):将数字num转成八进制字符串;

字符串切片(同列表切片)

  • string[firstNum: lastNum: step]:根据步长对字符串切片;
  • string[::-1]:倒转字符串;

字符串的格式化

  • "{} {}".format("hello", "world"):不设置指定位置,按默认顺序输出 hello world;
  • "{1} {0} {1}".format("hello", "world"):设置指定位置,输出 world hello world;
  • format函数传入对象:
    class AssignValue(object):
        def __init__(self, value):
            self.value = value
    my_value = AssignValue(6)
    print('value 为: {0.value}'.format(my_value))  # "0" 是可选的
    

数字的格式化

  • {字符串模板}.format(用逗号分隔的字符串参数):使用字符串模板格式化字符串参数;
  • format格式化函数的字符串模板,如下图所示:
    format格式化函数的字符串模板
  • 数字格式化示例:
    数字格式化示例

字符串反转函数

def rvs(s):
	if s == "" :
		return s
	else :
		return rvs(s[1:])+s[0]


3. 列表相关

list为某个列表;object为列表中的某个元素;index为列表的索引;firstNum为第一个数字;lastNum为最后一个数字;num为某个数字;

创建列表的示例

  • bicycles = [ 'trek', 'cannondale', 'redline']
  • list= []:创建空列表;

数字列表的创建与操作功能

  • range(firstNum, lastNum):生成一系列数字,包含firstNum,不包含lastNum。通常在遍历时使用,如for num in range(1, 5):
  • range(firstNum, lastNum, step):指定步长生成一系列数字,包含firstNum,不包含lastNum,步长为step;
  • list(range(firstNum, lastNum)):生成数字列表,包含firstNum,不包含lastNum;
  • list = [num**2 for num in range(1s, 11)]:使用列表解析生成数字列表;
  • min(list):获取数字列表中的最小值;
  • max(list):获取数字列表中的最大值;
  • sum(list):获取数字列表中的总和;

列表的增删功能

  • list.append(object):将object元素添加到列表末尾;
  • list.insert(index, object):将object元素添加到列表任意位置,需要指定索引index;
  • del list[index]:删除list列表里指定索引index的元素;
  • list.pop():弹出列表末尾元素;
  • list.pop(index):弹出列表中指定索引index的元素;
  • list.remove(object):将列表中元素object删除,只删除第一个指定的值;
  • list.clear():删除列表所有元素;

列表的操作功能

  • list.sort():根据首字母对列表进行排序,永久性修改;
  • list.sort(reverse = True):按字母顺序相反的顺序排列列表元素,永久性修改;
  • sorted(list):根据首字母对列表进行排序,临时性修改;
  • sorted(list, reverse=True):按字母顺序相反的顺序排列列表元素,临时性修改;
  • list.reverse():反转列表排列顺序;
  • tuple(list):将列表类型转变为元祖类型,实现数据保护;
  • list1[i: j: k] = list2:用列表list2替换list1切片后说对应元素子列表;
  • list *= n:将列表list重复n次,并更新;

列表的获取功能

  • len(list):获取list列表的长度;
  • list[firstNum: lastNum]:切片,获取索引为firstNum到lastNum-1的元素组成新列表(可用于遍历部分列表、复制列表);
  • list[: lastNum]:切片,获取从头开始到lastNum-1的元素组成新列表;
  • list[firstNum:]:切片,获取索引为firstNum到列表末尾的元素组成新列表(当first为负数时,为倒数几个);
  • list.copy():生成新列表,复制list中所有元素;

4. 集合相关

S、T为集合;x为集合中的元素

集合的操作符

  • S | T:并集,所有元素;
  • S - T:差集;
  • S & T:交集,同时包含;
  • S ^ T:补集,非相同元素;
  • S <= T 或 S < T:判断S和T的子集关系;
  • S >= T 或 S > T:判断S和T的包含关系;
  • S |= T:并集;
  • S -= T:差集;
  • S &= T:交集;
  • S ^= T:补集;

集合的处理方法

  • S.add(x):若S中无x,则将x加入S;
  • S.discard(x):移除元素x,若x不在S中,不报错;
  • S.remove(x):移除元素x,若x不在S中,产生KeyError异常;
  • S.clear():移除所有元素;
  • S.pop():随机返回一个元素,并更新S,若S为空则产生KeyError异常;
  • S.copy():返回集合S的一个副本;
  • len(S):返回集合S的元素个数;
  • x in S:判断x是否在S中;
  • x not in S:判断x是否不在S中;
  • set(x):将其他类型变量转变为集合类型;

5. 序列化类型

序列是一个基类类型,由字符串、元祖、列表构成。x为元素;S、T为序列;n为数字;i、j为索引;k为步长;

序列化通用操作符

  • x in S:判断x是否在S中;
  • x not in S:判断x是否不在S中;
  • S + T:连接两个序列;
  • S*n:将序列S复制n次;
  • S[i]:返回第i个元素;
  • S[i: j]:切片,含i不含j;
  • S[i: j: k]:切片,以k为步长,含i不含j;
  • len(S):返回序列S的长度,即元素个数;
  • min(S):返回序列中的最小值;
  • max(S):返回序列中的最大值;
  • S.index(x):返回序列S第一次出现x的位置;
  • S.index(x, i, j):返回序列S从i到j第一次出现x的位置;
  • S.count(x):返回序列S中出现x的总次数;

6. 字典相关

map为某个字典;key为键;value为值;

创建字典的示例

  • alien0 = {'color': 'green', 'points': 5}
  • map = {}:创建空字典;
  • 由类似对象组成字典,如下:
    favorite_languages = {
        'jen': 'python',
        'sarah': 'ruby',
        'edward': 'ruby',
        'phil': 'python',
        }
    

字典的获取功能

  • map[key]:根据key获取value,如果key为字符串需要用引号标识;
  • map.items():返回字典中所有键值对的信息。可用于用于map字典的遍历,如:for key, value in map.items():
  • map.keys():返回字典中所有键的信息。可用于遍历map字典的键,如:for object in map.keys():
  • map.values():返回字典中所有值的信息。可用于遍历map字典的值,如:for object in map.values():
  • set(map.values()):遍历map字典的值,剔除重复项;
  • map.get(key, ):若键存在,则返回相应值,不存在则返回值;
  • map.pop(key, ):若键存在,则返回相应值,不存在则返回值;
  • map.popitem():随机从字典map中取出一个键值对,以元祖形式返回;
  • len(map):获取map中的元素个数;

字典的操作功能

  • map[key] = value:给map字典新增一对键值对 / 或修改某键的值;
  • del map[key]:删除map字典中键]为key的键值对;
  • map.clear():删除所有的键值对;

字典的判断功能

  • key in map:判断键key是否在字典map中;

7. 输入输出

content作为变量储存用户输入;message为提示用户的信息,将打印在控制台;

  • content = input("mesage"):获取用户输入内容(在Python 2.7里使用raw_input()函数);
  • print(content):将content打印输出到控制台;

8. 文件相关

xxx.txt是一个txt文件;file_object为文件对象;

打开文件的示例

with open('xxx.txt') as file_object:
    contents = file_object.read()
    print(contents)
  • open('xxx.txt'):以只读方式打开文件,操作文件的前置工作。待操作文件需要与程序在同一目录下,或者使用相对路径 \ ;
  • open('xxx.txt', 'w'):以写入方式打开文件,不换行。其他参数还有r读取、a附加、r+读写;
  • close('xxx.txt'):关闭文件;
  • file_object.read():读取文件;
  • file_object.readlines():将文件各行存储在一个列表里;

9. json模块

content是要操作的内容;file_object是文件对象;json是模块名

  • json.dump(content, file_object):将content内容存入文件对象;
  • json.load(file_object):将文件对象里的内容加载;

10. unittest测试模块

self是Python的关键字,用于方法中;a为程序员编写方法的运行结果;b为该函数的预期结果;

  • unittest.TestCase:unittest模块里的测试类,所有测试类都要继承TestCase类;
  • unittest.main():让Python运行文件中的测试;
  • setUp(self):构建前置条件的方法,在一个测试类中只执行一次;

常用的断言方法

  • self.assertEqual(a, b):核实 a == b;
  • self.assertNotEqual(a, b):核实 a != b;
  • self.assertTrue(a):核实a为 True;
  • self.assertFalse(a):核实a为 False;
  • self.assertIn(item, list):核实item在list中;
  • self.assertNotIn(item, list):核实item不在list中;

11. time模块

formatStr为格式化控制符组成的字符串;timeStr为具有某种格式的时间字符串;second为数字,表示秒;

时间获取

  • time():获取当前时间戳,即计算机内部时间值,返回浮点数;
  • ctime():获取当前时间并以易读方式表示,返回字符串;
  • gmtime():获取当前时间,表示为计算机可处理的时间格式;

格式化控制符

格式化字符串 日期/时间说明 值范围
%Y 年份 0000~9999,如:2021
%m 月份 01~12,如:0
%B 月份名称 January~December,如:April
%b 月份名称缩写 Jan~Dec,如:Apr
%d 日期 01~31,如:21
%A 星期 Monday~Sunday,如:Wednesday
%a 星期缩写 Mon~Sun,如:Wed
%H 小时(24h制) 00~23,如:12
%l 小时(12h制) 01~12,如:7
%p 上/下午 AM,PM
%M 分钟 00~59
%S 00~59

时间格式化

  • strftime(formatStr, time.gmtime()):定义输出效果timeStr,将计算机可处理的时间以特定格式返回;
  • strptime(timeStr, formatStr):定义输入效果,将特定格式的时间转换成计算机可处理的时间格式;

程序计时

  • perf_counter():返回CPU级别的精确事件计数值,单位秒;
  • sleep(second):程序休眠second秒,可以是浮点数;

12. random模块

a、b为数字;k为数字,表示步长;seq表示序列

基本随机数函数

  • seed(a):初始化给定随机数种子,默认为当前系统时间。产生种子a对应的序列;
  • random():生成一个[0.0 , 1.0)之间的随机小数;

扩展随机数函数

  • randint(a, b):生成一个[a , b]之间的整数;
  • randrange(a, b):生成一个[a, b)之间的随机整数;
  • randrange(a, b, k):生成一个[a, b)之间以k为步长的随机整数;
  • getrandbits(a):生成一个a比特的随机整数;
  • uniform(a, b):生成一个[a, b]之间的随机小数;
  • choice(seq):从序列seq中堆积选择一个元素;
  • shuffle(seq):将序列seq中的元素随机排列,返回打乱后的序列;

13. jieba模块

jieba库是一个优秀的中文分词第三方库。string为一串中文字符串;

  • lcut(string):精确模式,返回一个列表类型的分词结果(中国, 是, 一个, 伟大, 的, 国家);
  • lcut(string, cut_all=True):全模式,返回一个列表类型的分词结果,存在冗余(中国, 国是, 一个, 伟大, 的, 国家);
  • lcut_for_search(string):搜索引擎模式,返回一个列表类型的分词结果,存在冗余(中华, 华人, 人民, 共和, 共和国, 中华人民共和国, 是, 伟大, 的);
  • add_word(string):向分词词典增加新词string;


最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!