変数の定義

#変数名 = データ
width = 20
height = 5 * 9
# 文字列を定義するときは、" or ` で囲む
s1 = "Hello"
# "を3つ重ねると改行を含む文字列を定義できる
s2 = """Hello
World"""
# aとbに10が代入されます。
a = b = 10
# c=10, d=11と同じ操作になります
c, d = 10, 11
以下のようには宣言しない!!
int a = 3
四則演算

計算 | 演算子 | 記述例 | 結果 |
---|---|---|---|
足し算 | + | 1 + 1 | 2 |
引き算 | – | 10 – 7 | 3 |
掛け算 | * | 2 * 2 | 4 |
割り算 | / | 1 / 3 | 0.3333333333333333 |
商 | // | 5 // 3 | 1(整数同士の場合は切り捨てられる) |
割り算の余 | % | 5 % 3 | 2 |
べき乗 | ** | 5 ** 2 | 25 |
足し算 | += | x+=2 | x = x+2 |
引き算 | -= | x-=2 | x = x-2 |
掛け算 | *= | x*=2 | x = x*2 |
割り算 | /= | x/=2 | x = x/2 |
商 | //= | x//=2 | x = x//2 |
pythonには、i++のようにはできません。
真偽値

演算子 | 例 | 結果 |
---|---|---|
or | x or y | xとyのどちらかがTrueだったらTrue、そうでなければFalse |
and | x and y | xとyがTrueならTrue、そうでなければFalse |
not | not x | xがFalseならTrue、xがTrueならFalseになる |
比較演算子


演算子 | 例 | 意味 |
---|---|---|
< | x < y | x は y より小さいとTrue、そうでないとFalse |
> | x > y | x は y より大きいとTrue、そうでないとFlase |
<= | x <= y | x は y以下だとTrue、そうでないとFalse |
>= | x >= y | x は y以上だとTrue、そうでないとFalse |
== | x == y | x と yは同値だとTrue、そうでないとFalse |
!= | x != y | x と yは同値でないとTrue、そうでないとFalse |
is | x is y | xとyは同じidである、xとyは同一であるとTrue、そうでないとFalse |
is not | x is not y | xとyは同じidでない、xとyは同一でないとTrue、そうでないとFalse |
in | x in y | xはyに含まれるとTrue、そうでないとFalse |
not in | x not in y | xはyに含まれないTrue、そうでないとFalse |
id関数
Pythonでは全ての物について一意のidというものを持っています。これは id() 関数を使って調べることができます。
x = 1
print(id(x)) #4463860528
print(id(1)) #4463860528
print(id(2)) #4463860560
print(id("abc")) #4466149168
print(id("hoge"))#4467139056
文字列の演算
文字列の連結
#Python では、型の違うもの同士で計算はできない day = 24 date = day + "日" ←実行時エラー #dayを変換して足し合わせると計算ができる date = str(day) + "日" print(date)
・文字列の連結は、文字列同士の足し算で連結する
・変数の型変換は、C言語やjavaとは違い関数を使う
Pythonで文字列を作るには ‘ (シングルクォーテーション) もしくは ” (ダブルクォーテーション) で囲みます。複数行の文字列を作りたいときは、三連引用符(”””…””” または ”’ … ”’)を利用します。 改行は自動で含まれますが、行末に \ を付けることで改行を一つ無視することができます。
print('tomo') print("tomo") print("""改行あり """) print("""改行無視 \ """) print("a lot of" + " eggs") print("Python" * 3) first_name = 'tomo' last_name = 'studyblog' print(first_name + last_name)
出力結果:
tomo
tomo
改行あり
改行無視
a lot of eggs
PythonPythonPython
tomostudyblog
文字列の分割と結合
・A.split(B)
・B.join(A)
A:対象の文字列
B:区切り文字
s = "a i u e o" print(s) #出力: a i u e o l = s.split() print(l) #出力: ['a', 'i', 'u', 'e', 'o'] s2 = ",".join(l) print(s2) #出力: a,i,u,e,o
文字列の置換と削除
・A.replace(B,C)
A:対象の文字列
B:変更前の文字(列)
C:変更後の文字(列)
・A.strip(D)
D:削除したい文字(列)
s = "いっぱい" s = s.replace("い", "お") print(s) #出力:おっぱお s = s.replace("ぱ", "") print(s) #出力:おっお s = s.strip("お") print(s) #出力:っ
文字列を検索する
[]はオプションなので省略可能です
・A.find(B[,C[,D]])
・A.index(B[,C[,D]])
A:対象の文字列
B:検索したい文字列
C:開始インデックス
D:終了インデックス
・A.index(B[,C[,D]])
A.find(B[,C[,D]])は文字列が見つからない場合は、-1を出力しますが、・A.index(B[,C[,D]])は例外が起きます
print(s.index(“あい”))
ValueError: substring not found
s = "あいうえおアイウエオ12345" print(s.find("あ")) # 0 print(s.find("あい")) # 0 print(s.find("12")) # 10 s = "あ い う え お ア イ ウ エ オ 1 2 3 4 5 " print(s.index("あ")) print(s.index("あい")) print(s.index("1")) print(s.index("5", 10)) print(s.index("あ", 2, 10))
最初や最後の文字列を調べる
[]はオプションなので省略可能です
・A.startswitch(B[,C[,D]])
・A.endswitch(B[,C[,D]])
A:対象の文字列
B:検索したい文字列
C:開始インデックス
D:終了インデックス
s = "aiueo12345" print(s.startswith("aiu")) #出力:True print(s.startswith("12345")) #出力:False print(s.startswith("12345", 5)) #出力:True print(s.startswith("12345", 5, 7)) #出力:False print(s.endswith("345")) #出力:True print(s.endswith("123")) #出力:False print(s.endswith("12345", 5)) #出力:True print(s.endswith("12345", 5, 7)) #出力:False
アルファベットの大文字と小文字を変換する
・A.upper()
・A.lower()
A:対象の文字列
s = "aiueoAIUEOあいうえお" print(s.upper()) #出力: AIUEOAIUEOあいうえお print(s.lower()) #出力: aiueoaiueoあいうえお