- 複数のPythonピア割り当て
a, b = 0, 1 # 相当于 a=0, b=1
# 亦或者某些返回两个值的拆分
a, b = (0, 1)
# 只取第一个 _ 为不需要的占位符
a, _ = (0, 1)
- 相互割り当て
a, b = b, a # 使a,b的值交换
- 短絡の割り当て
# bb为真则将bb赋值给a,为假则将cc赋值给a
a = bb or cc
- 三元演算子
# 赋值,条件成立则赋值value,不成立则赋值value2
a = value if condition(条件:类型为bool) else value2
# 执行操作
print(1) if condition else print(2)
- リストの生成
# 万恶之源
list1 = [i for i in range(10)]
# 相当于
list1 = []
for i in range(10):
list1.append(i)
# 使用列表生成式中还可以对 i 进行操作
list1 = [str(i) for i in range(10)]
list1 = [i+10 for i in range(10)]
# 遍历一个列表,对每一个遍历值操作
list1 = ['aiwdnn', 'ibhjka', 'akjwb']
list2 = [i.upper() for i in list1] # 使每一次值大写
list3 = [random.choice(i) for i in list1] # 每次随机选取字符串中的一个字符
# 两层循环
[(i,j) for i in range(3) for j in range(3)]
# 相当于
for i in range(3):
for j in range(3):
... ...
# 加点判断
[i for i in range(11) if i%2 != 0] # 输出10以内的单数
- リスト生成バリアント
# 得到一个生成器对象
>>>(i for i in range(10))
<generator object <genexpr> at 0x006F9990>
- Crazed.join()
# 将列表元素按照''分隔,合成一个字符串
>>>''.join(['a', 'b', 'c'])
'abc'
# 以'\n'分隔
>>> 'a\nb\nc'
# 利用这一机制 生成验证码
# 先返回一下 a-z
>>> ''.join([chr(s) for s in range(97, 123)])
'abcdefghijklmnopqrstuvwxyz'
# 随机选它1个字母
''.join(random.choice([chr(s) for s in range(97, 123)]))
# 随机选它4个字母. _ 代表一个不重要的匿名占位符
''.join([random.choice([chr(s) for s in range(97, 123)]) for _ in range(4)])
# 加上数字,随机它6个
>>>''.join([random.choice([chr(i) for i in range(97, 123)]+[chr(x) for x in range(49, 58)]) for _ in range(6)])
- *および**簡単な開梱
def test(a, b, c):
pass
# 1 解元组
tuple1 = (0, 1, 2)
test(*tuple1)
# 相当于
test(a=0, b=1, c=2)
# 2 解字典
dict1 = {
"a": 0, "b": 1, "c": '2'}
test(**dict1)
# 相当于
test(a=0, b=1, c=2)
- レンジリバース
# 打印 1-10
for i in range(1, 11):
print(i)
# 打印 10 - 1
for i in range(10, 0, -1):
print(i)
# 打印1-10-1 的数字
for i in list(range(10)) + list(range(10, -1, -1)):
print(i, end=' ')
…継続的な更新では、少し考えて少し書いてください