【Python学習帳】011_リスト生成
初学者を対象としている京都大学の無料Python教材の学習中です。
「プログラミング演習 Python 2021」
Version2021_10_08_01.pdf
をCC-BY-NC-NDライセンスに従って引用します。
本教材での到達目標:
● Python によるプログラムの実行についての基本操作ができるようになる.
● Python プログラムを構成する基本的要素の機能と書式について説明し,例題を用いて実行例を構成できるようになる.
● Python を用いて簡単なプログラムを自ら設計,実装,テストできるようになる.
第4章の勉強中で、リスト生成について学んでいます。
4.4.2 range() 関数との組みあわせ
ですが
空のリストは list クラスのオブジェクトとして
e = list() でも生成できます.
クラスもオブジェクトもPython プログラムの構成を理解するためには大切な基本的要素で、後日改めて勉強します。著作権が気になりつつも例えがわかりやすいので参考までに以下リンクしておきます。
今は空の入れものを作ってそこにデータを格納していくのだなと理解。
確かに空のリストを作ることができました。
また、
通し番号を生成する range() 関数と組み合わせて
n = list(range(5))
と書けば
0 から 5 未満の数値を要素とするリスト
であるオブジェクトnが作られます。
range()についていろいろな使い方を実例入りで解説して下さっている記事がありました。
続いて
4.4.3 文字列からの生成
文字列からリストを生成することも可能です.
s = list('abcde') と入力
することで
['a', 'b', 'c', 'd', 'e'] が得られ,s は文字列 'abcde' を1文字ずつ分解したものであることが分かります.
さらに
文字列クラスには特定の文字で文字列を区切った単語リストを作る split() メソッドがあります.
例えば t = "a textbook of Python" tlist = t.split() とすると
['a', 'textbook', 'of', 'Python'] が得られ,空白を区切りとした単語のリストが得られていることが分かります.
このメソッドは引数なしで呼ぶと空白を区切り文字に文字列を分割します.区切り文字の指定も可能で す.英文ですが例えば Python Shell で help(str.split) と入力して解説を読むことができます.
参考情報として文字列を分ける方法がいろいろ紹介されているので紹介しておきます。
教材にはメソッドとは何かも書かれています。
先の例で文字列を空白で分割する split() というメソッドを用いましたが,Python で扱うデータなどは一般に「オブジェクト」と呼ばれますが,その種別ごとにデータの型やデータの値に対する操作が予め定められています.
このような操作を「メソッド」と呼び,変数名のあとの「.」(ピリオド)を付け,その後にメソッド名と 「()」を書いて呼び出します.
後の章で紹介する「関数」とメソッドは良く似ていますが,関数は特定のオブジェクトに紐づけられていないのに対し,メソッドは紐づけられたオブジェクトを主な操作の対象とします.
呼び出し方はほぼ同じです.
メソッドの定義を含むデータの型をプログラマが設定する方法として「クラス」があり,これも後の章で紹介します
そもそもメソッドと関数が違うとかあまりちゃんとわかっていなかったです。
メソッドについての参考記事も探しはしました。しかしながら初学者にすぐにわかる情報量ではなさそうです。
教材でも4章の中でまた関数やメソッドを体験していけるような構成となっていますので後日また。
次回は作ったリストの要素へのアクセス方法を学びます。