- 1 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:24:26.743 ID:zQsU0upY0
- エラー文見ろとかいうクソなことは言うなよ
見てるに決まってるググって調べてるに決まってるからな分かったな
実行文↓ コードは次に貼るC:\Users\riku1\OneDrive\ドキュメント\RESEARCH\PL>py test.py
Module is called
Classes and Functions are imiported
My name is bob
Human()
I'm tom. My stupid experience is suicide
Stupid
My name is mike and charge is cheaf
Human()
I'm innocense
Stupid
Traceback (most recent call last):
File "test.py", line 31, in <module>
mp.Human.printcnt()
AttributeError: type object 'Human' has no attribute 'printcnt' - 2 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:24:50.217 ID:zQsU0upY0
- test.py↓
import mypackage.module as mp
#from module import *#exe
bob=mp.Human("bob")
bob.introduce()
bob.sayFuncName()
tom=mp.Stupid("tom","suicide")
tom.introduce()
tom.sayFuncName()
mike=mp.Criminal("mike","cheaf")
mike.introduce()
mike.sayFuncName()
maria=mp.Innocent("maria")
maria.introduce()
maria.sayFuncName()
'''
bob=Human("bob")
bob.introduce()
bob.sayFuncName()
tom=Stupid("tom","suicide")
tom.introduce()
tom.sayFuncName()
mike=Criminal("mike","cheaf")
mike.introduce()
mike.sayFuncName()
maria=Innocent("maria")
maria.introduce()
maria.sayFuncName()
'''
mp.Human.printcnt() - 3 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:04.283 ID:6CegeQDLd
- リクくんドンマイ………
- 4 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:20.807 ID:xsiNi/n1d
- 型がまちがってんじゃね
- 5 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:49.617 ID:MP0WiG8G0
- pornhubに見えた
- 6 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:57.692 ID:G0qoyYq00
- リクくん可愛い
- 7 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:57.912 ID:WeVWtL9y0
- riku1
- 8 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:25:57.920 ID:zQsU0upY0
- package\module.py↓
class Human():
count=0def __init__(a,name="none"):
a.name=name
Human.count+=1def introduce(self):
print("My name is {0}".format(self.name))def sayFuncName(self):
print("Human()")@classmethod
def printcnt(cls):
print(cls.count)class Stupid():
def __init__(self,name="none",experience="A stupid thing"):
self.name=name
self.exp=experiencedef introduce(self):
print("I'm {0}. My stupid experience is {1}".format(self.name,self.exp))def sayFuncName(self):
print("Stupid")class Criminal(Human,Stupid):
def __init__(self,name="None",charges="None"):
super().__init__(name)
self.charges=chargesdef introduce(self):
print("My name is {0} and charge is {1}".format(self.name,self.charges))class Innocent(Stupid,Human):
def __init__(self,name="name"):
super().__init__(name)def introduce(self):
print("I'm innocense")print("Module is called")
print("Classes and Functions are imiported") - 9 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:26:03.063 ID:qMj+MsuBr
- インデントがおかしいからさ~
構文チェッカを使いなよう - 10 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:27:08.403 ID:3SuwLtRo0
- printcnt が何かわからないけど実装してる?typoとかじゃない?
- 11 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:27:37.832 ID:TUrDVzAyr
- エラーの原因は3つしかない。
勉強不足、調査不足、仮定不足。 - 12 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:27:46.704 ID:zQsU0upY0
- 問題はmodule.pyの@classmethodの部分かtest.pyのmp.Human.printcnt()なんだろうけどどういじってもエラー出る
- 13 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:28:37.686 ID:zQsU0upY0
- indentは5chがクソだからコピペで反映されてないだけでちゃんとソースファイルではしてるから
- 14 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:29:03.192 ID:3SuwLtRo0
- 引数 cls がいるんじゃないの
- 15 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:31:12.969 ID:zQsU0upY0
- >>14
関数定義にってこと?ちゃんと書いてるよ
呼び出しのときはインスタンスと同じようにclsにはクラス自身が自動的に入るから記述しなくてもいいはず - 16 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:31:15.906 ID:IV623cMh0
- Human.printcnt()
クラスに生えてるわけだしインスタンスからじゃなくてクラスから呼んでみれば? - 18 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:34:00.932 ID:zQsU0upY0
- >>16
Humanはクラス名だからクラスから呼び出してるはず - 17 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:31:24.236 ID:z4N+O0zDM
- 聞く態度ゴミすぎる
誰がお前に教えたがるのか - 20 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:38:14.493 ID:zQsU0upY0
- Humanの定義
class Human():
count=0def __init__(a,name="none"):
a.name=name
Human.count+=1def introduce(self):
print("My name is {0}".format(self.name))def sayFuncName(self):
print("Human()")@classmethod
def printcnt(cls):
print(cls.count)test.pyの呼び出し文
mp.Human.printcnt()エラー文
Traceback (most recent call last):
File "test.py", line 31, in <module>
mp.Human.printcnt()
AttributeError: type object 'Human' has no attribute 'printcnt' - 23 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:41:34.036 ID:IseBY0qTM
- >>20のclsをselfにすればいいんじゃない?
- 24 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:44:57.673 ID:zQsU0upY0
- >>23
ただの仮引数だし名前は関係ないんじゃね?
一応試したけどダメだった - 21 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:40:31.626 ID:zQsU0upY0
- print(mp.Human.count)だと上手くいく
- 22 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:41:22.266 ID:qfmh8OHg0
- 詳しくないけどHumanじゃprintcnt使えないってことじゃないの?
- 27 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:57:28.525 ID:P1WcDAp+M
- すまん嘘だったわ
- 28 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:57:42.943 ID:xsiNi/n1d
- 大体アナコンダ入れればなおる
- 29 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:58:35.083 ID:zQsU0upY0
- >>28
使ってないけど一応入ってる - 30 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 01:59:27.954 ID:hMbRd0AmM
- >>29
使うか消すかしたほうがいいと思います - 34 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:10:04.797 ID:zQsU0upY0
- imgurに張った
- 38 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:16:45.408 ID:3SuwLtRo0
- >>34
これはぱっと見あってる気がするから疑ってすまんかった - 39 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:17:22.085 ID:zQsU0upY0
- Python 3.8.3 rc1 だった
- 41 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:21:17.931 ID:3SuwLtRo0
- >>39
ためしに合わせてみようと思ったけど rc はちょっと面倒だな安定版入ってない?
- 40 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:18:06.943 ID:3SuwLtRo0
- まるっとコピって実行して動かないなら処理系かOS 依存な気がする
Mac とWandbox では動くからソースは問題ない気がする
- 42 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:21:25.261 ID:zQsU0upY0
- やべえ
上手くいったけどマジであほみたいなミスで申し訳ない - 43 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:22:19.830 ID:3SuwLtRo0
- お。うまくいった?後学のために原因を教えていただきたく
- 48 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:24:39.447 ID:zQsU0upY0
- >>43
後学もクソもないと思う
俺がクソみたいな見落とししてただけ
mypackageの中とカレントディレクトリの両方にmodule.pyが作られてて
そのカレントディレクトリの方のmodule.pyにだけprintcnt()関数を書いてた
当然importしてるのはmypackageの方だけだから見つかるはずがない
マジですまんかった - 44 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:22:32.506 ID:zQsU0upY0
- マジで1時間以上悩んでたのが馬鹿みたいだしこんな間抜けに突き合わせてしまって申し訳なさすぎる
- 45 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:22:39.277 ID:FwbFZ6a/0
- 引数不足じゃないの
- 46 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:23:17.797 ID:FwbFZ6a/0
- と思ったら終わってた
- 47 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:23:38.570 ID:yFCDTKWe0
- スペースが全角だったか
- 49 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:26:36.053 ID:SIjuB1HPM
- どうでもいいけど
パスのドキュメントってカタカナ入ってるのいつかバグおこしそう - 52 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:28:19.406 ID:zQsU0upY0
- >>49
俺も直したいんだけど、一回"document"に変更したらonedriveがバグったから触れないようにしてる - 50 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:26:55.277 ID:xSoPaWMQr
- 稀によくあるよそれ気にすんな
- 58 名前:一般よりも上級の名無しさん 投稿日時:2020/05/11(月) 02:41:09.663 ID:xSoPaWMQr
- git触らるようになりたいけどなれてないときにpushだかpullだかコミットだかして他人のソース破壊したら怖いなって思って手が出ない
コメント一覧