質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

3回答

268閲覧

定義した関数の処理にあたるものは戻り値に入るのか?

nomaluu

総合スコア34

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

2クリップ

投稿2021/07/27 09:05

戻り値が「関数から返される値」なら関数を定義して、実行したときの「処理」に該当するものは戻り値ではないのか?
例えばreturnがない定義した関数で
def sell():
print('販売が行われました。')というコードを実行した場合
print()にあたる処理が実行され、「販売が行われました。」という「関数から返される値」がターミナルに追加されます。

環境

python3.9.5
windows10
vscode

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

戻り値ではないです。
関数内の処理で、関数外に影響を与えたものや、次回の呼び出しに影響するものは「(関数の)副作用」と呼ばれます。
・グローバル変数の更新
・端末入出力
・ファイルの操作
・ネットワーク通信
など、など、全て副作用です。
参考:Wikipedia:副作用

「副」という漢字が使われていますが、戻り値を使わず、副作用を目的として関数を呼ぶことはごく普通ですので、「副」という漢字にとらわれないことが重要です。

投稿2021/07/27 09:42

編集2021/07/27 10:10
otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

return文のない関数の戻り値はNoneです。

  • print()にあたる処理が実行され、「販売が行われました。」という「関数から返される値」がターミナルに追加されます。

'販売が行われました。'という文字列を標準出力に印字するのがprint関数の機能です。
print関数の戻り値はNoneです。

python

1>>> r = print('販売が行われました。') 2販売が行われました。 3>>> print(r) 4None 5

sellという関数もreturn文がないので戻り値はNoneです。

python

1>>> def sell(): 2... print('販売が行われました。') 3... 4>>> r = sell() 5販売が行われました。 6>>> print(r) 7None 8

投稿2021/07/27 09:30

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

戻り値は、あくまで戻り値として返された値が戻り値です

処理内容とは全く関係ないです

投稿2021/07/27 09:07

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問