python实用技巧
python3
1.变量交换
a=1
b=2
a,b = b,a
2.字符串格式化
string1 = "sb"
string2 = "I"
num = 3
print("%s am a %d years old %s." % (string2,num,string1))
print("{} am a {} years old {}".format(string2,num,string1))
"""format函数会返回一个新字符串
可以用索引的方式"""
print("{2} am a {1} years old {0}".format(string2,num,string1))
"""f-string
大括号内可以是函数返回值"""
print(f"{string2} am a {num} years old {string1}")
3.yield语法
def fibonacci(n):
a = 0
b = 1
for _ in range(n):
yield a
a, b = b, a + b
for i in fibonacci(10):
print(i)
print(type(fibonacci(10)))
print(dir(fibonacci(10)))
4.列表解析式
print([x.upper() for x in ["a","b","c"]] if x.startswith("b"))
5.enumerate
a = ["a","b","c"]
for i, x in enumerate(a):
print(i, x)
6.遍历
a = ["j","b","c"]
# 反转
print(reverse(a))
# 字典序
print(sorted(a))
7.字典合并
a = {"aa":"aaa", "bb":"bbb"}
b = {"bb":"bbb", "cc":"ccc"}
c = {**a, **b}
8.三元运算符
a = 111
k = "yes" if a>100 else "no"
9.序列解包
s = "1 2 3 4 5"
a, b, c, d, e = s.split()
10.with语句
with open() as f:
print("shit")
11._ // %
_常表示上一个输出
//整除
%取余
12.逗号的用处
将数据转化为元组
>>> a=11
>>> b=(a)
>>> b
11
>>> b=(a,)
>>> b
(11,)
将输出压缩为一行
def func(*a):
return a, #加了逗号,输出为一行,若去掉逗号则输出为一列
l = func(1, 2, 3, 4, 5)
for i in l:
print(i)
13.r’str’
原样打印,不需要转义了
with open(r'a\b\c\d'):
pass