-
Pythonのreturnステートメントとは?print()との違いをわかりやすく解説
Pythonのprint()関数は、文字列や数値をコンソールに出力(表示)するための関数です。一方、returnステートメントは、関数が呼び出されたときにその戻り値を画面に表示するものではありません。 returnステートメントの主な役割は次の2つです。 関数内で処理した結果(値)を、呼び出し元へ返すこと returnが実行された時点で、たとえそれが関数の最後の文でなくても、関数を即座に終了させること 値を返す関数は「実りある関数(fruitful function)」と呼ばれることがあります。また、多くの他のプログラミング言語では、値を返さない関数は「プロシージャ(procedure)」
-
Python関数の引数の数を取得する方法【inspectモジュール活用】
Python関数の引数の数を調べるには? たとえば、次のようなスクリプト qux.py があるとします。 #qux.py def aMethod1(arg1, arg2): pass def aMethod2(arg1, arg2, arg3, arg4, arg5): pass このスクリプトの中身が分からない(ソースコードにアクセスできない)場合でも、Pythonの標準ライブラリである inspect モジュールを使えば、関数が受け取る引数の数や名前を簡単に調べることができます。 inspectモジュールで引数の一覧を取得する まず、inspect モジュールをインポー
-
Pythonで関数を定義する方法!defキーワードの基本構文と使い方を解説
Pythonの関数とは?関数(function)とは、名前を指定して呼び出すことができる、ひとまとまりのコードのことです。関数には処理の対象となるデータ(引数・パラメータ)を渡すことができ、必要に応じて結果(戻り値)を返すことも可能です。なお、関数に渡されるデータはすべて明示的に指定する必要があります。関数を定義する基本構文def function_name(): # 実行したい処理をここに書くPythonでは、defキーワードに続けて半角スペース、関数名、括弧「()」、そしてコロン「:」を記述することで関数を定義します。その次の行には、インデント
-
Pythonの関数とオブジェクトメソッド、どちらがより基本的?
Pythonにおける「関数」とは何か Pythonにおいて、関数とは「呼び出し可能(callable)」なオブジェクトのことです。つまり、呼び出し演算子 () を使って実行できるオブジェクトを指します。ただし、関数だけが呼び出せるわけではありません。__call__ という特殊メソッドを実装すれば、どんなオブジェクトでも関数のように振る舞わせることができます。 関数の定義例 def a(): pass # a() は関数の一例 print(a) print(type(a)) 出力結果 <function a at 0x0000000005765C18> <clas
-
Python関数の戻り値を徹底解説!return・yield・ジェネレータの違いとは
Pythonにおけるreturn文は、関数の実行を終了し、呼び出し元へ値を返すための構文です。関数は本来「入力を受け取り、何らかの結果を返す」ことを目的としています。return文が実行されると、それが関数内の最後の文でなくても、その時点で即座に関数の処理は終了します。 なお、値を返す関数は「実りある関数(fruitful functions)」と呼ばれることもあります。 return文の基本例 次のコードは、2つの引数の合計を返す関数の例です。 def sum(a, b): return a + b print(sum(5, 16)) 出力結果 21 ジェネレータとは? ジェネレー
-
Pythonの関数がハッシュ可能な理由とその仕組みを徹底解説
ハッシュ可能(hashable)とは何か? オブジェクトが「ハッシュ可能」であるとは、その生存期間中にハッシュ値が変化しないことを意味します。具体的には、__hash__() メソッドを持っていることに加えて、他のオブジェクトとの比較が可能である必要があります。この比較には __eq__() または __cmp__() メソッドが用いられます。 重要なルールとして、比較した結果「等しい」と判定されたハッシュ可能なオブジェクト同士は、必ず同じハッシュ値を持たなければなりません。 ハッシュ可能性が重要な理由 ハッシュ可能であることは、そのオブジェクトを辞書(dict)のキーや集合(set)の要素
-
ターミナルから複数の引数を渡してPython関数を実行する方法
Pythonで、ターミナル(コマンドライン)から入力された引数を受け取って関数を実行したい場合は、まず sys モジュールをインポートします。そして、sys.argv を使うことで、コマンドラインで指定された引数を文字列のリストとして取得し、それを関数に渡して実行できます。 サンプルコード # fubar.py import sys def print_funcargs(arg1, arg2, arg3): print(arg1 + + arg2 + + arg3) if __name__ == __main__: a = sys.argv[1] b = s
-
Python関数に辞書を引数として渡す方法をわかりやすく解説
Pythonでは、辞書(dict)をそのまま関数の引数として渡すことができます。関数の中では、受け取った辞書のキーと値のペアを順番に取り出して処理し、結果を出力することが可能です。 以下のコードでは、辞書 d を関数 f の引数として渡し、関数内で各キーと値のペアに対して「値 × 2」の計算を行っています。 例 d = {a: 1, b: 2, c: 3} def f(dict): for k, v in dict.items(): print(k, 2 * v) f(d) 出力 a 2 b 4 c 6 コードの解説 辞書 d には、キー a・b・c に対して、そ
-
Pythonで文字列内のタブを複数のスペースに展開・置換する方法
Pythonで文字列内のタブを複数のスペースに展開する方法Pythonでは、文字列クラスに標準で用意されている replace() メソッドを使うことで、タブ文字(\t)を任意の数のスペースに簡単に置き換えられます。このメソッドは「置き換え対象の文字列」と「置き換え後の文字列」を引数として受け取り、文字列オブジェクトに対して呼び出します。print(Hello\tWorld\tin\tthis string.replace(\t, ))出力:Hello World in this string上記の例では、各タブ文字が半角スペース4つに置き換えられています。必要に応じ
-
Python関数からJSONオブジェクトを返す方法をわかりやすく解説
Pythonの関数からJSONオブジェクト(JSON形式の文字列)を返すには、標準ライブラリの json モジュールに含まれる json.dumps() 関数を使用します。この関数は、Pythonの辞書(dict)などのオブジェクトをJSON形式の文字列へ変換(シリアライズ)してくれます。 基本的な例 以下は、Pythonの辞書をJSON文字列に変換して返す関数のシンプルな例です。 import json # Pythonの辞書 a = {name: Sarah, age: 24, isEmployed: True} def retjson(): python2json = jso
-
JSONオブジェクトをPython関数の引数として渡す方法
Pythonでは、JSON形式の文字列をそのまま関数に渡し、関数内でjson.loads()を使って辞書(dict)に変換して扱うことができます。以下に、JSONオブジェクトを関数のパラメータとして渡す基本的な例を示します。サンプルコードimport json json_string = {name:Rupert, age: 25, desig:developer} print type(json_string) def func(strng): a = json.loads(strng) print type(a) for k, v in a.iteritems(
-
【Python】sqlite3モジュールでSQLiteデータベースにデータを保存・取得する方法
Pythonでは、標準ライブラリのsqlite3モジュールを使用することで、SQLiteデータベースを手軽に操作できます。以下のコードでは、sqlite3モジュールをインポートしてデータベース接続を確立し、テーブルを作成した後、データの挿入と取得を行い、最後に接続を閉じるまでの一連の流れを紹介します。 サンプルコード #sqlitedemo.py import sqlite3 from employee import employee # データベースに接続 c = conn.cursor() # テーブルを作成 c.execute(CREATE TABLE employee(firs
-
MATLABからPython関数を呼び出す方法を徹底解説
MATLABでは、バージョン2014b以降からPythonライブラリが標準で利用できるようになりました。そのため、2014b以降のバージョンを使用していれば、MATLAB上で直接Pythonコードを実行することが可能です。PythonモジュールをMATLABで使う基本この機能により、MATLABの中でPythonモジュールを活用できます。特別な設定は一切不要で、使用したいPythonライブラリ名の前に「py」というプレフィックスを付けるだけで呼び出せます。ここでは、Pythonのcalendarモジュールを例に、うるう年の判定を行ってみましょう。py.calendar.isleap(2016)
-
EclipseのコマンドラインでPython関数を実行する方法
```html Eclipse上でPythonプログラムを開発・実行するには、PyDevというプラグインを利用するのが一般的です。PyDevを導入すると、Eclipseから直接Pythonアプリケーションを実行できるだけでなく、PyDevコンソール(コマンドライン)を使って対話的にコードを動かすことも可能になります。 PyDevのインストール まず、Eclipse Marketplaceまたは「ヘルプ」→「新規ソフトウェアのインストール」からPyDevをインストールします。インストール後、Pythonインタープリターのパスを設定すれば、開発環境の準備は完了です。 コマンドライン(PyDev
-
Pythonの変数スコープ基本ルールとは?LEGBルールをわかりやすく解説
Pythonにおける変数の参照順序(スコープの解決方法)を理解するうえで、最も有名なのが「LEGBルール」です。これは、Mark Lutz氏の名著『Learning Python』の中で紹介されている記憶術で、Pythonが変数を探す順序を4つの頭文字で表したものです。LEGBルールとは?Pythonは変数を参照する際、最も狭いスコープから最も広いスコープへと、以下の順序で名前を探します。L:Local(ローカル)現在実行中の関数内で定義された変数を指します。関数の内部で代入された変数は、その関数のローカルスコープに属します。E:Enclosing(エンクロージング)別の関数を囲む外側の関数(
-
Pythonコードが関数内でより高速に実行されるのはなぜ?理由を徹底解説
Pythonのコードを通常どおり実行した場合と、関数の中で実行した場合を比較すると、後者の方が高速に動作することが知られています。では、なぜPythonコードは関数内でより速く実行されるのでしょうか。本記事ではその理由をわかりやすく解説します。 ローカル変数はグローバル変数より高速 一般的に、Pythonの関数内では、グローバル変数よりもローカル変数を扱う方が高速であることが分かっています。この違いは、次のように説明できます。 ローカル変数とグローバル変数の格納・読み出しにかかる時間の差に加えて、「オペコード予測(opcode prediction)」と呼ばれる仕組みも、関数の実行を高速化す
-
Pythonで関数が例外を発生させることをテストする方法(unittestのassertRaises活用)
Pythonのユニットテストでは、「関数が期待どおりの例外を投げない場合にのみ失敗する」というテストを書くことができます。これは、型安全性やエラーハンドリングの正しさを検証するうえで非常に重要な手法です。ここでは、Python標準ライブラリの unittest を使って、関数が例外をスローすることを確認する方法を解説します。例外発生をテストするサンプルコードたとえば、整数と文字列を足し合わせると TypeError が発生することを確認するコードは、以下のように書けます。Pythonシェルにそのまま貼り付けて実行できます。import unittest class MyTestCase(uni
-
Pythonの関数名・識別子に使用できる文字とは?命名ルールを徹底解説
Pythonにおける識別子(Identifier)とは? Pythonにおいて、クラス名、関数名、変数名など、プログラム内のさまざまな要素に付ける名前のことを識別子(identifier)と呼びます。識別子は、それぞれの要素を他と区別するために欠かせないものです。 この記事では、関数名や変数名としてどのような文字が許可されているのか、そのルールと注意点を具体例とともに解説します。 識別子に使用できる文字のルール Pythonの識別子には、以下の文字を組み合わせて使用できます。 英字の小文字(a〜z) 英字の大文字(A〜Z) 数字(0〜9) アンダースコア(_) たとえば myClass、
-
Pythonのデフォルト引数とは?基本的な使い方をサンプルコードで解説
Pythonでは、関数の引数にデフォルト値(初期値)を設定できます。関数を呼び出す際にその引数が省略された場合、自動的にデフォルト値が適用される仕組みです。 デフォルト引数の基本 Pythonは、関数引数の構文やデフォルト値の扱い方において、他のプログラミング言語とは少し異なる独自のアプローチを採用しています。デフォルト値とは、関数呼び出し時に引数の値が渡されなかった場合に、その引数が取る値のことです。 デフォルト値は、代入演算子(=)を使って設定します。以下がデフォルト引数の典型的な構文です。この例では、foo パラメータに Come here! というデフォルト値が設定されています。 de
-
Pythonの必須引数とは?関数に必要な引数の基本をわかりやすく解説
Pythonにおける必須引数(Required Arguments)とは 必須引数とは、関数を定義した際に指定された、呼び出し側が必ず渡さなければならない引数のことです。関数を呼び出すときは、定義された引数の数と順序を正しく守って値を渡す必要があります。 例えば、次のような関数を見てみましょう。 def requiredArg(str, num): print(str, num) # 正しい呼び出し方:2つの引数を渡す requiredArg(Hi, 15) # 誤った呼び出し方:引数が1つしかない requiredArg(Hello) このコードを実行すると、以下のような出