0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Udemy Python3入門+応用】 11.文字列

Last updated at Posted at 2020-03-01

※この記事はUdemyの
現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。

##■基本の文字列

print_standard
print('hello')
print("hello")
result
hello
hello

print()内で文字列を指定する場合は、''でも""でもよい。


##■文字列内に「'」がある場合
#####◆""で括る

print_'
print("I don't know.")
result
I don't know.

""で括った場合は、きちんと出力される。

#####◆''で括るとエラーになる

print_'
print('I don't know.')
result
    print('I don't know.')
                 ^
SyntaxError: invalid syntax

''で括った場合、文字列中の「'」が括りの終わりと判定されてしまい、エラーとなってしまう。

#####◆\を使ってエラーを回避する

print_'
print('I don\'t know.')
result
I don't know.

文字列中の'の前に\を入れてやることで、括りとしての判定を回避できる。

print_'
print('say "I don\'t know."')
print("say \"I don't know.\"")
result
say "I don't know."
say "I don't know."

応用。


##■文字列内に「\n」がある場合
#####◆改行の\n

print_\n
print('Hello. \nHow are you?')
result
Hello.
How are you?

\nが「改行」となるのは以前扱った。

#####◆誤って\nと判定される

print_\n
print('C:\name\name')
result
C:
ame
ame

「C:\name\name」を表示させたかったのに、\nの部分が改行判定されてしまった。

#####◆rを用いた判定回避

print_\n
print(r'C:\name\name')
result
C:\name\name

その際は、"raw"の頭文字であるrを文字列の先頭につけることで、文字列をそのままprintすることができる。


##■改行

new_line
print("""
line1
line2
line3
""")
result

line1
line2
line3

上のように""" """を用いることで、\nを使って一行で記述せずとも、見やすいコードが書ける。

new_line
print('#######')
print("""
line1
line2
line3
""")
print('#######')
result
#######

line1
line2
line3

#######

ただし、この書き方だと文字列の上下に空白行が挿入されることになる。

new_line
print('#######')
print("""\
line1
line2
line3\
""")
print('#######')
result
#######
line1
line2
line3
#######

\をこのように入れてあげることで、「次に書くコードは次の行から始めてね」という意味になる。


##■演算子を用いる
#####◆文字列と演算子

operator
print('Hi.' * 3 + 'Mike.')
print('Py' + 'thon')
print('Py''thon')
result
Hi.Hi.Hi.Mike.
Python
Python

文字列に対し、演算子を組み合わせることもできる。
単純に文字列同士を接続する場合、+を記述しなくても接続してprintされる。

#####◆変数と文字列の並列

operator
prefix = ('Py')

print(prefix'thon')
result
    print(prefix'thon')
                     ^
SyntaxError: invalid syntax

ただし、変数に文字列を代入した場合は+を省略することはできない。

operator
prefix = ('Py')

print(prefix + 'thon')
result
Python

+できちんと接続することができた。

#####◆+の省略が好まれる場合

operator
print('aaaaaaaaaaaaaaaaaaaaaaaaaaa'
      'bbbbbbbbbbbbbbbbbbbbbbbbbbb')
result
aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbb

長い文字列をつなげて表示させる場合は、このように記述するとコードが見やすくなる。
(1行で書くと画面サイズに収まりきらない場合があったりして見にくい。)

0
0
2

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?