【基本を学ぶ2:超初学者向け】Pythonプログラミング入門

Pythonプログラミング入門



さて前回の記事では

Pythonを初めて学ぶ初学者向けに

悩むペン銀

Pythonに何ができるのか具体的に知りたい

Pythonの基本構文を学んで見たい

Pythonを実際にコーディングして学習したい



この様な疑問・要望に答える内容でした。


本記事ではその続編です。Pythonの基本構文に関する学びを深め
実際に手を動かしてPythonプログラマとしてレベルアップする
道のりを一緒に歩いていきましょう。






Pythonにおける構文理解


文字列操作(おさらい)


オペーレータ

前回の記事
で数字を操作できることを学んだ様に
文字列も操作することができます。
ターミナル
を開き、Pythonを起動。
以下のコードを入力して出力結果を確認して見ましょう。
(>>>はPythonとの対話環境を表しています。入力する必要はありません。)

# 文字列同士は+(プラス)のオペレータで連結することが可能です。
>>> "Hello" + " "+ "World!"
'Hello World!'
>>> "my name is" + "seimei"
'my name is seimei'


関数

文字列の連結が確認できたら
いくつかの関数を文字列操作に適用して見ましょう。

# len()は入力に文字列を受け取り、その文字列長を返します。
>>> my_name="seimei"
>>>len(my_name) 
6


データ型関数

前回はデータ型関数について少しだけ学びました。
ここではもう少し学びの知見を貯めていきましょう。
コピペせず、自分の手を動かして出力を確認してくださいね。

“自分の手を実際に動かすこと”がPython習得の最短ルートです。

## (文字列).capitalize()は入力に文字列を受け取り
## 先頭の小文字を大文字に変換して返します
>>> low_case_string =  "konnichiwa"
>>> low_case_string.capitalize()
'Konnnichiwa'
# (文字列).format()は文字列の中に文字列を組み込み返します
>>> name = "nihon tarou"
>>> say_hello= "My name is {}".format(name)
>>> say_hello
'My name is nihon tarou'
## 文字列.strip()は文字列の中より空白を取り除き返します 
>>> are_you_happy = "    yes    "
>>> answer = are_you_happy.strip()
>>> answer
'yes'



リスト型


リストは他の多くのプログラミング言語では配列とも呼ばれます。
リストはこれまで整数型や文字列型を勉強しましたがこのあと学ぶ辞書型やタプル型その他様々な型の値を格納することができるデータ型です。

