我正在尝试学习Python 3.这是我想要学习的一个例子。所以在这里我定义了一个读取文本的函数。打开文件,阅读内容,打印,然后关闭。
所以这段代码运行良好。然而,我不明白的是我们写作的原因:
print(contents_of_file),但不读取(引号)。它怎么引用.read()?到目前为止,我可以理解print()和read()都是函数,我希望两者都以相同的方式使用。我在这里想念的是什么 - 请帮忙吗?
是否有规则何时将内容放入括号中以及何时不放入?
def read_text():
quotes = open("/Users/me/text.txt", encoding = "utf-8")
contents_of_file = quotes.read()
print(contents_of_file)
quotes.close()
read_text()
答案 0 :(得分:2)
print()
是一个功能。 read()
是与quotes
绑定的method of the object。因此,访问read
时必须引用quotes
。只有这样我们才能添加parens来调用它。
答案 1 :(得分:0)
你偶然发现了常用的功能和方法定义。
read()
是一个属于quotes
的方法(它是一个类的实例,我实际上并不知道它的名称)。从技术上讲,方法属于对象,函数通常以不严格面向对象的样式定义,或者在全局范围内定义(如所有C函数)。
可能值得阅读Python的OOP方面,这可能会帮助您更多地了解它。
答案 2 :(得分:0)
quotes
是一个文件对象。我知道你还不知道什么是对象。但请尝试打印quotes
。
print type(quotes)
此对象具有函数read()
,其目的是从文件中读取内容。
要调用对象的函数,您必须编写:
object.funcName()
因为这正是我们想要的,我们只是调用该功能。所以我们写的是:
quotes.read()
print
不属于任何这类对象。所以,我们可以在没有任何对象引用的情况下调用它。