中安拓也のブログ

プログラミングについて書くブログ

【Python3】特徴的だと思った機能まとめ その1

はじめに

仕事では主にTypeScript(JavaScript)とJavaしか使用していないんですが、使える言語の幅を広げたいな〜という思いからPythonの勉強を始めました。

この記事は、Pythonを学んでいる中でなじみが薄いな〜とか今までに経験した言語(少ないですが)にはなかった機能だな!と感じたものをまとめることによって、Pythonの特徴を理解し、実施中のPython学習の成果を高めようというものです。

バージョン情報

  • Python 3.7.2

出典元

https://www.oreilly.co.jp/books/9784873117386/

オライリーの「入門 Python 3」(ISBN978-4-87311-738-6)

学習メモ

JavaとかTypeScript(JavaScript)になくて、筆者にとってなじみが薄いと思ったPythonの機能をまとめています(筆者の経験が浅いために、普通にJava/TypeScriptにある機能が含まれている可能性もありますがご容赦ください)。

算術演算子(//)による切り捨て除算

サンプルコードはREPLで実行しています。おなじみの/演算子による割り算や%演算子による割り算の余りの計算だけでなく、Pythonだと演算子(//)で割り算の結果を整数(小数点以下切り捨て)で出力することができます(だからなんだという感じではある)

>>> 13 / 5 # 除算
2.6

>>> 13 % 5 # 除算の余り
3

>>> 13 // 5 # 切り捨て除算
2

intの制限の最大値が任意の数

int型(Python3の整数はint型のみです)の最大値が設定されておらずメモリが許す限り設定できるとのこと(なぜ...?)

スライス([start:end:step])による部分文字列の取得

スライスとは、文字列から部分文字列を取り出すことができる機能です。
先頭オフセット*1(start)、末尾オフセット(end)、ステップ(step)で定義されています。なお、各種値は省略可能です。

>>> japanese = 'あいうえおかきくけこさしすせそ' # 文字列を作成

>>> len(japanese) # 作成した文字列の長さをチェックする
15

>>> japanese[:] # [:]は、先頭から末尾までの文字列を抽出する
'あいうえおかきくけこさしすせそ'

>>> japanese[5:] # 先頭6文字目から末尾まで
'かきくけこさしすせそ'

>>> japanese[5:8] # 先頭6文字目から8文字目まで
'かきく'

>>> japanese[-3:] # 最後の3文字を取り出す
'すせそ'

>>> japanese[::2] # 先頭から末尾までを2文字ごとに取り出す
'あうおきけさすそ'

>>> japanese[1:10:2] # 2文字目から10文字目までを2文字ごとに取り出す
'いえかくこ'

次回の記事

【Python3】特徴的だと思った機能まとめ その2 - L08084のブログ

*1:基準点からの距離