例えば


  • a_list = []

  • num_list = [1,2,3]

  • string_list = [“time”, “school”, “mind”]

  • mix_list = [“seimei”, [1,1,1], True]

  • この様に、リストはどんなデータ型であったとしても格納することができます。
    そして、これら格納されたデータにはインデックスを活用してアクセスすることが可能です。

    >>> a_list = []
    >>> a_list
    []
    >>> num_list = [1,2,3,100]
    >>> num_list
    [1,2,3,100]
    >>> str_list = ["test","school","run"]
    >>> str_list
    ['test','school','run']
    >>> mix_list = ["my name is seimei", [1,2,2], True] 
    >>> mix_list
    ['my name is seimei', [1,2,2], True]
     
    

    リストに格納された要素には
    以下に示す様にインデックスを指定し取得します。

    >>> num_list = [1,2,3,100]
    >>> num_list[0]
    1
    >>> numb_list[0:1]
    [1]
    >>> numb_list[0:2]
    [1, 2]

    リストに格納された要素にアクセスすることで
    新たなリストを作り出すこともできます。

    >>> new_list = num_list[0:3]
    >>> new_list
    [1, 2, 3]

    -(マイナス)を付けたインデックスを指定すると
    リストの最終列(右側)より数え上げます。

    >>> str_list = ["test","school","run"]
    >>> strings_list[-1]
    'run'

    リストの中に格納されたリストにアクセスするには
    [](括弧)を2つ使用します。

    >>> mix_list = ["my name is seimei", [1,2,2], True] 
    >>> mixed_list[1][2]
    2


    リスト操作


    オペレータ

    リストも文字列同様、結合することができます。

    >>> fruits = ["apples", "grapes", "oranges"]
    >>> veggies = ["corn", "kale", "mushrooms"]
    >>> grocery_list = fruits + veggies
    >>> grocery_list
    ['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']
    


    関数

    一般的にリストは、「1つ1つのデータが要素である」と言う点において
    文字列と同等であると考えても良いです。
    つまり何を言いたいのかと言うと
    文字列操作に使用して来た関数およびデータ型関数は
    リストにも適用可能
    と言うことです。

    実際に確認していきましょう。

    # len()はリストを受け取り、そのリスト長を返します
    >>> num_list =  [1, 2, 3, 100]
    >>> len(num_list)
    4
    # リストのインデックスを指定することで
    # スライスすることができます
    >>> name = ["S", "e", "i", "m", "e", "i"]
    >>> name[2]
    'i'
    >>> name[3]
    'm'
    >>> name[0]
    'S'
    >>> name[0:2]
    ['S', 'e']


    データ型関数

    もう一度Pythonの公式ドキュメントをみて
    データ型関数を確認して見ましょう。

    # リスト.append()はリストの最終列に要素を追加します 
    # 入力はどんなデータ型でも対応しています
    >>> animals = ["dog", "cat", "pig"]
    >>> animals.append("bird")
    >>> animals
    ['dog', 'cat', 'pig', 'bird']

    # リスト.sort()は格納された要素を順番に並べ替えます
    # 以下の例であれば文字列の先頭をアルファベット順に並べ替えています。
    >>> animals.sort()
    >>> animals
    ['bird', 'cat', 'dog', 'pig']
    
    # リスト.pop() リストから指定されたインデックスないの要素を抜き出します
    >>> num_list = [1, 2, 3, 100]
    >>> num_list.pop(2)
    3
    >>> num_list
    [1, 2, 100]
    



    タプル型


    タプルはリストと似ています。
    特徴は中の要素が不変であると言うことです。

    つまりタプル内に格納された要素は変更することができません。
    例を見ていきましょう。

    >>> created_tuple = ("seimei", "car", 22, 12)

    見てわかる様にタプルにはインデックスを利用して格納された要素にアクセスすることが可能です。

    >>> created_tuple = ("seimei", "car", 22, 12)
    >>> created_tuple[1]
    "car"

    タプルは要素を不変として格納することができる。と言う理由から、よく後に紹介する辞書におけるキーを格納しておくことに使用されます。


    タプル操作


    オペレータ

    タプルはリストと同様に要素を追加することができます。
    ただ追加した後は要素を変更することができません。

    >>> tuple_1 = (1, 2)
    >>> tuple_2 = (3, 4)
    >>> tuple_3 = tuple_1 + tuple_2
    >>> tuple_4
    (1, 2, 3, 4)

    関数

    # list()はタプルをリスト型に変換して返します
    >>> tuple_1 = (1, 2)
    >>> list(tuple_1)
    [1, 2]



    データ型関数

    タプルは不変であるため多くのリストを操作するデータ型関数は
    タプルを操作することができません

    >>> tuple_1 = (1, 2)
    >>> tuple_1.append(3)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'append'
    >>> tuple_1.pop(1)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'pop'
    >>> tuple_1.sort()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'sort'
    >>> tuple_1.reverse()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'reverse'
    



    辞書型

    辞書はキーと要素を紐づけて格納するデータ型です。
    見て確認した方が早いため以下のコードを確認し
    入力して見ましょう。

    dict_1 = {"key1": "string", "name": "seimei", "num": 1}

    辞書型のキーの値を指定することで対応する要素を取得することができます。

    >>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
    >>> my_dict["name"]
    'michael herman'
    >>> my_dict["Key 1"]
    'Value 1'

    辞書操作

    これは自分で調べて見ましょう。
    Pythonの公式ドキュメントを確認してください。
    基本的にPythonだけではなくプログラミングの最新情報は英語なため
    英語で勉強した方が後々あなたの役にたつと思います。

    どうしても読めない場合は日本語に変換されたページが
    用意されているので言語バーを変換して勉強すると良いでしょう。

    ですが英語の文章を速読する力は鍛えておくことを強く推奨します。



    コメントアウト


    冒頭より何度も見かけていると思いますがPythonでは#(シャープ)を入力することでコメントを記述
    することができます。つまり、これはシャープの後に書かれた文字はプログラムの中で無視されることを意味しています。

    後々コードを見直した時、どの様な内容だったのか
    自他共に確認できる様、分かりやすいコメントアウトを残す癖をつけましょう。
    以下に例を示します。

    # このリストnameは〇〇高校の学生の内、
    # 優秀な成績の者の名前を格納している
    student_name = ["上田智樹", "山下智子", "木下若菜"]


    多くの場合、ここまで細かく書く必要はありませんが、
    重要な機能を持つ関数や、忘れると困る値など
    後日確認した際に思い出せる内容のコメントを残すことが大切です。


    まとめ



    お疲れ様でした。
    今回のレッスンは以上です。


    少しずつPythonプログラマとしての実力を向上させていきましょう。
    質問等あれば気軽にコメントで教えてくださいね。
    可能な限り回答します。


    今回は以上です。
    ではでは





    続編はこちら↓↓↓





    人気記事【初学者必見】効率的なプログラミング勉強方法を紹介します









    このエントリーをはてなブックマークに追加
    data-ad-format="rectangle" data-ad-format="rectangle"

    コメントを残す