Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. Pythonでバイトリテラルを文字列に変換する方法|decode()の使い方を解説

    バイトリテラル(bytesオブジェクト)をPythonの文字列(str)に変換するには、デコード処理が必要です。最も基本的な方法は、bytesオブジェクトが持つ decode() メソッドを使うことです。 decode()メソッドを使った変換 decode() メソッドには、バイト列のエンコーディング(文字コード)を指定します。以下は、UTF-8でエンコードされたバイトリテラルを文字列に変換する例です。 >>> babcde.decode(utf-8) abcde このように、バイトリテラル babcde が通常の文字列 abcde に変換されます。なお、エンコーディン

  2. Pythonに文字列の「contains」メソッドはある?部分文字列の判定方法をわかりやすく解説

    結論から言うと、Pythonには「contains」という部分文字列判定用のメソッドは存在しません。しかし、代わりに使える方法が2つあります。「in」演算子と「find()」メソッドです。それぞれの使い方を詳しく見ていきましょう。1. 「in」演算子で部分文字列を判定するPythonには、ある文字列が別の文字列に含まれているかどうかを調べるための「in」キーワードが用意されています。最もシンプルでPythonらしい書き方です。>>> ello in hello world True >>> no in hello Falseこのように、含まれていれば Tru

  3. 【Python】辞書形式の文字列をdict型に変換する2つの安全な方法

    はじめにPythonでは、文字列として表現された辞書(例:{foo: bar})を、実際の辞書(dict型)オブジェクトに変換したい場面がよくあります。この記事では、代表的な2つの変換方法である ast.literal_eval() と json.loads() の使い方を解説します。方法1: ast.literal_eval() を使うast.literal_eval() を使うと、文字列をPythonの式として安全に評価できます。この関数は、式ノードまたはPython式を含む文字列を評価しますが、許可されているのは文字列・数値・タプル・リスト・辞書・ブール値・Noneといったリテラル構造の

  4. Pythonで文字列から数字を抽出する方法【isdigitと正規表現の使い分け】

    正の整数だけを抽出するシンプルな方法文字列に含まれる正の整数だけを取り出したい場合は、split()で空白ごとに文字列を分割し、isdigit()で各要素が数字のみで構成されているかを判定する方法が手軽です。>>> s = h3110 23 cat 444.4 rabbit 11 2 dog >>> [int(x) for x in s.split() if x.isdigit()] [23, 11, 2]この方法では、すべてが数字で構成された要素だけが整数に変換されてリストに追加されます。そのため「h3110」のように文字と数字が混ざった語句や、「444.

  5. Pythonで文字列から特定の文字を削除する方法【replace・正規表現・translate】

    replace()メソッドで文字を削除する基本の方法Pythonの文字列(str型)には、部分文字列を別の文字列へ置き換えるためのreplace()メソッドが用意されています。削除したい文字を空文字列()に置き換えることで、その文字を取り除くことができます。>>> Hello people.replace(e, ) Hllo popl正規表現(re.sub)で複数の文字を一度に削除する1行のコードで複数種類の文字をまとめて削除したい場合は、正規表現モジュール re を使うのがおすすめです。削除したい文字を「|」(OR条件)で区切って指定し、re.sub(置換対象パターン, 置

  6. Pythonで16進文字列をintに変換する方法をわかりやすく解説

    Pythonで16進文字列をintに変換する基本 Pythonでは、組み込み関数 int() を使うことで、16進数の文字列を簡単に整数(int型)へ変換できます。16進文字列には一般的に「0x」というプレフィックスが付いており、その有無によって指定方法が少し異なります。 「0x」プレフィックスがある場合 文字列に「0x」プレフィックスが付いている場合は、int(文字列, 0) のように第2引数に 0 を指定します。こうすることで、Pythonがプレフィックスをもとに基数を自動的に判別してくれます。 >>> int(0xfe43, 0) 65091 「0x」プレフィックス

  7. 【Python】変数名を文字列として取得する方法とその注意点

    Pythonにおける変数名の仕組み 実は、Pythonでは「変数名を取得する」という操作は本来想定されていません。なぜなら、Pythonの変数とはオブジェクトへの名前のマッピング(参照)にすぎないからです。 Pythonにおいて正規名(canonical name)を持つのは、モジュール、関数、クラスのみです。さらに、関数やクラスが定義された後、あるいはモジュールがインポートされた後に、その正規名が任意の名前空間で意味を持つ保証はありません。加えて、これらの名前はオブジェクト生成後に変更されることもあるため、必ずしも信頼できるものではない点に注意が必要です。 変数名を文字列として取得する方法

  8. Pythonで大文字と数字を組み合わせたランダム文字列を生成する方法

    Pythonでは、random.choice() を使うことで候補リストの中からランダムに1文字を取得できます。これを指定した回数だけ繰り返してリストに格納し、最後に join() で連結すれば、ランダムな文字列が完成します。ここでの「候補」となるのは、大文字のアルファベット(string.ascii_uppercase)と数字(string.digits)です。以下に関数化した例を示します。関数を使って生成する基本形import string import random def get_random_string(length): random_list = [] for

  9. Pythonの文字列は不変(イミュータブル)!同じ文字列でもid()が変わる仕組みを解説

    Pythonにおいて、文字列(str型)は不変(イミュータブル)なオブジェクトです。つまり、一度作成された文字列は後から変更できません。また、Pythonでは同じ内容の文字列を作成して別々の変数に代入した場合、両方の変数が同じ文字列オブジェクト(同じメモリ領域)を参照するように最適化されることがあります。実際に確認してみましょう。同じ文字列は同じid()を持つケース>>> a = hi >>> b = hi >>> id(a) 43706848L >>> id(b) 43706848Lこのように、変数aと変数bはまったく同

  10. Pythonでバックスラッシュ(円記号)が2回表示されるのはなぜ?エスケープ文字の仕組みを解説

    Pythonでバックスラッシュ(円記号)が2回表示されるのはなぜ?Pythonで文字列を出力したとき、バックスラッシュ(日本語環境では「¥」と表示されることもあります)が2つ連なって見えた経験はありませんか?これは、バックスラッシュが「エスケープ文字」として動作しているためです。本記事では、その仕組みと正しい対処法を初心者向けにわかりやすく解説します。バックスラッシュは「エスケープ文字」バックスラッシュ(\)は、文字列の中で特別な意味を持つ文字を、普通の文字として扱うためのエスケープ文字です。シングルクォートやダブルクォート、改行などを文字列に含めたいときに使用されます。代表的なエスケ

  11. Pythonで関数名を文字列として取得する方法を解説

    Pythonで関数名を文字列として取得するには?Pythonでは、すべての関数に __name__ という特殊な属性が自動的に付与されています。この属性にアクセスすることで、関数名を文字列として簡単に取得できます。基本的な使い方以下の例を見てみましょう。まず、シンプルな関数を定義し、その __name__ 属性を出力します。def some_func(): return 0 print(some_func.__name__)このコードを実行すると、次のような出力が得られます。some_func活用シーンの例この __name__ 属性は、以下のような場面で特に役立ちます。デバッグやロ

  12. 【Python】文字列として書かれたPythonコードを実行する方法:exec()とeval()の使い分け

    exec()でPythonのステートメントを実行する 文字列として記述されたPythonのコード(ステートメント)を実際に実行したい場合は、組み込み関数のexec()を使用します。引数に渡された文字列がPythonのコードとして解釈され、その場で実行されます。 >>> my_code = print(Hello World!) >>> exec(my_code) Hello World! 上記の例では、変数my_codeに格納された文字列がexec()によってコードとして評価され、「Hello World!」が出力されています。 eval()で式の値を評価

  13. Pythonで複数行の文字列を作成する方法【初心者向け】

    Pythonで複数行にわたる長い文字列を作成したい場合、通常のシングルクォート()やダブルクォート() を1組使う代わりに、三重引用符(トリプルクォート)を使用します。シングルクォート3つ()でもダブルクォート3つ()でも動作しますが、一般的にはダブルクォート3つがよく使われます。基本的な書き方以下のように、開始と終了をそれぞれ3つのクォートで囲むだけで、改行を含む文字列をそのまま定義できます。multiline_str = My multi-line string print(multiline_str)このコードを実行すると、次のような出力が得られます。My multi-line st

  14. Pythonで複数の文字列のいずれかが別の文字列に含まれているか判定する方法

    Pythonでは、リスト内の複数の文字列のうち、どれか1つでも別の文字列に含まれているかどうかを調べたい場面がよくあります。そんなときに便利なのが、組み込み関数 any() を使った方法です。 any() 関数を使う基本的な方法 any() は、引数に渡したイテラブルの中に真と評価される要素が1つでもあれば True を返します。ジェネレータ式と組み合わせることで、各文字列が対象の文字列に含まれているかを簡潔に判定できます。 例 arr = [a, e, i, o, u] text = hello people if any(c in text for c in arr):

  15. Python 3で文字列をバイト列に変換する方法【encode()の使い方を解説】

    Python 3で文字列をバイト列に変換する方法 Python 3で文字列(str型)をバイト列(bytes型)に変換するには、文字列クラスが標準で持っている encode() メソッドを使用します。最も一般的なのは、エンコーディングとして utf-8 を指定する方法です。 基本的な使い方 >>> s = uHellΘ WΘrld >>> s.encode(utf-8) bHell\xce\x98 W\xce\x98rld この例では、Unicode文字「Θ」がUTF-8でエンコードされ、2バイトのシーケンス \xce\x98 に変換されています。戻り値には

  16. Pythonで文字列が空かどうかを確認する最も洗練された方法とは?

    Pythonで文字列が空かどうかを判定する最もシンプルで「Pythonic」な方法は、not 演算子を使うことです。Pythonでは空の文字列は「falsy(偽値)」として扱われ、ブール値のコンテキストでは False と評価されます。そのため、if not string: という条件式だけで空文字列のチェックが可能です。 基本的な使い方 string = if not string: print(Empty String!) 出力 Empty String! このコードを実行すると、変数 string が空であるため、「Empty String!」が出力されます。 空白文字を含む場

  17. Pythonで文字列のエスケープシーケンスを処理・解除する2つの方法

    Pythonでエスケープシーケンスを処理する2つの方法 Pythonでバックスラッシュによるエスケープが含まれた文字列を、実際の制御文字(改行など)に変換して表示する(アンエスケープする)には、主に2つの方法があります。 方法1:ast.literal_eval を使う 1つ目は、ast.literal_eval を使って文字列を評価する方法です。この方法では、対象の文字列をさらに一重の引用符で囲む必要がある点に注意してください。 >>> import ast >>> a = "Hello,\\nworld" >>>

  18. Pythonで範囲外のスライスがエラーにならない理由とは?インデックス指定との違いを解説

    はじめに:スライスとインデックスの挙動の違いPythonでは、シーケンス(リスト、文字列、タプルなど)に対して範囲外のスライスを指定してもエラーにはなりません。一方で、範囲外のインデックスで要素にアクセスすると IndexError が発生します。この違いは一見不思議に思えますが、両者の設計思想を理解すれば納得できるものです。なぜスライスはエラーにならないのかポイントは、インデックスは「単一の要素」を返すのに対し、スライスは「部分シーケンス」を返すという点にあります。インデックス指定:存在しない位置の要素を要求した場合、返せる「値」そのものが存在しないため、エラー(IndexError)を発生

  19. Pythonで浮動小数点数を固定幅にフォーマットする方法を解説

    文字列フォーマットで固定幅を指定する Pythonでは、文字列フォーマット機能を使うことで、浮動小数点数(float型)を任意の固定幅に整形して表示できます。たとえば、小数点の位置を揃えるために「全体の幅を12文字」「小数点以下を4桁」に指定したい場合は、format()メソッドを次のように使います。 >>> x = 12.35874 >>> print({:12.4f}.format(x)) 12.3587 書式指定 {:12.4f} のうち、「12」が出力全体の幅(文字数)、「.4f」が小数点以下4桁の浮動小数点数であることを意味します。デフォ

  20. Pythonで文字列のリストを並べ替える方法:sort()とsorted()の使い分け

    Pythonでは、文字列のリストを並べ替える方法が2つ用意されています。リスト自体を直接変更するsort()メソッドと、元のリストを保持したまま新しい並べ替え済みリストを作成するsorted()関数です。それぞれの特徴と使い方を解説します。 sort()メソッドでリストをその場で並べ替える sort()は、リストそのものを並べ替える「in-place(破壊的)」な操作です。元のリストの順序が直接変更されるため、戻り値を受け取る必要はありません。 >>> a = [Hello, My, Followers] >>> a.sort() >>>

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:11/450  20-コンピューター/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17