はじめに
こんにちは!Python学習2日目です。
前回は環境構築や簡単な動作確認をしましたが、今日からはいよいよPythonの文法について本格的に学び始めました。
現在、私はこちらの教材を使って学習を進めています。
Udemy:現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
(講師:酒井潤 先生)
基礎だけでなく、シリコンバレー流の綺麗なコードの書き方も学べるということで、ワクワクしながら進めています!
今日学んだこと
本日は以下の4つのセクションを進めました。
- printで出力
- 数値の扱い
- 文字列の基本
- 文字列のインデックスとスライス
各セクションの解説
1. printで出力
まずは基本のprint()関数ですが、ただ表示するだけでなく「区切り文字」や「末尾の処理」をカスタマイズできることを学びました。
# sepで区切り文字を指定、endで文末を指定できます
print("Hi", "Mike", sep=",", end=".\n")
print("Hi", "Mike", sep=",", end="\n")
sep=","とすると、カンマで区切って表示してくれます。endを使うと、改行の代わりにドットを入れるといった調整ができるので、出力結果を整えるのに便利そうです。
2. 数値
Pythonのインタラクティブシェル(対話型シェル)を使って、計算の練習をしました。
# 四則演算
print(1 + 1) # 加算
print(5 - 2) # 減算
print(2 * 5) # 乗算
print(10 / 3) # 除算(結果はfloat型)
print(10 // 3) # 整数除算(切り捨て)
print(10 % 3) # 余り
print(2 ** 3) # べき乗(2の3乗)
# 数学関数を使う
import math
result = math.sqrt(25) # 平方根
print(result)
y = math.log2(10) # 対数
print(y)
/ で割ると自動的に小数(float型)になり、// だと整数(int型)になるという違いが面白いですね。また、mathモジュールをインポートすることで、複雑な計算も簡単にできるようになります。
3. 文字列
文字列の書き方や、便利な「raw文字列」について学びました。
print("hello")
print('I don\'t know') # シングルクォート内で使う場合はエスケープが必要
print(r'C:\name\name') # raw文字列:バックスラッシュをそのまま扱える
print("hi" * 3 + "Mike") # 繰り返しや結合も簡単!
特にWindowsのパスなどを書くときに、\n(改行)として認識されないようにする r'...'(raw文字列)は、実務でもよく使いそうだと感じました。
4. 文字列のインデックスとスライス
文字列の中から、特定の文字を取り出す方法です。
word = "python"
print(word[0]) # 'p'(0番目)
print(word[-1]) # 'n'(最後から1番目)
print(word[0:2]) # 'py'(0番目から2つ分)
print(word[2:]) # 'thon'(2番目から最後まで)
# 文字列の入れ替え(新しい文字列として代入)
word = "j" + word[1:]
print(word) # 'jython'
n = len(word) # 文字の長さを取得
print(n)
Pythonの文字列は「不変(immutable)」なので、word[0] = 'j' のように直接書き換えることはできません。しかし、スライスを使って新しい文字と組み合わせ、変数に再代入することで中身を入れ替えたように見せることができます。
次回の目標
次回は「文字のメソッド・代入」に加え、「リスト」や「辞書」といった、データをまとめて扱う「データ構造」について学習する予定です。少しずつ難しくなってきそうですが、一歩ずつ進めていきます!