Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Crashcourse-10-4-为什么获胜';我的代码版本不能工作吗?_Python_Python 3.x - Fatal编程技术网

Python Crashcourse-10-4-为什么获胜';我的代码版本不能工作吗?

Python Crashcourse-10-4-为什么获胜';我的代码版本不能工作吗?,python,python-3.x,Python,Python 3.x,我目前正在使用python Crashcourse学习python。我的问题涉及练习10-4(来宾手册)。我试图弄明白为什么我的代码不能工作(我得到一个语法错误)。我的代码和这本书几乎完全一样 我的版本: with open(filename, 'a') as file_object: file_object.write(file_object"{name}\n") print(file_object"Hi {name}, y

我目前正在使用python Crashcourse学习python。我的问题涉及练习10-4(来宾手册)。我试图弄明白为什么我的代码不能工作(我得到一个语法错误)。我的代码和这本书几乎完全一样

我的版本:

with open(filename, 'a') as file_object:
            file_object.write(file_object"{name}\n")
        print(file_object"Hi {name}, you've been added to the guest book.")
这本书是:

with open(filename, 'a') as f:
            f.write(f"{name}\n")
        print(f"Hi {name}, you've been added to the guest book.")

我知道我所要做的就是将
file\u对象
缩短为
f
,它会起作用,但我的问题是
file\u对象
为什么不起作用?它不只是像
f
这样的变量吗?为什么长度很重要?

就教程而言,这是一个关于crashcourse的糟糕例子。 作为文件句柄的文件名的f与作为格式说明符的写入/打印行中的f不同

with open(filename, 'a') as file_object:
    file_object.write(f"{name}\n")
    print(f"Hi {name}, you've been added to the guest book.")

就教程而言,这是crashcourse上一个糟糕的例子。 作为文件句柄的文件名的f与作为格式说明符的写入/打印行中的f不同

with open(filename, 'a') as file_object:
    file_object.write(f"{name}\n")
    print(f"Hi {name}, you've been added to the guest book.")

请用正确的格式发布代码(这对于Python来说至关重要)。请注意,编辑框中有一个代码图标。使用它。在任何情况下,
file\u对象“{name}\n”
应该是什么意思?似乎没有理由用
file\u object
来预加字符串——这样做你想做什么?如果这本书就是这么做的,那就太糟糕了。
f.write
中的
f
f“{name}\n”
中的
f
不同。第一个
f
是指一个文件,但第二个
f
是被称为
f-string
的语法的一部分,这是在Python中创建格式化字符串的一种方法。在一本针对初学者的书中,用同一个符号在一行中表示两种截然不同的东西是非常令人困惑的。鉴于上下文,你的问题是一个很好的问题。你的评论似乎与你的问题无关(在下面已经被充分地回答了——认为标记是被接受的)。如果你有进一步的问题,把它当作一个不同的问题来问。我明白你现在在说什么。非常感谢。请用正确的格式发布代码(这对于Python来说至关重要)。请注意,编辑框中有一个代码图标。使用它。在任何情况下,
file\u对象“{name}\n”
应该是什么意思?似乎没有理由用
file\u object
来预加字符串——这样做你想做什么?如果这本书就是这么做的,那就太糟糕了。
f.write
中的
f
f“{name}\n”
中的
f
不同。第一个
f
是指一个文件,但第二个
f
是被称为
f-string
的语法的一部分,这是在Python中创建格式化字符串的一种方法。在一本针对初学者的书中,用同一个符号在一行中表示两种截然不同的东西是非常令人困惑的。鉴于上下文,你的问题是一个很好的问题。你的评论似乎与你的问题无关(在下面已经被充分地回答了——认为标记是被接受的)。如果你有进一步的问题,把它当作一个不同的问题来问。我明白你现在在说什么。非常感谢。