我们为什么不将参数传递给read()函数?

时间:2019-02-19 08:42:23

标签: python python-3.x

将文件作为参数传递并存储到对象引用对于open()函数来说非常简单易懂,但是read()函数不接受参数,而是使用格式文件。 ()代替。为什么read函数不将文件作为参数,例如read(in_file),为什么不将其包含在内置函数的Python标准库中?

我已经检查了标准库https://docs.python.org/3/library/functions.html#open

中的内置函数列表
# calls the open function passing from_file argument and storing to in_file object reference
in_file = open(from_file)

# why is this not written as read(in_file) instead?
in_data = in_file.read()

2 个答案:

答案 0 :(得分:4)

这里不包含它,因为它不是函数,它是对象的方法,该对象公开了面向文件的API,在这种情况下,{{ 1}}。

答案 1 :(得分:0)

因为您有in_file = open(from_file)的文件引用,所以当您这样做时 in_file.read()是您在引用本身上调用read,它等效于self,这意味着在这种情况下该对象是文件对象