ToB企服应用市场:ToB评测及商务社交产业平台

标题: Python cheatsheet 速查表 [打印本页]

作者: 愛在花開的季節    时间: 2024-9-8 15:48
标题: Python cheatsheet 速查表
Python 速查表中文版

目录

常规

获取资助

模块(库)

Python的模块只是一个简单地以 .py 为后缀的文件。
:import语句会创建一个新的命名空间(namespace),并且在该命名空间内执行.py文件中的全部语句。如果你想把模块内容导入到当前命名空间,请使用from module1 import *语句。
数值类类型

查看变量的数据类型:type(variable)
六种经常使用的数据类型


数据结构

:全部的“非只读(non-Get)”函数调用,好比下面例子中的list1.sort(),除非特别声明,都是原地操作(不会创建新的对象)。
元组

元组是 Python 中任何类型的对象的一个一维、固定长度、不可变的序列。
  1. # 创建元组
  2. tup1 = 4, 5, 6
  3. tup1 = (6, 7, 8)
  4. # 创建嵌套元组
  5. tup1 = (4, 5, 6), (7, 8)
  6. # 将序列或迭代器转化为元组
  7. tuple([1, 0, 2])
  8. # 连接元组
  9. tup1 + tup2
  10. # 解包元组
  11. a, b, c = tup1
复制代码
元组应用
  1. # 交换两个变量的值
  2. a, b = b, a
复制代码
列表

列表是 Python 中任何类型的对象的一个一维、非固定长度、可变(好比内容可以被修改)的序列。
  1. # 创建列表
  2. list1 = [1, 'a', 3]
  3. list1 = list(tup1)
  4. # 连接列表
  5. list1 + list2
  6. list1.extend(list2)
  7. # 追加到列表的末尾
  8. list1.append('b')
  9. # 插入指定位置
  10. list1.insert(PosIndex, 'a')
  11. # 反向插入,即弹出给定位置的值/删除
  12. ValueAtIdx = list1.pop(PosIndex)
  13. # 移除列表中的第一个值, a 必须是列表中第一个值
  14. list1.remove('a')
  15. # 检查成员
  16. 3 in list1 => True or False
  17. # 对列表进行排序
  18. list1.sort()
  19. # 按特定方式排序
  20. list1.sort(key=len) # 按长度排序
复制代码

内置的bisect模块

:bisect 模块中的函数并不会去检查列表是否排序好,由于这会花费很多时间。所以,对未排序好的列表使用这些函数也不会报错,但大概会返回不正确的效果。
针对序列类型的切片

序列类型包罗str、array、tuple、list等。
用法:
  1. list1[start:stop]
  2. # 如果使用 step
  3. list1[start:stop:step]
复制代码

step 的应用:
  1. # 取出奇数位置的元素
  2. list1[::2]
  3. # 反转字符串
  4. str1[::-1]
复制代码
字典(哈希表)
  1. # 创建字典
  2. dict1 = {'key1': 'value1', 2: [3, 2]}
  3. # 从序列创建字典
  4. dict(zip(KeyList, ValueList))
  5. # 获取/设置/插入元素
  6. dict1['key1']
  7. dict1['key1'] = 'NewValue'
  8. # get 提供默认值
  9. dict1.get('key1', DefaultValue)
  10. # 检查键是否存在
  11. 'key1' in dict1
  12. # 获取键列表
  13. dict1.keys()
  14. # 获取值列表
  15. dict1.values()
  16. # 更新值
  17. dict1.update(dict2)  # dict1 的值被 dict2 替换
复制代码

有效字典键类型

集合

函数

Python 的函数参数通报是通过引用通报
返回值

匿名函数(又称 LAMBDA 函数)

一些有用的函数(针对数据结构)

控制流

面向对象编程

常见字符串操作
  1. # 通过分隔符连接列表/元组
  2. ', '.join([ 'v1', 'v2', 'v3']) => 'v1, v2, v3'
  3. # 格式化字符串
  4. string1 = 'My name is {0} {name}'
  5. newString1 = string1.format('Sean', name = 'Chen')
  6. # 分裂字符串
  7. sep = '-';
  8. stringList1 = string1.split(sep)
  9. # 获取子串
  10. start = 1;
  11. string1[start:8]
  12. # 补 '0' 向右对齐字符串
  13. month = '5';
  14. month.zfill(2) => '05'
  15. month = '12';
  16. month.zfill(2) => '12'
  17. month.zfill(3) => '012'
复制代码
异常处理处罚

列表、字典以及元组的推导表达式

使代码更加易读易写的语法糖。
单元测试

Python自带unittest模块,可供我们编写单元测试。
  1. import unittest
复制代码
我们可以编写继承于unittest.TestCase测试类的子类,并在子类中编写具体的测试函数。测试函数命必须以test_开头,否则不会被识别为测试函数,进而不会在运行单元测试时被运行。
  1. class TestSubclass(unittest.TestCase):
  2.     def test_func(self):
  3.         self.assertEqual(0, 0)
  4.         # 可以通过msg关键字参数提供测试失败时的提示消息
  5.         self.assertEqual(0, 0, msg='modified message')
  6.         self.assertGreater(1, 0)
  7.         self.assertIn(0, [0])
  8.         self.assertTrue(True)
  9.         # 测试是否会抛出异常
  10.         with self.assertRaises(KeyError):
  11.             _ = dict()[1]
  12.     # 被@unittest.skip装饰器装饰的测试类或测试函数会被跳过
  13.     @unittest.skip(reason='just skip')
  14.     def test_skip(self):
  15.         raise Exception('I shall never be tested')
复制代码
另外,unittest.TestCase中还有两个特殊的成员函数,他们分别会在调用每一个测试函数的前后运行。在测试前毗连数据库并在测试完成后断开毗连是一种常见的使用场景。
  1. def setUp(self):
  2.     # To do: connect to the database
  3.     pass
  4. def tearDown(self):
  5.     # To do: release the connection
  6.     pass
  7. def test_database(self):
  8.     # To do: test the database
  9.     pass
复制代码
测试类编写完毕后,可以通过添加以下代码来将当前文件当成正常的Python脚本使用
  1. if __name__ == '__main__':
  2.   unittest.main()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4