首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Python 真的很糟糕吗?(2)

Python 真的很糟糕吗?(2)

[yiji]6、怪癖[/yiji]

每种语言或多或少都有自己的怪癖,但是 Python 比其它语言都多。以字符串的操作为例,在 Python 中,单引号和双引号之间没有区别。但是,如果想要字符串跨行,则需要使用三引号 """string""" 或 ```string```;如果想使用二进制文件,那么需要使用 b'binary' 或 r'raw';有时需要使用 str(string) 将字符串转换为字符串,或使用 string.encode('utf-8') 将其转换为 utf8。

[yiji]7、按对象引用传递变量[/yiji]

大多数编程语言都按值传递函数参数,但是 Python 默认使用 pass-by-object-reference 参数执行函数,这意味着更改源变量可能会使引用值改变。这是程序、函数和和面向对象编程语言之间的重大差异之一,如果每个变量都是通过对象引用传递的,并且对变量的任何更改都会在任何地方更改引用,那么可以直接使用全局变量来处理所有变量。但是全局变量的弊端是有目共睹的。

[yiji]8、本地名称[/yiji]

gcc -o screencapture.exe screencapture.c -lscreencapture

假如在使用名为“libscreencapture.so”的 C 库测试截屏程序,可以调用自己的程序“screencapture.c”并编译成“screencapture.exe”。

但是在 Python 中这么做是不行的。Python 假定你首先要导入的是本地代码,那么如果你有一个名为“screencapture.py”的程序使用“import screencapture”,它将导入自己而不是系统库。

作者最后还表示,通常他会辩证地去评论一个东西,他觉得 Python 确实有一些不错的库,比如 BeautifulSoup、NumPy 和 TensorFlow,但是他真的没法列出关于 Python 其它好的方面,因为他真的认为 Python 很糟糕。
返回列表