30个Python常用小技巧.docx
- 文档编号:2205030
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:10
- 大小:18.73KB
30个Python常用小技巧.docx
《30个Python常用小技巧.docx》由会员分享,可在线阅读,更多相关《30个Python常用小技巧.docx(10页珍藏版)》请在冰豆网上搜索。
30个Python常用小技巧
30个Python常用小技巧
1、原地交换两个数字
1
2
3
4
x, y =10, 20
print(x, y)
y, x = x, y
print(x, y)
1020
2010
2、链状比较操作符
1
2
3
n = 10
print(1 < n < 20)
print(1 > n <= 9)
True
False
3、使用三元操作符来实现条件赋值
[表达式为真的返回值]if[表达式]else[表达式为假的返回值]
1
2
3
y = 20
x = 9 if (y == 10) else 8
print(x)
8
#找abc中最小的数
1
2
3
4
5
6
def small(a, b, c):
return a if a
print(small(1, 0, 1))
print(small(1, 2, 2))
print(small(2, 2, 3))
print(small(5, 4, 3))
0
1
3
3
1
2
3
# 列表推导
x = [m**2 if m>10 else m**4 for m in range(50)]
print(x)
[0,1,16,81,256,625,1296,2401,4096,6561,10000,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024,1089,1156,1225,1296,1369,1444,1521,1600,1681,1764,1849,1936,2025,2116,2209,2304,2401]
4、多行字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
multistr = "select * from multi_row \
where row_id < 5"
print(multistr)
select * from multi_row where row_id < 5
multistr = """select * from multi_row
where row_id < 5"""
print(multistr)
select * from multi_row
where row_id < 5
multistr = ("select * from multi_row"
"where row_id < 5"
"order by age")
print(multistr)
select * from multi_rowwhere row_id < 5order by age
5、存储列表元素到新的变量
1
2
3
testList = [1, 2, 3]
x, y, z = testList # 变量个数应该和列表长度严格一致
print(x, y, z)
123
6、打印引入模块的绝对路径
1
2
3
4
5
6
import threading
import socket
print(threading)
print(socket)
\\python351\\lib\\threading.py'> \\python351\\lib\\socket.py'> 7、交互环境下的“_”操作符 在python控制台,不论我们测试一个表达式还是调用一个方法,结果都会分配给一个临时变量“_” 8、字典/集合推导 1 2 3 4 testDic = {i: i * i for i in range(10)} testSet = {i * 2 for i in range(10)} print(testDic) print(testSet) {0: 0,1: 1,2: 4,3: 9,4: 16,5: 25,6: 36,7: 49,8: 64,9: 81} {0,2,4,6,8,10,12,14,16,18} 9、调试脚本 用pdb模块设置断点 1 2 import pdb pdb.ste_trace() 10、开启文件分享 python允许开启一个HTTP服务器从根目录共享文件 1 python -m http.server 11、检查python中的对象 1 2 test = [1, 3, 5, 7] print(dir(test)) ['__add__','__class__','__contains__','__delattr__','__delitem__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__iadd__','__imul__','__init__','__iter__','__le__','__len__','__lt__','__mul__','__ne__','__new__','__reduce__','__reduce_ex__','__repr__','__reversed__','__rmul__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','append','clear','copy','count','extend','index','insert','pop','remove','reverse','sort'] 1 2 test = range(10) print(dir(test)) ['__class__','__contains__','__delattr__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__iter__','__le__','__len__','__lt__','__ne__','__new__','__reduce__','__reduce_ex__','__repr__','__reversed__','__setattr__','__sizeof__','__str__','__subclasshook__','count','index','start','step','stop'] 12、简化if语句 1 2 3 4 # use following way to verify multi values if m in [1, 2, 3, 4]: # do not use following way if m==1 or m==2 or m==3 or m==4: 13、运行时检测python版本 1 2 3 4 import sys if not hasattr(sys, "hexversion") or sys.version_info ! = (2, 7): print("sorry, you are not running on python 2.7") print("current python version: ", sys.version) sorry,youarenotrunningonpython2.7 currentpythonversion: 3.5.1(v3.5.1: 37a07cee5969,Dec 62015,01: 54: 25)[MSCv.190064bit(AMD64)] 14、组合多个字符串 1 2 3 test = ["I", "Like", "Python"] print(test) print("".join(test)) ['I','Like','Python'] ILikePython 15、四种翻转字符串、列表的方式 5 3 1 16、用枚举在循环中找到索引 1 2 3 test = [10, 20, 30] for i, value in enumerate(test): print(i, ': ', value) 0: 10 1: 20 2: 30 17、定义枚举量 1 2 3 4 5 6 class shapes: circle, square, triangle, quadrangle = range(4) print(shapes.circle) print(shapes.square) print(shapes.triangle) print(shapes.quadrangle) 0 1 2 3 18、从方法中返回多个值 1 2 3 4 def x(): return 1, 2, 3, 4 a, b, c, d = x() print(a, b, c, d) 1234 19、使用*运算符unpack函数参数 1 2 3 4 5 6 7 def test(x, y, z): print(x, y, z) testDic = {'x': 1, 'y': 2, 'z': 3} testList = [10, 20, 30] test(*testDic) test(**testDic) test(*testList) zxy 123 102030 20、用字典来存储表达式 1 2 3 4 5 6 stdcalc = { "sum": lambda x, y: x + y, "subtract": lambda x, y: x - y } print(stdcalc["sum"](9, 3)) print(stdcalc["subtract"](9, 3)) 12 6 21、计算任何数的阶乘 1 2 3 import functools result = (lambda k: functools.reduce(int.__mul__, range(1, k+1), 1))(3) print(result) 6 22、找到列表中出现次数最多的数 1 2 test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4, 4] print(max(set(test), key=test.count)) 4 23、重置递归限制 python限制递归次数到1000,可以用下面方法重置 1 2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 30 Python 常用 技巧