-
Pythonの組み込み属性「__name__」とは?役割と使い方をわかりやすく解説
Pythonの組み込み属性 __name__ は、クラス、型、関数、メソッド、ディスクリプタ、ジェネレータインスタンスなど、オブジェクトの名前を取得・出力するために使われる特殊な属性です。__name__の基本的な動作Pythonインタープリタがモジュール(ソースファイル)をメインプログラムとして直接実行した場合、特殊変数 __name__ には __main__ という値が自動的に設定されます。一方、そのファイルが別のモジュールからインポートされた場合には、__name__ にはそのモジュール名が設定されます。この仕組みを利用することで、「スクリプトとして直接実行されたときだけ特定の処理を行
-
Pythonの組み込みクラス属性__module__とは?意味と使い方を解説
Pythonには、クラスやオブジェクトに関する情報を保持する便利な組み込み属性がいくつか用意されています。そのひとつが __module__ です。 この組み込みクラス属性は、呼び出すとその関数やオブジェクトがどのモジュール内で定義されたかを示すモジュール名(文字列)を返します。モジュール名が取得できない場合は None を返します。 たとえば、スクリプトとして直接実行しているファイル内でクラスを定義した場合、モジュール名は __main__ になります。これは、そのコードがメインプログラムとして実行されていることを意味します。 使用例 次のコードは、__module__ の実際の動作を示した
-
【Python】組み込みクラス属性「__bases__」の役割と使い方を解説
Pythonには、クラスオブジェクトにあらかじめ用意されている組み込みのクラス属性がいくつか存在します。そのひとつである__bases__は、参照するとそのクラスの基底クラス(親クラス)をタプル形式で返す属性です。 継承関係をプログラムから確認したい場合や、メタプログラミングでクラスの階層構造を動的に調べたいときに役立ちます。 __bases__の基本的な動作 以下のコードでは、親クラス(基底クラス)Aを継承した子クラスBを定義し、Bの__bases__を表示しています。 コード例 class A(object): pass class B(A): pass b = B()
-
Pythonでリストに別のリストを追加(結合)する方法を徹底解説
Pythonでは、既存のリストに別のリストを追加・結合する方法がいくつかあります。ここでは代表的な4つの手法を、サンプルコードと実行結果とともにわかりやすく解説します。 +演算子(連結演算子)を使う方法 最もシンプルなのが「+」演算子による連結です。2つのリストをつなげた新しいリストが生成され、元のリストは変更されません。 例 l1 = [1, 2, 3] l2 = [2, 3, 4] l3 = l1 + l2 print(新しいリスト:, l3) 出力 新しいリスト: [1, 2, 3, 2, 3, 4] append()メソッドを使う方法 listオブジェクトのappend()メソッド
-
Pythonでリストの最後の要素を取得する方法【初心者向け】
Pythonでリストの最後の要素を取得する基本方法 Pythonでは、リストをはじめとするシーケンス型オブジェクトに対して、インデックス(添字)を使って任意の要素にアクセスできます。インデックスは0から始まるため、最初の要素は「0」、2番目の要素は「1」というように指定します。 ここで重要になるのが負のインデックスです。負の数を指定すると、リストの末尾から逆順に数えて要素を取得できます。したがって、リストの最後の要素を取得したい場合は、インデックスとして -1 を指定するだけでOKです。 >>> L1 = [1, 2, 3, 4, 5] >>> print(
-
Pythonでリストの最後から2番目の要素を取得する方法
Pythonでリストの最後から2番目の要素を取得するには?Pythonでは、リストをはじめとするシーケンス型オブジェクトに対して、インデックス(添字)を使って各要素にアクセスできます。通常は0から始まるインデックスで要素を参照しますが、負の数を指定した場合は、リストの末尾から数えた位置として解釈されるのが特徴です。したがって、リストの最後から2番目の要素を取得したい場合は、インデックスとして -2 を指定します。>>> L1 = [1, 2, 3, 4, 5]>>> print(L1[-2])4この例では、リスト L1 の末尾から数えて2番目の要素である「4
-
Pythonのリストとタプルの違いとは?特徴と使い分けのポイントを解説
リストとタプルはどちらもシーケンス型 リスト(list)とタプル(tuple)は、どちらもPythonにおける「シーケンス型」に分類されるデータ型です。両者ともカンマで区切られた複数の要素を持ち、数値や文字列など異なる型のオブジェクトを混在させて格納することができます。 最大の違いは「可変か不変か」 リストとタプルの最も重要な違いは、リストが可変(mutable)であるのに対し、タプルは不変(immutable)であるという点です。 不変(イミュータブル)なオブジェクトは、一度メモリ上に作成されると内容を変更できません。そのため、タプルに対しては要素の追加・変更・削除が一切行えません。一方、
-
Pythonのタプルとリストの違いと共通点を徹底解説
Pythonには、複数の要素を順序付けて格納できる「シーケンス型」と呼ばれるデータ構造があります。その代表格がリスト(list)とタプル(tuple)です。どちらもカンマで区切った複数の要素を持ち、要素のデータ型が混在していても問題ありません。 リストとタプルの共通点 リストとタプルはどちらもシーケンス型であるため、連結・繰り返し・インデックス参照・スライスといった基本操作を共通して行うことができます。 連結・繰り返し・インデックス参照・スライス >>> # リストの操作 >>> L1 = [1, 2, 3] >>> L2 = [4,
-
Pythonでリスト内の要素のインデックス(位置)を取得する方法
Pythonでは、リスト(シーケンス型全般)に含まれる要素の位置を取得するには、index()メソッドを使用します。このメソッドは、指定した要素が最初に出現するインデックスを返します。index()メソッドの基本的な使い方リストに対してindex()を呼び出し、引数に検索したい要素を指定します。>>> L1=[45, 32, 100, 10, 24, 56] >>> L1.index(24) 4この例では、リストL1の中から値24を検索し、その位置であるインデックス4が返されています。Pythonのインデックスは0から始まるため、5番目の要素がインデックス4
-
Pythonで文字列やリストからタプルを作成する方法をわかりやすく解説
tuple()関数の基本的な使い方Pythonには、さまざまなオブジェクトをタプルに変換できる組み込み関数 tuple() が用意されています。この関数を使うことで、文字列を個々の文字からなるタプルに変換したり、リストオブジェクトをそのままタプルに変換したりできます。ここでは、それぞれの具体的な使い方を見ていきましょう。1. 文字列をタプルに変換する文字列を tuple() の引数として渡すと、各文字が1つの要素となったタプルが返されます。>>> tuple(TutorialsPoint) (T, u, t, o, r, i, a, l, s, P, o, i, n, t)こ
-
Pythonでインデックスを指定してリストから要素を削除する方法
Pythonでリストからインデックスを指定して要素を削除するには、主に2つの方法があります。del文を使う方法と、pop()メソッドを使う方法です。 del文で要素を削除する del文は、削除したい要素のインデックスを指定して使用します。指定した位置の要素がリストから取り除かれます。 >>> L1=[11,22,33,44,55,66,77] >>> del L1[2] >>> L1 [11, 22, 44, 55, 66, 77] 上記の例では、インデックス2(3番目の要素「33」)が削除され、リストの要素数が1つ減っています。del文は
-
Pythonでリストのリスト(ネストされたリスト)をフラット化する3つの方法
Pythonでは、ネストされたリスト(リストの中にリストが入った構造)を1次元のフラットなリストへ変換する(フラット化する)方法がいくつかあります。本記事では、代表的な3つの手法をコード例とともに解説します。 方法1:入れ子のforループを使う 最もシンプルで直感的なのが、二重のループを使う方法です。外側のループで親リストからサブリストを1つずつ取り出し、内側のループでそのサブリストから要素を1つずつ取得します。そして、各要素をあらかじめ用意した空のリスト(flat)に追加していきます。 L1=[[1,2],[3,4,5],[6,7,8,9]] flat=[] for i in L1:
-
Pythonで別のリストのインデックスを指定してリストから要素を削除する方法
Pythonでインデックスリストに基づいてリストの要素を削除する方法ここでは2つのリストを扱います。L1は要素を削除する対象となるリストオブジェクト、L2は削除したい要素のインデックスを格納したリストです。>>> L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]>>> L2 = [2, 4, 6]L2で指定されたインデックスにある要素をL1から取り除くには、まずL1からenumerateオブジェクトを作成します。enumerate()関数は、リスト内の各要素とそのインデックスをペアにしたタプルのコレクション(enumerateオブジェクト)を
-
Pythonでファイルの存在を確認する2つの方法|os.path.isfile()と例外処理の使い方
Pythonでは、特定のファイルがコンピューター上に存在するかどうかを、主に2つの方法で確認できます。1つ目はos.pathモジュールのisfile()関数を使う方法、2つ目は例外処理(try-except)を活用する方法です。それぞれの使い方を詳しく見ていきましょう。 方法1:os.path.isfile() 関数を使う os.path.isfile()は、指定したパスにファイルが存在する場合にTrueを返し、存在しない場合はFalseを返す関数です。最もシンプルで一般的な確認方法といえます。 >>> import os >>> os.path.is
-
Pythonの__str__と__repr__の違いを徹底解説!正しい使い分けのポイント
Pythonの__str__と__repr__、その違いとは? Pythonには、オブジェクトを文字列として表現するための組み込み関数として repr() と str() の2つが用意されています。これらはそれぞれ、内部で object.__repr__(self) と object.__str__(self) という特殊メソッド(ダンダーメソッド)を呼び出します。 repr() はオブジェクトの公式な(official)表現を計算して返すのに対し、str() は非公式な(informal)表現を返します。この違いを具体的に見ていきましょう。 整数オブジェクトの場合:両者の結果は同じ まず、
-
Pythonの「yield」キーワードとは?ジェネレータの仕組みと使い方を徹底解説
Pythonのyieldキーワードは、ジェネレータ(generator)を作成するために使用されます。その動作を理解するには、まず「イテラブル(iterable)」と「イテレータ(iterator)」について知っておく必要があります。 イテラブルとイテレータとは リスト、文字列、ファイルなどのPythonオブジェクトは「イテラブル」と呼ばれます。for ... in構文で走査(反復処理)できるオブジェクトが、すべてイテラブルです。 イテレータオブジェクトもイテラブルの一種ですが、一度しか反復処理できないという特徴があります。任意のイテラブルからはiter()関数を使ってイテレータを取得でき、イ
-
Pythonのタプルから最初の要素を取り除く方法
Pythonのタプルはイミュータブル(変更不可)Pythonにおいて、タプル(tuple)は定義上イミュータブル(不変)なオブジェクトです。そのため、リストのように pop() や remove() を使ってタプル自体から直接要素を削除することはできません。しかし、タプルを一度リストに変換 → 要素を削除 → 再びタプルに戻す という手順を踏めば、実質的に最初の要素を取り除くことが可能です。具体的なコード例>>> T1=(1,2,3,4) >>> L1=list(T1) # タプルをリストに変換 >>> L1.pop(0) #
-
Pythonでタプルをスライスする方法を徹底解説!基本構文から省略記法・ステップ指定まで
タプルのスライシングとは? Pythonにおけるスライス演算子は、タプルを含むすべてのシーケンス型データに対して使用できます。スライシングとは、シーケンス(ここではタプル)から一部を切り出して取り出す操作のことです。スライスに使用する記号はコロン「:」です。 スライス演算子には2つのオペランド(値)を指定します。 第1オペランド: 切り出す範囲の開始要素のインデックス 第2オペランド: 範囲に含めたい最後の要素のインデックス + 1 重要なポイントとして、スライスの結果もまたタプルになるという点が挙げられます。以下の例を見てみましょう。 >>> T1 = (10, 50,
-
Pythonのタプルに要素を追加する方法【リスト変換と連結のテクニック】
Pythonのタプルは変更不可(イミュータブル)なオブジェクト Pythonのタプル(tuple)はイミュータブル(変更不可)なオブジェクトです。そのため、append()のような要素を追加・変更しようとする操作は許されず、直接実行するとエラーが発生します。 しかし、一度タプルをリストに変換して操作した後、再びタプルへ戻すという方法を使えば、結果的に「タプルへ要素を追加した状態」を実現できます。 タプルへの要素追加の手順 具体的には、以下の2つの組み込み関数を使用します。 list(): タプルをリストに変換する tuple(): リストをタプルに変換する まず list() 関数でタプ
-
Pythonのタプルは不変(イミュータブル)だが、値を追加する方法はあるのか?
タプルは変更できないオブジェクトPythonのタプル(tuple)は不変(イミュータブル)なオブジェクトです。そのため、append() や insert() のように要素を追加・挿入しようとする操作は許されず、実行するとエラーが発生します。しかし、実際の開発では「既存のタプルに要素を追加したい」という場面に遭遇することがあります。このような場合には、次のような回避策が有効です。解決策:リストを経由して新しいタプルを作る手順は以下のとおりです。組み込み関数 list() を使って、タプルをリストに変換します。リストであれば自由に append() や insert() で要素を追加できます。最