変数について
今回は、pythonにおける変数について解説していきます。
変数とは、計算の結果などを一つの言葉に置き換えることができる文法です!
変数名 = 代入したい値
実際のコード例を見てみましょう。
エディタ
print(plus)
と、エディタに入力すると
コンソール
という結果になります。
エディタには、plus という変数を作っています。
そして、plus に 2 + 3 という計算式を代入していますね(^^)
この代入をすることで、plusに意味を与えているんです。
ここで、plus をprint()で出力してみましょう。
その結果、計算式の解である 5 が出力されましたね。
大事なことは、括弧内をクォーテーションで囲まないこと!!
囲むと ただの plus という文字列になるので、5と出力されません。
ここで、
「どうして別の言葉に置き換える必要があるの??」
「変数を使うことで、何か良いことはあるのか?」
という疑問が湧くと思います。
では、変数を使わないコードと、使うコードを見比べてみましょう。
変数を使った場合のコード
エディタ
print(f"こんにちは!{name}さん、お待ちしてましたよ(^^)")
print(f"{name}sさん、出身はどこなんですか?")
print(f"{name}さん、かっこいいですね!!")
と、エディタに入力すると
コンソール
パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、出身はどこなんですか?
パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、かっこいいですね!!
という結果になります。
こちらは name という変数をつくって、
パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレス
という文字列を代入しています。
そして、3つのprint()を使って文を出力しています。
変数を使わなかった場合のコード
エディタ
print("パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、出身はどこなんですか?")
print("パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、かっこいいですね!!")
と、エディタに入力すると
コンソール
パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、出身はどこなんですか?
パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、かっこいいですね!!
という結果になります。
こちらは、ただ単にprint()を3つ使って文を出力しています。
使ったコードと使わなかったコードを比べ見ましょう。
エディタ: 変数あり
print(f"こんにちは!{name}さん、お待ちしてましたよ(^^)")
print(f"{name}sさん、出身はどこなんですか?")
print(f"{name}さん、かっこいいですね!!")
と
エディタ: 変数なし
print("パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、出身はどこなんですか?")
print("パンチート・ロメロ・ミゲル・フニペロ・フランシスコ・クインテロ・ゴンザレスさん、かっこいいですね!!")
どちらも同じ文が出力されています。
変数ありのほうが、見やすく感じませんか?
そうなんです!!
変数を使うことで長ったらしい名前などをシンプルに、見やすくすることができるんです(^^)
また、
変数に置き換えることで、同じ名前や値を繰り返し使うことができるんです。
この2つが主なメリットです。
そして、覚えておくと便利な記法があります。
2つの単語を合わせて変数を作るケースが、かなりあります。
そんなときは、単語と単語をアンダースコアで区切りましょう!
例えば...
user_name = ~~~~~
user_age = ~~~~~~
first_name = ~~~~~
覚えておくと、コードが見やすくなりますよ(^^)
print()についてのまとめ。
print()についてまとめていきます。
print()とは、エディタに入力したものをコンソールに出力する関数です。
例えば...
エディタ
と、エディタに入力すると
コンソール
という結果になります。
ここで、覚えておくべきポイントがあります。
それは、入力する値にはいくつかの種類があるということです。
- 文字列
- 整数、実数
- 変数や、意味のある予約語
主にこの3種類があります。
文字列については前述の使い方で問題ありません。
2や3については、ちょっと区別すべき点がでてきます。
演算を使った例で見ていきましょう。
エディタ
と、エディタに入力すると
コンソール
という結果になります。
これは、2 + 3が意味のあるものだとコンピュータが理解し、コンソールで計算した結果が出力されています。
ところが。。。
エディタ
と、エディタに入力すると
コンソール
という結果になります。
これは、2 + 3がただの文字列だとコンピュータが考え、入力した値がそのままコンソールに出力されています。
この2つの違いは、クォーテーションがあるか無いかです。 (" "←のこと)
クォーテーションが無い場合は何か意味のある値 (計算の式など) として扱い、
クォーテーションがある場合は、そのままの文字列として扱います。
では、文字列と意味のある値2種類を組み合わせるにはどうすれば良いのでしょうか?
結論からいうと、
F-string(エフストリング)
f" {} "
この特殊な文法を使います。
クォーテーションの中には、文字列を入れることができ、
{ } の中に、意味のある値を入力することができます。
F-stringを使うことで、2種類の値を組み合わせることができるのです。
実際に使ってみましょう。
エディタ
print(f"2 + 3 の答えは、{plus}です。")
と、エディタに入力すると
コンソール
という結果になります。
もちろん、F-stringのなかには複数の { } を入れることができます。
今まで学習したpythonの文法(基本)
これまで習ってきたpythonの文法について、復習していきます。
1.print()
この関数は、エディターに入力することでコンソールに文字列や変数を出力することができるものです。
例えば...
print("こんにちは!")
と入力すれば
こんにちは
とコンソールに出力されます。
気を付ける点は、
- 文字列はクォーテーションで囲む必要があること。
くらいです。
2.演算
演算は名前の通り、足し算や引き算などの計算をすることです。
演算の種類
- 足し算: + (プラス)
- 引き算: - (マイナス)
- 掛け算: * (アスタリスク)
- 割り算: / (スラッシュ)
- 余り: % (モジュロ)
基本的には、この5つです。
例えば...
5 + 3 = 8
5 - 3 = 2
5 * 3 = 15
5 / 3 = 1.6666666666666667
5 % 3 = 2
気を付ける点は、
- "5 + 3" や、"5" + "3"のようにクォーテーションを使ってしまうと演算が機能しなくなること。(詳しくは後の記事で)
- これ単体ではコンソールに出力されないこと。
くらいです。
3.比較演算子
比較演算子とは、数字と数字を比べることができる記号です。
比較演算子の種類
等しい: = (イコール)
右のほうが大きい: < (小なり)
左のほうが大きい: > (大なり)
等しいか、右のほうが大きい: <= (小なりイコール)
4.真偽値
真偽値とは、正しいか、正しくないか(真か偽)のことです。
pythonでは、
真のことをTrue
偽のことをFalse
といいます。
例えば、
3 > 2
これは、3のほうが大きいのでTrueとなります。 そして、
print(3 > 2)
と、エディタに入力すると...
True
と出力されます。
しかし!
3 < 2
これは、3のほうが小さくはないのでFalseとなります。そして、
print(3 < 2)
と、エディタに入力すると...
False
と出力されます。
まだまだたくさんの文法がある。
いま、ざっと紹介したのはほんの一部です。このほかにも、たくさんの関数やルールが存在するので、後日に詳しく紹介しようと思います。
今までのプログラミング学習歴、これまでを振り返る。
これから勉強の記録をしていくにあたって、今の状態を振り返っていきたいと思う。
主に、今まで何をどうやって勉強してきたかについて書いていく。
1.中学にてプログラミング(HTML、CSS)について知る。
当時僕は何を考えていたのか、就職せずにアフィリエイトで将来生きていく気でいた。
(アフィリエイトとは、自分のwebサイトや動画などに広告を張り付けて買ってもらえれば報酬がもらえるビジネス)
そのアフィリエイトについて調べているうちに、自分でサイトをデザインしてブログを書くことを知った。
そのデザインに必要な言語が、HTML、CSSであった。
(HTML、CSSは厳密にはコーディング言語)
私はこの言語を勉強するため、親に↓の本を買ってもらった。
中学卒業時点で、HTML、CSSについては多少知ることができた。
2.高校にて、プログラミングについてさらに理解を深める。
高校に入学後、HTML、CSSの理解をさらに深めるため勉強法についても調べた。
この時点で、アフィリエイトではなく、webエンジニアを目指していた。
そこで、progateというweb学習サービスを使い始めた。
しばらくして、動的なサイトを作れるjavascriptについて勉強しはじめた。
同じくprogateにて基本文法を勉強。
progateはかなり基本の内容で、次の教材として、Udemyの講座で、開発環境構築や、実際に作ってみることで理解を深めていった。(dom操作や、イベントハンドラなど)
さらに、UdemyでRubyとRailsを使ってtodoリストを制作、開発環境はローカルではなく、AWSのcloud9で製作。
そのころ、テックキャンプなどのスクールの存在を知った。
そこでは、転職を目指す人たちが多いらしくライバルが増えることを考慮して別の職業を目指すことを考える。
3.現在(高校卒業間近)、大学での勉強内容を生かせる職業を目指す。
そして現在、他の職業を調べているころにデータサイエンティストの存在を知る。
この職業で使うpythonという言語は機械学習や、AIなどの開発に使われるらしい。
この言語はそういった技術を使って作文や自動化など面白いものがつくれるという。
職業で使うのはもちろんだが、日常生活でいろいろなところに役立ちそうだった。
仕事の効率化にも役立ちそうだし、何より面白そうだと思った自分はpythonの勉強をしようと決意する。
4.現在のpython学習状況
現在は、Udemyにてpythonを勉強中。
日本よりも海外のほうが開発が盛んらしいので、海外の人の講座を受講中。
基本文法は習得完了。
ブラックジャックや、数字あてゲーム、シーザー暗号の暗号化、複合のプログラムなどを制作。
これからは環境構築、ライブラリやフレームワークなどを駆使して応用の内容をやっていくつもりだ。