43020


初歩的な質問で申し訳ありません。  
以下のコードを実行すると、Object has no parametersのエラーが発生してしまいます。  
各モジュールの内容も記載させていただき、また参考にさせていただいURLも掲載いたします。  
解決法等お教えいただければ幸いです。

[code]

     from cryptocurrency_block import *
     from datetime import datetime as date
     def create_genesis_block():
         return Block(0,date.now(),"Genesis Block","0")
    
[/code]

cryptocurrency_block

[code]

    import hashlib as hs
    class Block:
        def __init__(self,index,timestamp,data,previous_hash):
            self.index=index
            self.timestamp=timestamp
            self.data=data
            self.previous_hash=previous_hash
            self.hash=self.hash_block()
        def hash_block(self):
            sha=hs.sha256()
            sha.update((str(self.index)+str(self.timestamp)+str(self.data)+str(self.previous_hash)).encode('utf-8'))
            return sha.hexdigest()
    
[/code]

参考にしたURL:<https://qiita.com/weedslayer/items/d1aabe7cf31d182481fb>


CC BY-SA 3.0
2018-04-06T15:41:32.933
43019
2018-04-07T05:40:03.443
2018-04-07T05:06:51.393
27323
27323
question
python
pythonのdatetimeについて


`_` の個数が足りないです。

[code]

    def __init__(self,index,timestamp,data,previous_hash):
    
[/code]

のように `init` の前後は `_` を2つずつ付けてください。

* * *

コメントを受けて。

私の手元では以下の通り問題なく実行できます。

[code]

    luna:~ % cat test.py
    #!/usr/bin/env python
    
    from cryptocurrency_block import *
    from datetime import datetime as date
    def create_genesis_block():
        return Block(0,date.now(),"Genesis Block","0")
    
    luna:~ % cat cryptocurrency_block.py
    import hashlib as hs
    class Block:
        def __init__(self,index,timestamp,data,previous_hash):
            self.index=index
            self.timestamp=timestamp
            self.data=data
            self.previous_hash=previous_hash
            self.hash=self.hash_block()
        def hash_block(self):
            sha=hs.sha256()
            sha.update((str(self.index)+str(self.timestamp)+str(self.data)+str(self.previous_hash)).encode('utf-8'))
            return sha.hexdigest()
    luna:~ % ./test.py
    luna:~ % 
    
[/code]

`__pycache__` ディレクトリがあったら一旦削除してみるのはいかがでしょう。


CC BY-SA 3.0
2018-04-06T16:14:58.900
43020
2018-04-07T05:40:03.443
2018-04-07T05:40:03.443
5288
5288
43019
answer