在使用python过程中,也是观看了很多视频,记录下10个小技巧,提高使用时代码的可读性和速度,干货满满!!!
变量,列表,还有语法,函数,希望对大家有帮助!
1、变量的交换
在python 中对于两个变量之间的交换可以用如下形式:
a=1
b=2
a,b = b,a
这样的代码看起来更清晰,可读性也更高
2、字符串格式化
这里只记录3.6以上版本最为简介方便的一种方法
f-string
只需要:f " {}里的内容 :可以是变量、表达式、甚至是函数"
# 定义多个变量,然后在输出时进行引用,嗯,大概是这么理解的 name = "kell" prc = "文学" age = 24 print(f"我叫{name},喜欢{prc},今年{age+1}岁了")
3、yield 语法
# yield简洁用法 # 这是一个斐波那契数列 # def fibonacci(n): # a=0 # b=1 # nums=[] # for i in range(n): # nums.append(a) # a,b=b,a+b # return nums # for i in fibonacci(10): # print(i) # 将nums删除,for循环里的nums。append改为 yield a # 这样就会遍历一个,打印一个数,打印结果与上方相同 def fibonacci(n): a=0 b=1 for i in range(n): yield a a,b=b,a+b return for i in fibonacci(10): print(i)
4、列表 解析式/推导式
# l1 = [1, 2, 5, 9, 6, 5, 6, 5, 8, 4] # 使用for循环加if语句判断去重 # l2 = [] # for i in l1: # if i not in l2: # l2.append(i) # print(l2) # 列表转化集合去重 # l2 = list(set(l1)) # print(l2) # 列表推导式去重 # l2 = [] # [l2.append(x) for x in l1 if x not in l2] # print(l2)
5、Enumerate 函数
# Enumerate 函数 l1 = ["apple","banana","abolo","davie"] # 正常循环遍历打印只有值 # for i in l1: # print(i) # 使用enumerate函数可以将列表值对应的索引同时打印出来哦 for i,x in enumerate(l1): print(i,x)
6、反向遍历
# 加入reversed函数就可以反向遍历 for i,x in enumerate(reversed(l1)): print(i,x)
7、按顺序遍历
# 按照英文字母的排列顺序进行遍历 for i,x in enumerate(sorted(l1)): print(i,x)
8、字典的合并操作
a = {"davie": "12346", "kasa": "4567"} b = {"jack": "5465", "larry": "5456"} # 正常合并是先确定一个空字典,在遍历两个字典放入其中 # c = {} # for i in a: # c[i] = a[i] # for i in b: # c[i] = b[i] # **表示解包,unpacking c = {**a, **b} print(c)
9、三元运算符
# 三元运算符 # def fugui(s): # # if s > 60: # v = "pass" # else: # v = "fail" # return v # # print(fugui(60)) def fugui(s): # 将 条件放在 if和else 中间,前后放置输出的结果 v = "pass" if s > 60 else "fail" return v print(fugui(65))
10、序列解包
name = "san zhang" # # 空格分割 # str_list = name.split( ) # # 变量接一下索引值 # a_name = str_list[0] # b_name = str_list[1] a_name,b_name = name.split() print(a_name) print(b_name)
11、with 语句
# with语句 f = open("somefile.txt","r") s = f.read() # 打开文件进行操作完毕之后,需要进行关闭,否则会一直占用资源 f.close() # 使用with语句,在进行操作完毕之后会自动关闭 with open("somefile.txt","r") as f: s = f.read()