发布于2020-06-05 16:30 阅读(2223) 评论(0) 点赞(27) 收藏(1)
这是一个新手问题,但我环顾四周,无法找到与此问题相关的任何内容(也许是因为它对其他人太简单/显而易见)。
因此,我正在研究Zed Shaw的“艰难地学习Python”,并且正在练习15。这不是我第一次接触python,但是这次我实际上是在尝试从更基础的角度理解它,所以我真的可以一次用一种编程语言做某事。我还应该警告说,我在面向对象的编程方面没有足够的背景,或者没有完全内部化什么是对象,类等。
无论如何,这里是练习。想法是了解基本的文件打开和阅读:
from sys import argv
script, filename = argv
txt = open(filename)
print "Here's your file %r:" % filename
print txt.read()
print "I'll also ask you to type it again:"
file_again = raw_input("> ")
txt_again = open(file_again)
print txt_again.read()
txt.close()
txt_again.close()
我的问题是,为什么open
和read
函数使用不同?
例如,要阅读示例文件,为什么不/不能print read(txt)
在第8行输入?
为什么我在变量前面加上句号,并在变量后面加上函数?
或者,为什么不编写第5行txt = filename.open()
?
这让我感到困惑。仅仅是某些函数具有一种语法而其他函数具有另一种语法吗?还是我不了解如何将变量传递给函数。
专门针对语法差异:open()是一个函数,read()是一个对象方法。
调用open()函数时,它将返回一个对象(第一个txt,然后是txt_again)。
txt是类文件的对象。类文件的对象使用read()方法定义。因此,在上面的代码中:
txt = open(filename)
调用open()的函数和类的一个对象指定的文件到TXT。
之后,代码:
txt.read()
调用与对象txt关联的方法read()。
在这种情况下,重要的是要理解对象不仅被定义为数据实体,而且还定义了针对这些实体的内置操作。
类的例如一个假设的对象车可能与被定义的方法等start_engine)( ,stop_engine() ,)open_doors(等
因此,与上述文件示例类似,用于创建和使用汽车的代码可能是:
my_car = create_car(type_of_car)
my_car.start_engine()
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/407181/dbf8d82af787a76e6780/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!