この記事は、Python今から初めて触るレベルの初心者のために1から解説してみたものです。
役に立つと思ってくれる人がいるなら読んでいってみてください。#1から順番に読んでいただくと、Pythonの基本・基礎を順番に学んでいけるようになっています。
初めての方は入力例を実行しながらやることを推奨します。
Pythonのインストール方法とかプログラムの実行方法とかは以下の記事にて解説していますので、なにもかも初めての方は読んでみてくださいね。
【初心者用】Pythonのインストールから、実際にプログラミングするまでの手順!【プログラミングの始め方】 - ymLogs
#2, #3も投稿済みです。
この記事の末尾に#2へのリンクを載せてありますのでそちらも是非。
#1は
について書いていきます。
ちょっと長くなったけど必要なとこだけでも見ていってください。
・基本的な考え方
Pythonでは、書いたプログラムを一行目から順番に実行していきます。
※インタプリタ方式って呼ばれてます
書いたプログラムに問題があってエラーを吐いても、途中まで(問題箇所直前まで)は実行してくれます。
プログラミング学習のスタートはやはり、打ち込んだ文字を表示するところから始まります。
Hello Worldと表示させるには以下のように入力し、実行してください。
入力例
実行結果
Hello Worldが文字列であることを""で囲んで示し、それを画面上にprintします。
一番上の行から順番に実行していることも確認しておきましょう。
入力例
実行結果
また、「"」は「'」でも代用できます。(クォーテーションマークは2種類使える!)
クォーテーションマークが二種類あるので、print('"')のようにすると「'」自体をプリントすることもできます。
print(Hello World) のようにクォーテーションマークをつけないと、
「SyntaxError: invalid syntax」とエラーを吐きます。
文法がおかしいよって怒られてるときにでるやつです。
(エラーは赤い文字で出てきます)
print()の()の内部には文字列が来ることが想定されているので、
" "で囲って文字列であることをアピールしておく必要があるのです。
Helloと出力しようとしたけど同じようにクォーテーションマークを忘れた例
入力例
File "<pyshell#1>", line 1, in <module>
print(hello)
NameError: name 'Hello' is not defined
さっきと表示されているエラーが違います。
これは「Hello」という変数が定義されていない、というエラーです。
詳しくは「・変数の定義 」 のところを見てください
ちなみに、「line 1」とあるのは一行目にエラーの原因があることを示してます。
プログラムが長くなったときにエラーの原因を探りやすいです。
エラーは真っ赤でしかも英語いっぱいで読むのめんどくさそうですが、これ読めばエラーの原因わかったりするので見ておきましょう。
以下のようにクォーテーションマークなしで数字をprintした場合、エラーを吐かずprint("3")と入力したときと同じように表示されます。
入力例
実行例
ただし、
print(3)で表示された「3」は数値(整数)で、intという属性
print("3")で表示された「3」は文字列で、strという属性
であり両者は異なるものです。
intとstrについては次の章で詳しく説明しますね。
・int、str、float
int、str、floatはそれぞれ以下を表します。
int : 数値(整数)
str : 文字列
float: 数値(浮動小数)
これだけだとわかりにくいと思うので、もう少し詳しく見ていきますよ!
・intとstrの違い
まずは、intとstrの違いについて書いていきます。(floatはこの章の後ろの方に...)
以下の3つの例を見てください。
入力例 ①
①の実行結果
②の実行結果
③の実行結果
①の例では、整数値(int)同士の足し算を行ってその計算結果をprintしました。
②の例では、2+3という文字列(str)をそのままprintしました。
③の例では、2という文字列(str)と3という文字列(str)とを結合したものをprintしました。
③の例のように文字列(str)同士を+すると、それらが結合された長い文字列となります。
※結合することをconcatenateと呼んだりします。にゃー
また、以下のように整数値(int)と文字列(str)とを+しようとした場合、
入力例
実行例
File "<pyshell#11>", line 1, in <module>
print(2+"3")
TypeError: unsupported operand type(s) for +: 'int' and 'str'
とエラーを吐きます。
数値(int)と文字列(str)は結合できません、って書いてますね。
このエラーを避けるためには属性を合わせる必要があります。
int()を使うと、属性が文字列の数字の属性を数値にすることができます。わかりにくい!
非常にわかりにくい表現になってしまったので以下に例を。
入力例
実行結果
str()を使うと、属性が数値であるものを文字列として扱えるようになります。
これも以下に例を。今までの応用みたいな感じのやつを。
実行例
str()の()の中身の演算結果を文字列に変えて、文字列同士を結合させました。
また、intは整数を表す属性であるので、小数に対してint()を使った場合には小数点以下が切り捨てられます。
実行例
・float
小数値の属性はfloatです。
int()の代わりにfloat()を使うことで小数の数値も表すことができます。
int属性のものとfloat属性のものを足し合わせることはでき、その結果の属性はfloatとなります。
・変数の定義
まずは例から。
入力例
print(a)
実行例
aという変数に"Hello World"という文字列を代入し、それをprintしました。
a="Hello World"は、「aと"Hello World"は等しい」という意味ではなく、「左辺のaに右辺の"Hello World"を代入している」ことを理解しておく必要があります。
基本的に、= は代入の意味で使われます。
変数はaという名前である必要は全くなく、自由に名前を付けることができます(数字から始まる変数は定義できないなどの制約はあります)。
また、大文字と小文字の区別はあることにも注意です。
数値を代入することもできます。
数値を代入した変数同士を足し合わせ、その結果をprintしてみます。
入力例
c=3
d=b+c
print(d)
実行例
以下の例についても考えてみます。
print(e)
e=e+1
print(e)
実行例
4
二行目と四行目にprint(e)とありますが、違う結果を出力しています。
e=e+1は、これまでのeに1足したものを新しいeとして定義しなおしています。
eにe+1を代入したのであって、eとe+1が等しいわけではありません。
「e=e+1」は「e+=1」のように略記することもできます。
二行目では最初のeの値(1行目で定義)を、四行目では新しいeの値(3行目で定義)をprintしました。
定義していない変数を使おうとするとエラーが出て、定義してから使うよう怒られます。「・print」の章にも出てきたやつです。
入力例
実行例
File "<pyshell#0>", line 1, in <module>
print(x)
NameError: name 'x' is not defined
・type
属性確認したくなったときに便利なやつです。
type()の()のなかに属性知りたい数値やら文字列やら変数やら入れると教えてくれます。
type()の()の中の属性がintの場合、<class 'int'>のように出力されます。
・演算の記号
計算によく使う基本的な演算記号をまとめておきます。
+ 加算(足し算) および 文字列の結合
- 減算(引き算)
* 乗算(掛け算)および 文字列の繰り返し
/ 除算(割り算)
% 割った時のあまり(mod)
** べき乗(※平方根(ルート)は**0.5を利用)
例えば、print(2**4) を実行すると、2^4=2*2*2*2 =16なので16がプリントされます。
√25 をプリントしたい場合は、print(25**0.5)を実行しましょう。
5.0 が出力されます (float値として出てきます!)
0.5乗と√が同じなのは数学の知識です!
#1はここまで。
ここまで読んでくれた方、有難うございます。お疲れさまでした。
ブログもpythonも初心者なので間違いや読みにくいところがあったらごめんなさい。
#2はifとかforとかについて書いてます。良ければ。
それではまた。