Loading...

Python黑魔法手册 2.0 文档第一章【1-2】

Python2年前 (2022)更新 safedragon
101 0

Python黑魔法手册

第一章:魔法冷知识【1-2】

这个章节记录了一些大多数开发者并不知晓的冷知识,内容基本延续 v1.0 。
本章节,会持续更新,敬请关注…

1.1 默默无闻的省略号很好用

在Python中,一切皆对象,省略号也不例外。
在 Python 3 中你可以直接写 … 来得到它

>> …
Ellipsis
>>> type(…)
<class ‘ellipsis’>

而在 Python 2 中没有  …  这个语法,只能直接写Ellipsis来获取。

>> Ellipsis
Ellipsis
>>> type(Ellipsis)
<type ‘ellipsis’>
>>>

它转为布尔值时为真

>> bool(…)
True

最后,这东西是一个单例。

>> id(…)
4362672336
>>> id(…)
4362672336

那这东西有啥用呢?
1. 它是 Numpy 的一个语法糖
2. 在 Python 3 中可以使用 … 代替 pass

$ cat demo.py
def func01():
    ...
def func02():
    pass
func01()
func02()
print("ok")
$ python3 demo.py
ok

1.2 使用 end 来结束代码块

有不少编程语言,循环、判断代码块需要用 end 标明结束,这样一定程度上会使代码逻辑更
加清晰一点。
但是其实在 Python 这种严格缩进的语言里并没有必要这样做。
如果你真的想用,也不是没有办法,具体你看下面这个例子。

__builtins__.end = None

def my_abs(x):
    if x > 0:
        return x
    else:
        return -x
    end
end

print(my_abs(10))
print(my_abs(-10))

执行后,输出如下

[root@localhost ~]$ python demo.py
10
10

 

© 版权声明

相关文章

暂无评论

暂无评论...