Closed1
基本情報午後試験のためにPythonと戦う
これで勉強中
基本あれこれ
変数宣言
Pythonは const や let などの宣言が必要ない
num = 1
name = "Tom"
is_ok = True
型
型を指定することもできるが必須ではない
new_name: str = "Tom"
Pythonではあまり型宣言は使わない
# Type関数を使うと何の型なのかわかるようになるので有用
print(num, type(num))
→ 1 <class 'int'>
print(name, type(name))
→ Tom <class 'str'>
print(is_ok, type(is_ok))
→ True <class 'bool'>
str_num: str = "1"
new_num = int(str_num)
print(new_num, type(new_num))
→ 1 <class 'int'>
型変換
# 型変換
num = 1
print(type(num))
→ <class 'int'>
print(type(str(num)))
→ <class 'str'>
文字列を区切る
- sep="~~~"でその文字列で区切られるようになる
- endで末尾をどうするか。\nで改行、""にすると繋がって表示される
print("Hi", "Mike", sep=",", end="\n")
print("Hi", "Mike", sep=",", end="")
print("Hi", "Mike", sep=",", end="")
→
Hi,Mike
Hi,MikeHi,Mike
数値
print(17 // 3)
# 整数の5だけ表示される
print(5 ** 5)
# べき乗→3125
pie = 3.13641414141414
print(round(pie, 2))
# 第二引数の小数点以下の桁まで四捨五入される
便利な数学関数
mathというライブラリをインポートする
import math
# 平方根
result = math.sqrt(25)
print(result)
→ 5.0
y = math.log2(10)
print(y)
→ 3.321928094887362
# help関数でpythonのドキュメントが表示される
print(help(math))
文字列
print("C:\name\name")
# このようなファイルのパスを記述したい場合、\nで改行されてしまう。
→
C:
ame
ame
print(r"C:\name\name")
# 生のデータ=rawという意味のrを頭につけることで回避できる。
→ C:\name\name
print("""\
line1
line2
line3
""")
# 改行を自動で入れたい場合は、""" """でくくるとOK
# 改行したくないところにはバックスラッシュを入れる。
→
line1
line2
line3
print("Hi," * 3 + "Mike")
# Hi,Hi,Hi,Mike というように演算子も使える
→ Hi,Hi,Hi,Mike
s = ("aaaaaaaaaa"
"bbbbbbbbbb")
print(s)
# +を使わなくても文字列を合体できる。
→ aaaaaaaaaabbbbbbbbbb
文字列のインデックスとスライス
word = "python"
print(word[0])
# インデックスで文字列を表示できる
→ p
print(word[-1])
# 最後のインデックスは-1を使う
→ n
print(word[0:2])
# py スライス。0-2の文字列を表示する。先頭(もしくは最後)が0の場合は省略も可能。
→ py
print(word[2:])
→ thon
# どちらも省略すると全ての文字列が表示される。
print(word[:])
→ python
文字列の文字を一部書き換えたい
word[0]="j"
# 上記はエラーになる
word = "j" + word[1:]
print(word)
# jython 変えたい文字列に元の変数の文字列をくっつけてあげることで回避できる
length
# length = len
n = len(word)
print(n)
→ 6
文字列のメソッド
s = "My name in Mike. Hi Mike"
print(s)
→ My name in Mike. Hi Mike
# 文字列が指定したものから始まっているか調べる
is_start = s.startswith("My")
print(is_start)
→ True
# はじめの文字列から数えてどこにあるか調べる
print(s.find("Mike"))
→ 11
# 後ろから調べる
print(s.rfind("Mike"))
→ 20
# 文字列が何個入っているか
print(s.count("Mike"))
→ 2
# 一番最初だけ大文字にして、残りは小文字にする
print(s.capitalize())
→ My name in mike. hi mike
# 全ての単語の一番最初の文字を大文字にする
print(s.title())
→ My Name In Mike. Hi Mike
# 全て大文字にする
print(s.upper())
→ MY NAME IN MIKE. HI MIKE
# 全て小文字にする
print(s.lower())
→ my name in mike. hi mike
# 文字列のReplace
print(s.replace("Mike", "Nancy"))
→ My name in Nancy. Hi Nancy
文字の代入
- formatを使う
- python3.6より、formatではなく、f-stringsが使えるようになった。こちらの方が新しいスタイルで処理も早い。
print("a is {}".format("test"))
→ a is test {}に"test"が代入される
print("a is {} {} {}".format(1, 2, 3))
→ a is 1 2 3
# indexも指定できる = a is {0} {1} {2} と同義
print("a is {2} {1} {0}".format(1, 2, 3))
→ a is 3 2 1 逆になる。
# 変数で指定も可能
print("My name is {name} {family}. 私は {family} {name} です。".format(name="Jun", family="Sakai"))
→ My name is Jun Sakai. 私は Sakai Jun です。
# formatで入れると数字も型変換されて代入される
word = "b"
print(f"a is not {word}")
→ a is not b
x, y, z = 1, 2, 3
print(f"a is {x} {y} {z}")
print(f"a is {z} {y} {x}")
→ a is 1 2 3
→ a is 3 2 1
このスクラップは2021/11/30にクローズされました