Python read、truncate和close命令后加括号的原因?
有人能给我解释一下这个词后面的括号是什么吗Python read、truncate和close命令后加括号的原因?,python,Python,有人能给我解释一下这个词后面的括号是什么吗 .read()、.truncate()和.close()命令正在执行吗 我很困惑为什么它们是空的,为什么它没有写为: 读取(文件名),截断(文件名),和关闭(文件名),而不是 filename.read(),filename.truncate(),和filename.close() 但是open写为open(filename),而不是filename.open()这些括号()用于实际调用某个函数,而不仅仅是引用它 例如,考虑: def func():
.read()
、.truncate()
和.close()
命令正在执行吗
我很困惑为什么它们是空的,为什么它没有写为:
读取(文件名)
,截断(文件名)
,和关闭(文件名)
,而不是
filename.read()
,filename.truncate()
,和filename.close()
但是open
写为open(filename)
,而不是filename.open()
这些括号()
用于实际调用某个函数,而不仅仅是引用它
例如,考虑:
def func():
return "I am being called!"
print(func)
# <function func at 0x7f41f59a6b70>
print(func())
# I am being called!
您将使用程序样式
当func
设计为:
def func(x):
...
class MyX(object):
def func(self):
...
您将使用面向对象的样式。
请注意,这将要求x
类型为MyX
(或其子类)
Python教程中提供了更多信息,例如
最后一点注意:在一些编程语言(特别是
D
和nim
)中,有一个概念,它基本上允许您编写函数,然后使用您喜欢的语法(过程或面向对象)调用它。您学习过类
吗?这是一个函数与方法的问题。@Carcigenicate你是对的,在这种情况下,复制也不合适。重新打开它。@Selcuk它更像是“不清楚你在问什么”而不是“重复”!公平地说,我认为这是相当清楚的。由于缺少格式,阅读起来有点困难。它不是read(filename)
,而是file.read(字节数)
read()
是文件
类的一个方法,其名称后面的()
会导致调用该方法时使用其中的参数值(该参数值对于此特定方法是可选的,可以忽略)。谢谢!非常有道理:)非常感谢您的回复!