为什么 Python 会有那么多人喜欢用?

97 天前
crc8  crc8

自知道它,历经数年,不止一次,

想喜欢它,去使用它,去学习它。

直到今天,发现对它,爱不起来。

究其原因:出错的时候,错误一坨坨,毫无美感可言。

弃!

14679 次点击
所在节点   Python  Python
157 条回复
youngce
youngce
97 天前
按照这个逻辑,可能喜欢用 python 的人一般不出错,所以看不到毫无美感的错误?
malusama
malusama
97 天前
没有需求何必强求自己写什么语言呢
NoOneNoBody
NoOneNoBody
97 天前
圣人
nocmt
nocmt
97 天前
Python 的设计理念是“优雅”、“明确”、“简单”。 优雅:Python 代码风格优美,语法简洁明了,代码可读性高,易于理解和维护。 明确:Python 语言规范清晰,标准库丰富,可用于开发各种应用程序。 简单:Python 语言的语法相对简单,可以让人很快掌握。

Python 之禅,by Tim Peters

优美胜于丑陋

明确胜于隐晦

简单胜于复杂

复杂胜于凌乱

扁平胜于嵌套

稀疏胜于紧凑

可读性至关重要

即便特例,也需服从以上规则

除非刻意追求,错误不应跳过

面对歧义条件,拒绝尝试猜测

解决问题的最优方法应该有且只有一个

尽管这一方法并非显而易见(除非你是 Python 之父)

动手胜于空想

空想胜于不想

难以解释的实现方案,不是好方案

易于解释的实现方案,才是好方案

命名空间是个绝妙的理念,多多益善!
----


最后是可以早点下班
NessajCN
NessajCN
97 天前
「为啥会有那么多人用螺丝刀?我一次又一次尝试用他敲钉子,每次都对不准,还不好发力。弃!」
crc8
crc8
97 天前
@youngce 一坨错误,非绿则红,不是速度慢,就是说 SSL 时间超时。与命令本身是否有误无关。
ninjashixuan
ninjashixuan
97 天前
这理由有点像美女也拉屎我选择和五姑娘共度一生。
crc8
crc8
97 天前
一会 Python2 ,一会 Python3 ,接下来应该还会有 Python4
crc8
crc8
97 天前
@malusama 并非自己写,而是 github clone 下的别人的代码运行。
xvrzhao
xvrzhao
97 天前
Python 是一门革命不彻底的语言,异步编程效仿 Node.js 的 Event Loop ,但在异步代码中同样可以使用 I/O 阻塞的 API ,没有强行将开发者规范起来。

如果我用 Python ,请告诉我一个不用 Node.js 的理由。
BeautifulSoap
BeautifulSoap
97 天前
对我来说,Python 写脚本方便,而且库多。虽然 node 也能写脚本,但很明显 node 写脚本的体验是被 python 按在地上摩擦的
至于开发复杂的项目,那我肯定不选 python
mayli
97 天前
究其原因:出错的时候,错误一坨坨,毫无美感可言。

rust: ?
minami
97 天前
方便糊💩
yosoroAida
97 天前
写脚本算是很方便的东西吧,你让我写大型项目还是算了。。
xvrzhao
97 天前
@BeautifulSoap 我怀疑你不会写 Node.js
ninjashixuan
97 天前
@xvrzhao 印象中 python 引入 await async 比 js 早吧。
Donaldo
97 天前
自己用不对别怪人家语言啊。。
lizy0329
97 天前
缩进分段落就是最大的💩
xvrzhao
97 天前
语法是早,但是 asyncio 出的晚
crc8
97 天前
其实,科学一下,就不会一坨坨的啦,但科学不是每时每刻都有啊。

让大家伙也领略一下吧。

pip3 install django==4.2.11
Collecting django==4.2.11
Using cached Django-4.2.11-py3-none-any.whl.metadata (4.2 kB)
Requirement already satisfied: asgiref<4,>=3.6.0 in c:\users\user\appdata\local\programs\python\python313\lib\site-packages (from django==4.2.11) (3.8.1)
Requirement already satisfied: sqlparse>=0.3.1 in c:\users\user\appdata\local\programs\python\python313\lib\site-packages (from django==4.2.11) (0.5.1)
Requirement already satisfied: tzdata in c:\users\user\appdata\local\programs\python\python313\lib\site-packages (from django==4.2.11) (2024.2)
Downloading Django-4.2.11-py3-none-any.whl (8.0 MB)
-------------------------- ------------- 5.2/8.0 MB 9.7 kB/s eta 0:04:43

[notice] A new release of pip is available: 24.2 -> 24.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher
yield
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 561, in read
data = self._fp_read(amt) if not fp_closed else b""
~~~~~~~~~~~~~^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 527, in _fp_read
return self._fp.read(amt) if amt is not None else self._fp.read()
~~~~~~~~~~~~~^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 98, in read
data: bytes = self.__fp.read(amt)
~~~~~~~~~~~~~~^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\http\client.py", line 479, in read
s = self.fp.read(amt)
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\socket.py", line 719, in readinto
return self._sock.recv_into(b)
~~~~~~~~~~~~~~~~~~~~^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\ssl.py", line 1304, in recv_into
return self.read(nbytes, buffer)
~~~~~~~~~^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\ssl.py", line 1138, in read
return self._sslobj.read(len, buffer)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\cli\base_command.py", line 105, in _run_wrapper
status = _inner_run()
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\cli\base_command.py", line 96, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\cli\req_command.py", line 67, in wrapper
return func(self, options, args)
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\commands\install.py", line 379, in run
requirement_set = resolver.resolve(
reqs, check_supported_wheels=not options.target_dir
)
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 179, in resolve
self.factory.preparer.prepare_linked_requirements_more(reqs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\operations\prepare.py", line 554, in prepare_linked_requirements_more
self._complete_partial_requirements(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
partially_downloaded_reqs,
^^^^^^^^^^^^^^^^^^^^^^^^^^
parallel_builds=parallel_builds,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\operations\prepare.py", line 469, in _complete_partial_requirements
for link, (filepath, _) in batch_download:
^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\network\download.py", line 184, in __call__
for chunk in chunks:
^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\cli\progress_bars.py", line 55, in _rich_progress_bar
for chunk in iterable:
^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\network\utils.py", line 65, in response_chunks
for chunk in response.raw.stream(
~~~~~~~~~~~~~~~~~~~^
chunk_size,
^^^^^^^^^^^
...<22 lines>...
decode_content=False,
^^^^^^^^^^^^^^^^^^^^^
):
^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 622, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 560, in read
with self._error_catcher():
~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 162, in __exit__
self.gen.throw(value)
~~~~~~~~~~~~~~^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\urllib3\response.py", line 443, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1089258

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX