有些人看到这个标题的时候可能会问,*号不就是乘法用的吗?下画线不就是用来命名变量的吗?单下画线开头的变量表示保护变量,双下画线开头表示私有变量,可是Python远比你想象的强大。Python中这些特殊的符号还有这其他不同的含义。本篇文章将从基础到高级用法,带你探索一下这两个神奇的符号。
“*”号
*号最基础的当然就是相乘和乘方了。
python 代码:print('5 * 5 =', 5 * 5) # 5 * 5 = 25
print('2 ** 3 =', 2 ** 3) # 2 ** 3 = 8
列表的连接。
python 代码:lst = [1, 2, 3] * 2
print(lst) # [1, 2, 3, 1, 2, 3]
列表解包。
python 代码:lst = [1, 2, 3]
print(lst) # [1, 2, 3]
print(*lst) # 1 2 3
解包字典,但是不常用。
python 代码:dic = {'a': 1, 'b': 2}
print(dic) # {'a': 1, 'b': 2}
print(*dic) # a b
扩展列表。
python 代码:lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
l = [*lst1, *lst2]
print(l) [1, 2, 3, 4, 5, 6]
对列表解包后取中间的多个元素。
python 代码:lst1 = [1, 2, 3, 4]
lst2 = [5, 6, 7, 8]
a, *b, c = lst1 + lst2
print(a)
print(b)
print(c)
在形参列表中作为位置参数和关键字参数的分隔符,在“*”之后的参数只能使用关键字指定。
python 代码:def f(a, *, b):
...
f(1, 2)
f(1, b=2)

“_”号
声明为无关变量。
python 代码:for _ in range(3):
print('Hello Python')
# Hello Python
# Hello Python
# Hello Python
在交互式Python中代表上一个表达式的值。

使数字变得易读。
python 代码:million = 100_0000
billion = 10_0000_0000
print(million) # 1000000
print(billion) # 1000000000
避免自定义函数与关键字重名。
python 代码:def or_(expr1, expr2):
return expr1 or expr2
print(or_(True, False)) # True
另外看强、弱私有变量了,不过建议说说py的伪私有,就是_类名__函数名
这个也是在云笔记里有,感谢你的建议
暂无点赞
暂无点赞
_和Go有点像,其实有*的
嗯函数作为字典传递吗,但是这个我的云笔记里头有这里就没打算写
暂无点赞
暂无点赞