Python 3.6 NameError:name' '没有定义

时间:2018-04-03 23:45:52

标签: python python-3.6 nameerror

我有以下代码来创建区块链。

class Blockchain(object):
    def __init__(self):
        self.chain= []
        self.current_transactions = []

        # Create the genesis block
        self.new_block(previous_hash=1, proof=100)

        def proof_of_work(slef, last_proof):
            """
            Simple proof of Work Algorithm:
            - Find a number p' such that hash(pp') contains leading 4 zeros, where p isthe previous p'
            - p is the previous proof, and p'is the new proof

            :param last_proof: <int>
            :return: <int>
            """

        proof = 0
        while self.valid_proof(last_proof, proof) is False:
            proof += 1

        return proof

    # Insantiate the Blockchain
    blockchain = Blockchain()

在此代码中,当我尝试使用Flask运行该代码时,它会返回以下错误:

"NameError: name 'Blockchain' is not defined"

1 个答案:

答案 0 :(得分:1)

python中的空白很重要。你的最后一行

blockchain = Blockchain()

需要删除空格以匹配class定义的空白,并且需要缩进def __init__(self):