本文记录一些 Python 日常编程中的小妙招 并使用 IPython 进行交互测试 让我们更好的了解和学习 Python 的一些特性。
两变量交换
语法
a, b b, a
IPython测试
In [1]: a 3 In [2]: b 5 In [3]: a, b b, a In [4]: a Out[4]: 5 In [5]: b Out[5]: 3
免去了利用一个临时变量进行过渡交互。
重复字符串
In [2]: love * 2 Out[2]: love love In [7]: for i in range(1, 10): ...: print( * * i) ...: ***** ****** ******* ******** *********
列表与字符串互相转换
假如有一个列表内容为 [ n , i , c , e ] 然后设法变成 字符串nice
字符串 0123456789 转成列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
语法
.join([ p , y , t , h , o , n ])
IPython测试
In [6]: li [ p , y , t , h , o , n ] In [7]: .join(li) Out[7]: python # 字符串转列表 In [11]: s 0123456789 In [12]: s list(s) In [13]: s Out[13]: [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
相对 for 循环进行拼接是不是简洁有效 字符串可以直接转列表。相互转换看看各自的 api 能不能排上用场。
多情况判空
假如一个变量可能是 , False, None, 0, [] 但都认为这样是 空 该如何判空呢
语法
a if a: print( 进不来 ) else: print( 空值 )
IPython测试
In [20]: a In [21]: if a: ...: print( 进不来 ) ...: else: ...: print( 空值 ) ...: In [22]: a False In [23]: if a: ...: print( 进不来 ) ...: else: ...: print( 空值 ) ...: In [24]: a None In [25]: if a: ...: print( 进不来 ) ...: else: ...: print( 空值 ) ...: In [26]: a 0 In [27]: if a: ...: print( 进不来 ) ...: else: ...: print( 空值 ) ...: In [28]: a [] In [29]: if a: ...: print( 进不来 ) ...: else: ...: print( 空值 ) ...:
多值一起判断
同时校验多个参数不是空值或含有空值
In [30]: a 1 In [31]: b In [32]: c True In [33]: all([a, b, c]) Out[33]: False In [34]: any([a, b, c]) Out[34]: Trueall() 是列表中所有元素都不为空为 True 反之只要有一个是 空值 则 Falseany() 是列表中有一个元素非空即为 True 所有元素为空才 False注意 空值 有 , False, None, 0, [] 然后就是需要装到一个统一的列表进行 all() , any() 判断
刚好可以验证上面的多情况判空。
In [54]: li Out[54]: [True, True, True, True] In [55]: all(li) Out[55]: True In [56]: any(li) Out[56]: True
all() 验证
# all 只要有一个是空值就False In [62]: all([False, True, True, True]) Out[62]: False In [66]: all([ , True, True, True]) Out[66]: False In [66]: all([None, True, True, True]) Out[66]: False In [66]: all([True, [], True, True]) Out[66]: False In [66]: all([True, 0, True, True]) Out[66]: False # all 全部非空才 True In [76]: li Out[76]: [ python , 3.14, [1, 2], True] In [77]: all(li) Out[77]: True
any() 验证
# 所有元素为空则 False In [82]: any([False, False, False, False]) Out[82]: False In [83]: any([False, , [], 0, None]) Out[83]: False # any 只要有一个非空就为 True In [86]: any([True, , [], 0, None]) Out[86]: True In [87]: any([False, 123 , [], 0, None]) Out[87]: True In [88]: any([False, , [1, 2], 0, None]) Out[88]: True In [89]: any([False, , [], 1, None]) Out[89]: True
尾语
✍ 用 Code 谱写世界 让生活更有趣。❤️
✍ 万水千山总是情 点赞再走行不行。❤️
✍ 码字不易 还望各位大侠多多支持。❤️



