auカブコム証券APIとPythonでトレードアプリ開発。

初心者向けにアプリ開発方法を解説します。 第3回[関数呼び出し編]

 

関数の呼び出し方法をマスターしてレベルアップしましょう。

 

第3回auカブコム証券APIとPythonでトレードアプリ開発。初心者向けにアプリ開発方法を解説します。[関数呼び出し]

 

 

動画の目次

【目次】

01:04 前回の振り返り

04:56 サンプルコード解説

09:33 関数のコードをシンプルにして解説

15:36 別のPythonファイルから関数を呼び出す練習

27:37 関数を呼び出すコードに書き換える

 

 

解説

 

動画で解説したPythonコード

 

動画で解説したPythonコードはこちらです。

 

「新しく覚えることを最小にして、動くものを作る」これを最優先としています。

初心者が理解しやすいように、コード記述の美しさや、推奨されている記述ルールよりも、単純であることを優先しました。

 

◇関数で取得する銘柄情報◇

 

 

関数のコードをシンプルにして解説

 

関数のコードをシンプルにして解説します。

 

関数の構成を似せて、シンプルに書き直しました。

上のコードを実行すると。以下の結果が出力されます。

‘あれやってから、これやった。「これが最後の処理」’

 

◇コードの解説◇

pprintをインポートします。

※pprintとはPythonの標準ライブラリーでオブジェクトをキレイに整形して出力するためにインポートしています。
このページのコードには必要ありませんが、動画内で解説しているauカブコム証券のサンプルコードに合わせています。

 

import pprint

 

関数を作ります。

def token_test():

関数の中で実行されるのは次のコードです。

moji1 = ‘あれやってから、’

moji2 = ‘これやった。’

moji3 = moji1 + moji2 return moji3

関数のリターンは、return moji3

 

2つ目の関数を作ります。

def symbol_test(token_test_value):

関数の中で実行されるのは次のコードです。

moji4 = token_test_value + ‘「これが最後の処理」’

関数のリターンは、return moji4

 

関数token_test()を呼び出して、変数token_test_valueに代入します。

token_test_value = token_test()

 

関数symbol_testの引数token_test_valueとして呼び出します。

pprintで整形して出力します。

pprint.pprint(symbol_test(token_test_value))

 

出力結果はこちら。

‘あれやってから、これやった。「これが最後の処理」’

 

 

別のPythonファイルから関数を呼び出す練習

 

別のPythonファイルから関数を呼び出す練習をしましょう。

 

2つのPythonファイルを新しく作りました。

test_main.py

test_Aaa.py

 

 

test_Aaa.py

この上のコードを実行すると、出力結果は以下となります。

Aaaが実行されました。

 

関数aaa()は定義されているだけなので、関数aaa()内のprint文は実行されません。

関数を呼び出すなら、aaa()を記載します。

 

test_Aaa.py

これで実行すると、出力結果は以下となります。

Aaaが実行されました。
aaa内の関数から実行されました。

 

 

別のPythonファイル(test_main.py)から関数を呼び出します。

 

test_main.pyからtest_Aaa.py内の関数を呼び出します。

test_main.py

 

◇コードの解説◇

関数を呼び出すために、関数が書かれているPythonファイルをインポートします。

import test_Aaa

 

関数が書かれているPythonファイル名の後にピリオドをつけて関数名を記述します。

test_Aaa.aaa()

 

この上のコードを実行すると、出力結果は以下となります。

Aaaが実行されました。
aaa内の関数から実行されました。
aaa内の関数から実行されました。

この3行が出力されます。

aaa内の関数から実行されました。

がダブって出力されています。

 

これは、test_Aaaをインポートした時点でtest_Aaa.pyが実行されるからです

 

test_main.py

1行目のimport test_Aaaが実行されると、test_Aaa.pyのコードが実行されます。

 

test_Aaa.py

この時点での出力結果はこちら。

 

Aaaが実行されました。
aaa内の関数から実行されました。

 

つづいて、test_main.pyの3行目で関数test_Aaa.aaa()を呼び出しているので、

test_main.py

 

aaa内の関数から実行されました。

上が出力されます。

 

よって、出力結果は

Aaaが実行されました。
aaa内の関数から実行されました。
aaa内の関数から実行されました。

このようになるのです。

 

 

他のPythonファイルから呼び出されたときに実行させないために

 

インポートしただけで、関数が書かれたPythonコードが実行されるのはチョットやっかいです。

 

他のPythonファイルから呼び出されたときに、関数を実行させないために、以下のコードを追記します。

 

if __name__ == ‘__main__’:

 

他の方が書いたPythonコードを見ていると、よく見かけませんか?

まず使い方を解説します。

 

test_Aaa.py

これでtest_Aaa.pyを実行してみましょう。出力結果は以下となります。

 

Aaaが実行されました。
aaa内の関数から実行されました。

 

if __name__ == ‘__main__’: の中に記述しているaaa()が実行されています。

 

もう一度test_main.pyから関数aaa()を呼び出してみましょう。

 

test_main.py

test_main.pyを実行してみましょう。出力結果は以下となります。

 

Aaaが実行されました。
aaa内の関数から実行されました。

 

test_main.pyから関数aaa()を呼び出すと、test_Aaa.pyに記述された、

 

if __name__ == ‘__main__’: 中の関数aaa()は実行されません。

 

 

Python初心者のあなた。 頭の中にマークがたくさん浮かんでいませんか。

 

 

この if __name__ == ‘__main__’: は、Python初心者の多くがつまずくポイントだと思います。

 

if __name__ == ‘__main__’:攻略については、別の記事で解説します。

少々お待ちください。

 

この記事を書いた人

あしおゆたか

投資歴21年の個人投資家

机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。

スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。(現在自粛中)

◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション

◇運営者情報はこちら