型についてのあれこれ(5) - 文字列型の操作
【 目次 】
シーケンス型のなかでも文字列型固有の操作について。
文字列型の操作
- Pythonを学ぼう 第19回 文字列の操作 - ほぷしぃ
- 文字列(主にstrクラス)の機能(Python覚書 ver3.1/WindowsXP)
- [Python] 文字列処理メソッドまとめ (置換, 文字列を含むかの判定, リストへの変換, etc.) | Memo on the Web
公式ドキュメントより
- 5.6.1. 文字列メソッド
- 7. 文字列処理 — Python 2.7ja1 documentation
- 7.1. string — 一般的な文字列操作 — Python 2.7ja1 documentation
空文字の判定
文字列sが空文字でない事の判定
if s: print u"空文字ではありません"
空文字である事の判定
if not s: print u"空文字です"
組み込み関数lenを使って文字長が0かどうかで判定も
if not len(s): print u"空文字です"
どちらがパフォーマンスが良いかのだろうか?
すべての文字が空白文字かどうかを判定するにはisspaceメソッドが。
if s.isspace(): print u"すべての文字が空白文字です"
文字列のフォーマット
文字列をフォーマット指定するには、
- [python]文字列置換(フォーマット)まとめ(format関数, %dなど) - dackdive's blog
- format関数による文字列フォーマット(新しい形式) » Python Snippets
「% 演算子」を使う方法
従来からの方法として % 演算子 (モジュロ)を使う方法がある。
「str.fomatメソッド」を使う方法
これからはformat(args, *kwargs)メソッドを使った方が良いらしい。
どのような指定方法ができるかというと
公式ドキュメントのformatメソッドの書式指定例は
テンプレートエンジン
標準モジュールのstringモジュールにTemplateクラスというテンプレートエンジンが含まれている。
使い方は
string.Templateクラスについては
ここも参考に
でもphpのsmartyのようなもっと強力なテンプレートエンジンが欲しいという方には、
他にもJinja2等の外付けテンプレートエンジンが、