数と文字列
int型
int型は整数(Integer)を表す型です。
code:python
my_variable = 43
float型
int型との違いは小数部を持つ数ということです。
code:python
my_variable = 3.141592
float型の数値を表現するときに、指数表記も使用することができます。
code: python
>> n = 1e6
>> n
1000000.0
>> n = 1e-2
>> n
0.01
文字列型
Pythonでの文字列は単引用符 ( '...' ) で囲むか、もしくは二重引用符 ( "..." ) で囲んで記述します。
どちらも同じ文字列になります。引用符は、バックスラッシュ( \ ) でエスケープできます。
code: python
>> s1='Hello'
>> s2="World"
>> s1
'Hello'
>> s2
'World'
>> s3='I can\'t wait.'
>> s3
"I can't wait."
二重引用符を3つつなげると複数行の文字列を扱うことができます。
code: python
>> s4="""
... Hello
... World
... """
>> s4
'\nHello\nWorld\n'
>>
Python の文字列は不変 (immutable) 型であるため一部だけ変更することはできません。 つまり、文字列のインデックスで指定した位置に代入を行うとエラーが発生してしまいます。
code: python
>> a='Python'
'P'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
文字列でバックスラッシュ(\) に続く文字を特殊文字として評価して欲しくないときなどに
最初の引用符の前に r を付けた raw strings が使えます。
例えば改行文字を表す \n を含む文字列で見てみましょう。
code: python
>> print('Hello\nWorld.')
Hello
World.
>> print(r'Hello\nWorld.')
Hello\nWorld.
文字列はインデックスやスライスや連結といった操作が行えます。
インデックス は特定の位置にあるリストを返すことができます。
ただし、インデックスが大きすぎるとエラーになります。
code: python
>> a='Queen'
'Q'
'n'
'u'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
https://gyazo.com/f2d900b4792d49c04d31d7b302cba410
スライス は文字列の特定の範囲をコロン記号の前後の数字で表現して、その範囲にある文字列を返すことができます。
code: python
>> a='Queen'
'Queen'
'ee'
'Quee'
https://gyazo.com/afd2a586a8e628ef3a9b1903be358c43
文字列の連結
文字列はプラス記号(+) を使って連結することができます。
code:python
>> 'Hello' + 'World'
'HelloWorld'
文字列の連結 その2
文字列にアスタリスク記号(*) を使うと同じ文字列を繰り返して連結することができます。
code: python
>> 'I Love You! ' * 3
'I Love You! I Love You! I Love You! '
数値から文字列に変換
連結は文字列同士でしかできないので、数値(int型やfloat型の変数)と文字列とは直接連結できません。
str() を使うと整数型から文字列に変換することができます。
code: python
>> a=500
>> a + 'JPY'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>> str(a) + 'JPY'
'500JPY'
実践ドリル