为什么Python中有些包或函数的首字母大写,而有些不是?

3

例如:

from urllib.request import urlopen, Request

有没有关于首字母大写的规定?

1
关闭投票者:无论是否存在关于大写的规定,都不是意见问题。 - Sneftel
4
Request 是一个类,urlopen 是一个函数。https://www.python.org/dev/peps/pep-0008/#naming-conventions - Håken Lid
进一步解释@HåkenLid的评论,类通常使用PascalCase(或CamelCase)约定命名,而函数则全部小写,用下划线分隔。 - devius
2个回答

1
大部分答案可以在pep08 (python coding style guidelines)中找到 - 基本上,类使用CamelCase拼写,其他所有内容都使用lower_with_underscores。
但请注意(出于各种原因),Python本身(builtins和stdlib)并不总是遵守这个惯例:
- 相当多的类以all_lower命名,尤其是datetime、date、time和timedelta来自datetime包,所有内置类型(type、property、int、float、str、list、tuple、dict、set、object等) - logging包对大多数函数和方法使用mixedCase(即logging.getLogger()应该是logging.get_logger()等)
对于内置类型而言,至少有一个历史原因:大多数这些名称最初绑定到函数,而不是类(我在谈论 Python 1.5.x 或更早版本)。值得一提的是,其中相当多的实际上仍被文档化为函数,但它们并非如此...

0
在Python中,最佳实践是在函数名称中使用小写字母,但是在处理类时,我们将首字母大写。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接