每种语言都有一些方便操作的技巧,这些技巧可以使我们在编码过程中提高效率、增加代码的可阅读性。接下来分享一些Python的实用技巧。

打印分隔符

使用print中的参数sep进行换行,实现分隔线的快速打印

print('selenium','web','autotest',sep='\n------------\n')

打印结果:
selenium
------------
web
------------
autotest

变量交换

直接进行变量值的交换

a = 1
b = 2
a,b = b,a
print(a,b)

打印结果:
2 1

列表反转

使用切片方法将列表中的元素反转

list = [1,3,56,24,91]
reversed_list = list[::-1]
print(reversed_list)

打印结果:
[91, 24, 56, 3, 1]

链式使用

Python中可以非常方便地使用链式表达式,比如链式比较、链式调用等

a = 4
print(4 == a < 6)

打印结果:
True

使用三元操作符进行条件赋值

三元操作符是if-else语句也就是条件操作符的一个快捷方式,如果使用其进行条件赋值,使用如下方法:
【表达式为真的返回值】 if 【表达式】 else 【表达式为假的返回值】

def func(y):
    x = -1
    return x if (y>99) else 1

当y大于99时返回x值,否则将1赋值给x并返回

同时迭代两个列表

只用zip函数同时迭代两个列表

list = [1,2,3,4]
list2 = ['py','sel','web','at']

for i,j in zip(list,list2):
    print(str(i) + ':' + j)

打印结果:
1:py
2:sel
3:web
4:at

从两个相关的序列构建一个字典

将两个相关的列表或元组构建成一个字典

list1 = ['py','sel','at']
list2 = ['python','selenium','autotest']

dic = dict(zip(list1,list2))
print(dic)
打印结果:
{'py': 'python', 'sel': 'selenium', 'at': 'autotest'}

初始化列表值

列如:创建一个列表,列表中有5个相同的元素2

l = [2]*5
print(l)
打印结果:
[2, 2, 2, 2, 2]

从列表中删除重复项

使用set将列表去重,然后再转换成列表

l = ['py','sel','at','py','py','at']
new_1 = list(set(l))
print(new_1)
打印结果;
['at', 'sel', 'py']

enumerate函数

enumerate()是Python的一个内置函数,将一个可遍历的数据对象组合为一个索引序列,同时列出索引和值。
enumerate(sequence,[start=0]) start参数为索引起始位置

seq = ['py','sel','web','at']
for index,item in enumerate(seq):
    print(index,item)

list_seq = list(enumerate(seq,start=1))
print(list_seq)
打印结果:
0 py
1 sel
2 web
3 at
[(1, 'py'), (2, 'sel'), (3, 'web'), (4, 'at')]

map函数

map()是Python内置的高级函数,它接收一个函数function和一个列表,并通过把函数function依次作用在列表的每个元素上,得到一个新的列表并返回
示例:将两个列表中index相同的值求积并返回一个新的列表

list_map = list(map(lambda x,y:x*y,[1,3,7],[13,5,21]))
print(list_map)
打印结果:
[13, 15, 147]

any和all

any()函数用于判断一个可迭代函数的元素是否全为False。如果是,则返回false:否则返回true。False元素有0、空字符串(’’)、空列表([])、False。

strip去除空格

strip用于去除字符串中的空格符或指定字符,去除的空格包括’\n’、’\r’、’\t’、’ '。
str.strip():去除字符串两边的空格
str.lstrip():去除字符串左边的空格
str.rstrip():去除字符串右边的空格

获取当前文件的绝对路径

import os

realpath = os.path.split(os.path.realpath(__file__))[0]