Это вопрос новичка, но я огляделся по сторонам, и у меня возникли проблемы с поиском чего-то конкретного для этого вопроса (возможно, потому что это слишком просто / очевидно для других).
Итак, я работаю над «Изучить 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()
?
Это меня так смущает. Это просто, что некоторые функции имеют один синтаксис, а другие другой синтаксис? Или я что-то не понимаю относительно того, как передавать переменные в функции.