#6.文字列操作
###シングルクォート、ダブルクォート
文字列にシングルクォートを含む場合、文字列をダブルクォートで囲むことでエラーを回避できる。
spam = "That is Alice's cat"
###エスケープ文字
しかし、シングルクォートとダブルクォートの両方を使いたいときはエスケープ文字を用いることで回避できる。
エスケープ文字 | 意味 |
---|---|
' | シングルクォート |
" | ダブルクォート |
\t | タブ |
\n | 改行 |
\|バックスラッシュ |
print("Hello there!\nHow are you?\nI\'m doing fine\t."
Hello there!
How are you?
I'm doing fine .
windowsでは、 \ は ¥ になる。
###raw文字列
クォート文字の前 r に付けると文字列のエスケープ文字を無視する。
print(r'That is Carol\'s cat.')
That is Carol\'s cat.
###三連クォート
三連クォートを用いればエスケープ文字を使う必要がなくなる。
Pythonの字下げルールも適用されない。
print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob''')
Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob
###複数行コメント
#記号はつけた場所から文末までコメントを挟み込むことができる。
複数行にわたってコメントを入れたいとき以下のようには"""で囲む。
def spam():
"""これはspam()関数の動きを説明するための、
複数行コメントです。"""
print('Hell!')
###文字列のインデックスとスライス
文字列もリストと同様にインデックスとスライスを適用することができる。
###便利な文字列メソッド
- upper()
文字列の全てを大文字にして返す。
spam = 'Hello world'
sapam = spam.upper()
spam
'HELLO WORLD'
- lower()
文字列の全てを小文字にして返す。
spam = 'Hello world'
sapam = spam.lower()
spam
'hello world'
- isupper()
1文字以上の全ての英字が大文字ならTrueを返す。
HELLO.isupper()
True
- islower()
1文字以上の全ての英字が小文字ならTrueを返す。
hello.islower()
True
###isXという文字列メソッド
- isalpha()
一文字以上の英字のみで構成されているときTrueを返す。
'hello'.isalpha()
True
- isalnum
一文字以上の英字、数字のみのときTrueを返す。
'hello123'.isalnum()
True
- isdecimal
一文字以上の数字のみで構成されているときTrueを返す。
'123'.isdecimal()
True
- isspace
スペースかタブか改行だけで構成されているときTrueを返す。
' '.isspace()
True
- istitle
大文字から始まり残り全ての英字が小文字で構成されているときTrueを返す。
Apple.istitle()
True
###startswith()メソッド、endswith()メソッド
対称の文字列がメソッドに渡された文字列から始まるか、終わる場合にTrueを返す。
'Hello world!'.startswith('Hello')
True
'Hello world!'.endswith('World!')
True
###join()メソッド、split()メソッド
- join()メソッド
文字列のリストを一つの文字列に連結する。
','.join(['cats','rats','bats'])
'cats,rats,bats'
'ABC'.join(['cats','rats','bats'])
'catsABCratsABCbats'
- split()メソッド
文字列を指定した文字で区切り、リストにする。
'My name is Simon'.split()
['My','name','is','Simon']
'MyABCnameABCisABCSimon'.split(ABC)
['My','name','is','Simon']
###テキストをそろえる
- rjust()メソッド
- ljust()メソッド
文字列が指定した数値より大きいとき、その分だけ指定した文字を右、もしくは左に加える。
'Hello'.rjust(10, '*')
'*****Hello'
'Hello'.ljust(10, '*')
'Hello*****'
- center()メソッド
文字列が指定した数値より大きいとき、その分だけ指定した文字を左右に加える。
'Hello'.center(10, '*')
'**Hello***'
'Hello'.center(10)
' Hello '
###strip()メソッド、rstrip()メソッド、lstrip()メソッド
文字列の左端、右端、両端から指定した文字を消すときに用いる。
spam = ' Hello world '
spam.strip()
'Hello world'
spam.lstrip()
'Hello world '
spam.rstrip()
' Hello world'
また、引数を渡すことで以下のように文字を消すこともできる。
引数のアルファベットの順番は任意になるので以下のようになる。
spam = 'SpamSpamBaconSpamEggsSpamSpam'
spam.strip(ampS)
BaconSpamEggs
###pyperclipモジュール
pyperclipモジュールにはcopy()、paste()関数がある。
コンピュータのクリップボードにコピーしたり、ペーストすることができる。
import pyperclip
pyperclip.copy('Hello world!')
pyperclip.paste()
'Hello world!'
#続き
Pythonの基礎復習はこれだけ~4~
※当分の間、4つ目の記事は出ません。それまでは作成物や他の言語の基礎復習を載せます。
初めから
Pythonの基礎復習はこれだけ~1~