はじめに
なんちゃってなPythonの使いっぷり1に危機を感じて、現在、「Python 3 エンジニア認定基礎試験[^Python 3 エンジニア認定基礎試験]」の合格を目標として学習中の @daikikatsuragawa です。本記事では、Pythonの学習を通して、個人的に興味を持った点を備忘録として紹介します。気まぐれで随時更新、編集します。ご了承ください。
個人的に興味を持った点
インタプリタを終了するコマンド
quit()
アクティベート状態から抜けるコマンド
deactivate
冪乗の計算
3 ** 2
マルチバイト文字(全角文字)を変数として使用可能
ただし、推奨はされていない。
日本語 = 'JAPANESE'
異なるデータ型の結合は不可能
以下のコードはエラーとなる。
'hoge' + int('1')
言語によってはできそうであるがPythonではできない。(JavaScriptやJavaではできるようだ[^あえて言うほどではない 数値 ⇔ 文字列変換 2019年人気プログラミング言語トップ10編 | TECHSCORE BLOG]。)
[^あえて言うほどではない 数値 ⇔ 文字列変換 2019年人気プログラミング言語トップ10編 | TECHSCORE BLOG]: あえて言うほどではない 数値 ⇔ 文字列変換 2019年人気プログラミング言語トップ10編 | TECHSCORE BLOG
インデックスに負の値を指定すると末尾からの位置を示すことが可能
末尾は−1から順に、−2、−3…となる。範囲指定外の値を指定するとエラーが生じる。
日本語 = 'JAPANESE'
print(日本語[-6])
P
文字列はイミュータブル(変更不可)
リストのように指定した位置に値を代入できない。
※リストはミュータブル(変更可)
formatによって文字列(数値)の結合が可能
my_name = 'hoge'
your_name = 'fuga'
message = 'My name is {}. Your name is {}.'.format(my_name,your_name )
print(message)
My name is hoge. Your name is fuga.
リストに複数の型を混在して格納可能
list = ['Python', 1 ]
ただし、並び替えを試みるとエラーが生じる。
位置引数
複数の引数を関数に渡す場合、引数の位置を入れ替えれば結果も変わる。
可変長引数
引数の数が可変。
複数の変数に複数の値を同時に代入
変数および値をカンマ,
で区切ることで複数の変数に複数の値を同時に代入できる。
a, b = 1, 2
数値の入れ替え
a, b = 1, 2
a, b = b, a
他の言語でやるようなtempという変数を用意して…というものがいらない。
in 演算子
if 'a' in ['a','b','c']:
print('hoge')
何もしないpass文
def func():
pass
何もしないpass
文はたまに役に立つ。
PEP8
Pythonコードのコーディング規約[^はじめに — pep8-ja 1.0 ドキュメント]。以下に例を示す。
- インデント=スペース4つでタブはNG
- 1行79文字(全角39文字)
[^はじめに — pep8-ja 1.0 ドキュメント]: はじめに — pep8-ja 1.0 ドキュメント
delとスライスを用いた要素の削除
以下のコードの場合、インデックス2〜4(5−1)の要素が削除される。
list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']
del list[2:5]
print(list)
['A', 'B', 'F', 'G', 'H', 'I', 'J', 'K']
おわりに
本記事では、Pythonの学習を通して、個人的に興味を持った点を備忘録として紹介しました。もし、なにかございましたら、コメントなどをいただければ幸いです。
(2019年1月9日追記)
以下の記事に掲載していただきました!ありがとうございます!
- 【Python】Qiita 週間ストック数ランキング【自動更新】(2020年1月9日 00時00分更新 )
- 【毎日自動更新】Qiitaのデイリーストックランキング!ウィークリーもあるよ(2020年1月9日 00時22分更新 )
- 【Python】Qiita 週間ストック数ランキング【自動更新】(2020年1月9日 13時01分更新 )
参考
-
データ分析に取り組んでいた学生時代、Pythonを用いて12時間かかる計算を実施した。そのことを先輩に伝えたら「Pythonにはこんな書き方があって…」とアドバイスをいただき、その計算が10分くらいで完了するようになった。それくらい「Python」自体に疎い。
[^Python 3 エンジニア認定基礎試験]: Python 3 エンジニア認定基礎試験 ↩