Program学習Python

Pythonの基礎(変数宣言/演算/文字列扱い/組み込みメソッドなど)

Program学習

以前はよくPythonをメインで使っていたのですが、最近はPythonではなくjavascriptをメインを使う業務が多くて、Python基礎的な使い方について忘れ気味だったので自分ようにメモを残しておきます。

Python基礎(メモ)

Windowですが、Pythonのインストール方法は以下にまとめていますので参考にどうぞ

Pythonのコーディングで利用するエディタはPytcharmがオススメです。

変数

・Pythonでは変数の型宣言は不要、自動的に決定される
・int(数値)/str(文字列)/bool(True/False)など
・型はtype使って確認することができる
・文字列ではシングルクォートとダブルクォートどちらでもOK
・型宣言することもできる、コードの見やすくしたい時があれば使う
・変数の先頭には数字使えない

num = 1
name = "1"
name2 = '1'
is_true = True

print(num,type(num))
print(name,type(name))
print(name2,type(name2))
print(is_true,type(is_true))

// 結果
1 <class 'int'>
1 <class 'str'>
1 <class 'str'>
True <class 'bool'>

文字列

・文字列ではシングルクォートとダブルクォートどちらでもOK
・\でエスケープになる
・\nで改行

word1 = "This is a pen."
word2 = 'This is a pen.'
word3 = "This is a \"pen\""
word4 = "This is a pen.\nThis is an apple."

print(word1)
print(word2)
print(word3)
print(word4)

// 結果
This is a pen.
This is a pen.
This is a "pen"
This is a pen.
This is an apple.

・rをつけるとRow扱いになる(\nとかでも改行されない)

word5 = "C:\\nane\name"
word6 = r"C:\\nane\name"

print(word5)
print(word6)

// 結果
C:\nane
ame
C:\\nane\name

・行をまたぐ場合は”””で囲う
・改行を調整するのには\を使う

print("=====================")
print("""
line1
line2
line3
"""
)
print("=====================")

print("--------------------")

print("=====================")
print("""\
line1
line2
line3\
"""
)
print("=====================")

// 結果
=====================

line1
line2
line3

=====================
--------------------
=====================
line1
line2
line3
=====================

文字列処理(インデックス操作)

・先頭の文字の[0]で取得できる(インデックス)
・先頭から2番目の文字は[1]で取得できる
・最後の文字は[-1]で取得できる
・最後から2番目の文字は[-2]で取得できる

sentence = 'My name is Mike.'

print(sentence[0])
print(sentence[1])
print(sentence[-1])
print(sentence[-2])

// 結果
M
y
.
e

・文字列の範囲を指定して切り取りたい場合は[1:10]とかで指定できる
・範囲指定の際に先頭からを省略できる[:10]
・範囲指定の際に最後までからを省略できる[10:]
・文字列の置き換えはこの方法ではできない。※word[1]=”a”とかで置き換えはできない。
・文字列の連結では+を使う

sentence = 'My name is Mike.'

print(sentence[0:7])
print(sentence[3:7])
print(sentence[:7])
print(sentence[8:])

new_sentence = 'Hi! ' + sentence[:11] + "is Ken."
print(new_sentence)

// 結果
My name
name
My name
is Mike.
Hi! My name is is Ken.

・文字列の長さはlenで取得できる

sentence = 'My name is Mike.'
print(len(sentence))
print(len(sentence),type(len(sentence)))

//結果
16
16 <class 'int'>

文字列操作(メソッドを使う)

・startswithで先頭の文字列かの判定

sentence = 'My name is Mike.'

print(sentence.startswith('M'))
print(sentence.startswith('A'))
print(sentence.startswith('m'))
print(sentence.startswith('My'))

// 結果
True
False
False
True

・findで文字列のインデックスの位置を教える
・rfindでは文字列のインデックスの位置を教える(後ろから)

sentence = 'My name is Mike.'

print(sentence.find('i'))
print(sentence.rfind('i'))

//結果
8
12

文字列操作(Format)

・formatを使うことで文字列を代入できる
・複数の値も代入出来る。{}を複数指定

sentence = 'My name is Mike.'

print("My name is {}.".format('Mike'))
print("My name is {}.".format('Ken'))
print("My name is {}. Your name is {}.".format('Mike','Ken'))

//結果
My name is Mike.
My name is Ken.
My name is Mike. Your name is Ken.

・インデックス指定で位置を指定できる。{1}{2}など
・{1}のインデックスの代わりに自由に文字列ラベルも指定できる。

sentence = 'My name is Mike.'

print("My name is {0}. Your name is {1}.".format('Mike','Ken'))
print("My name is {0}. Your name is {1} {2}.".format('Mike','Ken','Yamada'))
print("My name is {1}. Your name is {0}.".format('Mike','Ken'))
print("My name is {name}. Your name is {familyname} {yourname}.".format(name='Mike',yourname='Ken', familyname='Yamada'))

// 結果
My name is Mike. Your name is Ken.
My name is Mike. Your name is Ken Yamada.
My name is Ken. Your name is Mike.
My name is Mike. Your name is Yamada Ken.

・Python 3.6以降ではformatではなく、f-stringsを使える。f-stringsのほうが処理が早くてよい模様

a = 'Mike'
print(f'My name is {a}.')
 
name, yourname, familyname = 'Mike','Ken','Yamada'
print(f'My name is {name}.Your name is {yourname} {familyname}.')

//結果
My name is Mike.
My name is Mike.Your name is Ken Yamada.

Pythonのオススメ勉強方法

私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全です。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。

内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。

シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全

今回は以上となります。

コメント