【Python学習記②】変数とリストって何?39歳未経験が基本のキに挑戦!

Python基礎ノート

はじめに:Hello World!の次に見えた景色

こんにちは、くぴです!『39歳からのPython学習ノート』、読んでくださってありがとうございます😊

前回、ドキドキしながらPCの環境構築を終え、無事に「Hello, World!」を表示させることに成功した僕(39歳・プログラミング未経験)。 「おお、これがプログラミングか…!」 という小さな、でも確かな感動がありました。

さて、「Hello, World!」の次は一体何を学ぶんだろう? と思いつつも、まずは基本をと思い、次なるステップに進んでみました。

そこで登場したのが「変数(へんすう)」と「リスト」という新しい言葉たち…。 正直に言うと、コードと一緒に説明されると「なるほど!」って思うんですが、言葉だけ聞くと「???」となり、最初は頭が混乱しました(汗)。

でも、一つ一つの意味を考えながら、ゆっくり自分のペースでコードを書いて、試していくうちに、だんだん「あ、こういうことか!」と自分の中に落ちてくる感覚があったんです。うん、やっぱり焦らず、じっくり考えるこのペースが、僕には合ってるみたいです。

今回は、そんな僕がPythonの超基本、「変数」と「リスト」について学んだこと、そして「なるほど!」と思ったポイントを、僕と同じ初心者目線で、格闘した記録(笑)と共に共有したいと思います!

難しい話は抜きで、いきましょう!

まずはここから?基本の「言葉」を知っておこう!

さて、僕がPython学習を始めてみて、最初に「むむむ…?」となったのが、新しい専門用語でした。「変数」とか「関数」とか「リスト」とか…。正直、最初はチンプンカンプンだったんですが、これらの言葉のざっくりとしたイメージが少しでもあると、後の説明がグッと分かりやすくなる気がします!

なので、僕が「なるほど!」と思った範囲で、超基本的な言葉をいくつか紹介させてください。(僕も勉強中なので、もし間違ってたら優しく教えてくださいね!笑)

値(あたい)/ データ

プログラムが扱う「情報」そのもののこと。数字の123とか、文字の"こんにちは"とかですね。料理でいう「材料」みたいなイメージです。

データ型(データがた)

その「情報」がどんな「種類」かを示す分類。123は「数値(整数)」、"こんにちは"は「文字列」みたいに、Pythonくんはデータの種類を区別してるみたいです。人間でも、数字か文字かで扱い方が違いますもんね。

変数(へんすう)

データ(値)を入れておくための「名前を付けた箱」。後で使いたいデータに名前(ラベル)を付けて保管しておく場所です。my_name = "くぴ" みたいに書くと、「my_name」という箱に「くぴ」という文字データが入ります。

関数(かんすう)

特定の「仕事」や「動作」をやってくれる、名前付きのプログラムの塊。print()みたいに名前を呼ぶだけで、決まった仕事(画面表示とか)をしてくれる便利な「道具」みたいなイメージです。

リスト

複数のデータを、順番に並べて入れておける大きな箱(変数)。買い物リストみたいに、たくさんの項目を一つにまとめて扱いたい時に使います。my_favorites = ["温泉", "ラーメン", "ゲーム"] のような形ですね。

復習:画面に表示する魔法 print()

まず、前回も使った print()。これはカッコ () の中身を画面(ターミナル)に表示してくれる、基本中の基本の命令(関数)でしたね。

Python

print("Python楽しい!") # 文字は " か ' で囲む
print(100)         # 数字はそのまま
print(5 + 3)       # 計算結果(8)が表示される

これを使って、変数やリストの中身も確認していきます。

データをしまっておく箱:「変数」を使ってみた!

プログラムを書いていると、「このデータを後でまた使いたいな」という場面が出てきます。そこで使うのが「変数」。

これは「データ(値)を入れておくための名前付きの箱」みたいなもの、と僕は理解しました。箱に名前(変数名)をつけておけば、後からその名前で中身を呼び出せるんですね。

Python

# name という箱に "くぴ" を入れる
name = "くぴ"
# age という箱に 39 を入れる
age = 39

# 箱(変数)の名前を使って中身を表示
print(name)
print(age)

# 文字と組み合わせて表示
# 数字(age)はそのまま文字と繋げないので、str()で文字に変換!
print("僕の名前は" + name + "です。")
print("年齢は" + str(age) + "歳です。")

