![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Pythonのクラスへの引数の渡し方についてです。
Pytorchの勉強をしているのですが、以下のような場合
class Net(nn.Mudule):
self.__init__(self):
略
self.foward(x):
略
のようなクラスを作成し、
net=Net()の様にインスタンス化をしたあと
y_pred=net(x)だけでforwardに引数が渡せるのは、forwardの他には関数がないからですか?他に関数がある場合は
y_pred=net.forward(x)と書かなくてはいけないのでしょうか?
こういった場面での引数の渡し方について教えていただけるとありがたいです。よろしくおねがいします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
クラスに x 渡したいなら
def __init_(self, x):
:
:
とコンストラクタを定義するべきだし。
forwardメソッドに x 渡したいなら
def forward(self, x):
:
:
とメソッドを定義すべき。
あなたのコードでは Syntax Error になるはずだけど
試してない?
No.1
- 回答日時:
何を訊きたいのか明快じゃないんですが、字面通りに受け取ると、
>以下のような場合
>class Net(nn.Mudule):
>self.__init__(self):
>略
>self.foward(x):
>略
>のようなクラスを作成
クラス作成定義が既に間違っています。
クラス作成は
class Net(nn.Mudule):
def __init__(self):
略
def foward(x):
略
と言うような形式です。
>net=Net()の様にインスタンス化をしたあと
>y_pred=net(x)だけでforwardに引数が渡せる
渡せません。
上のような形式でもクラス内で定義されたメソッドは、常に第一引数は作成されたオブジェクト自身を指します。
つまりメソッドfowardは実は
def foward(self, x):
略
と定義しないと外部から引数xは渡せないのです。
> 他に関数がある場合は
> y_pred=net.forward(x)と書かなくてはいけないのでしょうか?
まず用語から。
クラス内で定義された「関数のようなもの」はメソッド、と呼びます。
メソッド呼び出しは貴方が言うように
y_pred=net.forward(x)
と書くのがお約束です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- FX・外国為替取引 1.The U.S. FI sells $100 million for pounds at the 1 2022/05/03 00:08
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- 教えて!goo 教えてGooヲチスレは今もどこかにあるのでしょうか? デジタルライフオールスターズは今? 1 2023/08/21 08:43
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Java初級 引数に適用できません
-
レコード件数の表示
-
YYYYMMDD書式の日付に対する適...
-
Google Apps Script で getRang...
-
javaに"search"という関数 or ...
-
Strutsでチェックボックスの値...
-
呼び元のファイル名、行数を取...
-
startメソッドについて。
-
String.containsの反対機能はあ...
-
StringBufferからStringへキャ...
-
説明文書でのメソッド・変数の...
-
Javaで色表現10進→16進のクラス...
-
【アクセス修飾子】アクセス修...
-
Javaにおけるドキュメンテーシ...
-
なぜprotected overrideなのか
-
メソッド宣言の戻り値の型にク...
-
クラスを作るとメソッドの数が...
-
戻り値の異なるメソッドの多重...
-
java.util.Calendar クラスの ...
-
JavaからCへ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコード件数の表示
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
abstract と static を一緒に付...
-
下記のリストならno002が含まれ...
-
Google Apps Script で getRang...
-
メソッド宣言の戻り値の型にク...
-
Strutsでチェックボックスの値...
-
StringBufferからStringへキャ...
-
readLine()ではじめから読み直...
-
javaに"search"という関数 or ...
-
なぜprotected overrideなのか
-
C# 点の描き方をおしえてくだ...
-
public static void main (Stri...
-
メソッドの引数に指定されてい...
-
別クラスのmainメソッドの実行
-
YYYYMMDD書式の日付に対する適...
-
C# の ByVal と ByRef について
-
Javaの関数名が長い?
-
Java初心者です、エラーの意味...
おすすめ情報