LoginSignup
0
1

More than 3 years have passed since last update.

Pyhtonの基礎復習はこれだけ ~3~

Last updated at Posted at 2020-06-30

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~

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1