文字列が持つ特殊能力
具体例を挙げて説明していきます。
>>> address = 'Tokyo,Japan'
'Tokyo,Japan'という文字列にaddressという変数名を付けてみました。
addressは文字列型のデータですが、実は文字列型は自分専用の関数をたくさん持っています。
例えば、文字列型は自分自身を特定の文字列で区切る「split」という関数を持っています。これは、文字列型専用の関数なので、今までと少し書き方が違います。
>>> address.split(',')
['Tokyo','Japan']
変数名(address)に続けて、ドット(.)を1つ書き、文字列型が専用に持っている関数の名前を書きます。変数名に続けて書くドットは、日本語では「~の」に相当すると考えると分かりやすいです。splitという関数は、文字列型データの持ち物なので、変数名に続けてドットで区切って書くことによって表現しています。また、引数では「何で区切るか?」を指定しています。
address.split(',') |
---|
《 文字列型データ(address) 》 の 《 関数(split) 》 + 引数 |
このように、あるデータ型が専用に持っている関数のことを、特にメソッドと呼ぶ。
メソッドを呼び出した結果、もとの文字列が'Tokyo'と'Japan'という2つの文字列に分解さてたのが分かります。結果を1つにまとめるため、splitメソッドの戻り値はリスト型になっています。
次は、変数addressのデータをアルファベットのo(オー)で区切ってみます。
>>> address.split('o')
['T','ky',',Japan']
oは2か所で見つかるので全体では3つに分割されます。
引数のないメソッド
次に引数のないメソッドを紹介します。
upperメソッドは、すべての文字列を大文字にした新しい文字列を返します。
>>> address.upper()
'TOKYO,JAPAN'
upperメソッドは引数を持ちません。引数を持たない関数やメソッドを呼び出すときも、丸括弧を省略することはできません。