ターミナルにはちゃんと くぴ 39 僕の名前はくぴです。 年齢は39歳です。 と表示されました!なるほど、便利!

変数名は自分で好きにつけられるけど、いくつかルール(英数字とアンダースコアを使う、数字から始めない、など)があるみたいです。分かりやすい名前をつけるのがコツですね!

複数のデータをまとめて管理!「リスト」に挑戦!

次に挑戦したのが「リスト」。これは、複数のデータを順番に入れておける、仕切り付きの大きな箱みたいなイメージ。

[ ](角カッコ)で囲って、データ(要素)を ,(カンマ)で区切って作るそうです。

Python

# 僕の好きなものリスト(笑)
my_favorites = ["PC", "トレード", "fx"]
print(my_favorites)
# 結果: ['PC', 'トレード', 'fx']

リストの「〇番目」を取り出す(※0から数える!)

リストの中身を取り出すには、「インデックス」という番号を使うとのこと。ここで注意なのが、番号は「0」から始まるということ!これ、プログラミングの常識らしいですが、最初は絶対戸惑いますよね(笑)

Python

# 0番目(つまり一番最初)を取り出す
print(my_favorites[0])  # 結果: PC

# 1番目(つまり二番目)を取り出す
print(my_favorites[1])  # 結果: トレード

リストを便利に使う機能(len と append)

リストには便利な機能が色々あるみたいですが、今回は2つ教えてもらいました。

  • len(リスト名): リストの中にデータがいくつあるか(長さ)を教えてくれる。

    print(len(my_favorites)) # 結果: 3
  • リスト名.append(追加したいデータ): リストの一番最後に新しいデータを追加する。

    my_favorites.append("学習") # 新しく「学習」を追加 print(my_favorites) # 結果: ['PC', 'トレード', 'fx', '学習'] print(len(my_favorites)) # 結果: 4 (ちゃんと増えてる!)

【つまづきポイント】リストの1番目と2番目を表示したい!

最後に、リストの1番目(“PC”)と2番目(“トレード”)だけを表示させたいなと思って、print(my_favorites[0,1]) みたいに書けないかな?って試してみたんです。…結果はエラー(笑)やっぱりダメでした。

正しいやり方は、

  • カンマで区切る: print(my_favorites[0], my_favorites[1]) → 結果: PC トレード (間にスペースが入る)
  • + で繋げる: print(my_favorites[0] + " と " + my_favorites[1]) → 結果: PC と トレード

のように、一個ずつ取り出して print するのが基本だそうです。なるほどー!これも勉強になりました。

まとめ – 「形」は分かった!次は「使い方」を知りたい(でも焦らず行こう)

今回は、Pythonの超基本である「変数」と「リスト」に触れてみました。 新しい言葉が多くて最初は戸惑いましたが、VS Codeで実際にコードを書いて、動かして、ターミナルに結果が表示されるのを見ると、「おお!」と理解が進む感じがします。

「変数ってこう書くんだな」「リストってこういうものか」という『形』は、なんとなく分かってきました。コードを書いて動いたときは、やっぱり嬉しいです!

でも、正直なところ、じゃあこの『変数』や『リスト』を、実際に何かプログラムを作るときに『何を』『どのように』使っていくのか、その具体的なイメージは、まだ全然掴めていません(汗)。「こういうことができる」というのは分かっても、「だから、どう使うの?」という疑問が頭の中にあります。

なので、今はまだ、英語の単語や文法を覚えるみたいに、「ふむふむ、Pythonではこういう書き方をするルールなんだな」「こういう機能があるんだな」と、単純に知識として頭に入れる(暗記する、と言った方が近いかも?)ことに集中している段階です。 まずは言葉を知らないと始まらない!という感じですね。

やっぱり、僕みたいなタイプは、急いで先に進むより、一つ一つ「これってどういうことだろう?」「今はまずこれを覚えよう」と考えながら、自分のペースで進むのが合っているみたいです。

時間はかかるかもしれないけれど、この「わかった!(というより、今は『覚えた!』かな?)」を積み重ねていけば、いつか「なるほど、ここで変数を使うのか!」「こういう時にリストが便利なんだ!」と腑に落ちる日が来ると信じています。

ここまで読んでくださって、ありがとうございました! もし「ここ、もっとこう書いた方が分かりやすいよ!」とか「私も『使い方』が分かるまで時間かかったよ!」なんてことがあれば、ぜひコメントで教えてくれると嬉しいです。一緒に頑張りましょう!