擅长:python、mysql、java
<p>您的<code>print(checker_start().get_token())</code>的行缩进错误。您正在尝试实例化类<code>checker_start</code>的对象,并在类定义本身的代码块(作用域)中调用其方法<code>get_token</code>。因此你得到一个<code>NameError</code>。在</p>
<p>Python中最显著的特性之一是带有缩进的代码块。在Python中,缩进代码不是样式问题(就像在大多数编程语言中一样),而是一种需求。在</p>
<blockquote>
<p>In most other programming languages, indentation is used only to help make the code look pretty. But in Python, it is required for indicating what block of code a statement belongs to.</p>
</blockquote>
<p><strong>尝试:</strong></p>
<pre class="lang-py prettyprint-override"><code>import requests
from bs4 import BeautifulSoup
class output(object):
pass
class checker_start(object):
def get_token(self):
data = requests.get("https://mail.topmail.com/preview/mail/")
soup = BeautifulSoup(data.text, "lxml")
token_1 = soup.find("input", {"name": "form_token"})["value"]
return token_1
# remove the line-indentation
print(checker_start().get_token())
</code></pre>