網頁

python 字串資料型態

python 字串資料型態

  • python中字串資料可以用半型的單引號 ( ' )或雙引號( " )來將字串內容包覆在其中,如果在其中有必要顯示單引號或雙引號時,可以用( \ )跳脫字元來將這兩個符號顯示出來。

>>> x='Hello Eric'
>>> print x
Hello Eric

>>> x='Hello, I\'m Eric'
>>> print x
Hello, I'm Eric


  • 在執行環境中,無法利用Enter來直接換行,若要進行換行,可以用( \n )的字元來達成。
>>> x='Hello, \n I\'m Eric'
>>> print x
Hello,
 I'm Eric


  • 若在程式碼中一次要輸入多行時,可使用( \ )符號來達成。
>>> x='Hello, \
... I\'m Eric'
>>> print x
Hello, I'm Eric

  • 另外也可以使用三個單引號( ''' )或雙引號( """ )來完整保留字串資料的原始格式。
>>> x='''Hello,
... I\'m Eric'''

>>> x
"Hello,\nI'm Eric"

>>> print x
Hello,
I'm Eric


  • 字串可以用( + )號或空白來達到字串的連結作用,另外可以用乘號( * )來達到倍數的作用
>>> x='Hello, '
>>> y='Eric'
>>> print x+y
Hello, Eric

>>> z='Hello, ' 'Eric'
>>> z
'Hello, Eric'

>>> print x*5+y*5
Hello, Hello, Hello, Hello, Hello, EricEricEricEricEric


  • 但兩個字串變數則不行用空白來做組合運算,必須用( + )的符號來組合在一起,另外字串若要與其它非字串型態的變數相加,必須要先將非字串的變數利用str( )函數轉換為字串再進行運算。

>>> z=x y
  File "<stdin>", line 1
    z=x y
        ^
SyntaxError: invalid syntax

>>> z=x+y
>>> z
'Hello, Eric'

>>> i=9
>>> print i+x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

>>> print str(i)+x
9Hello,



  • 若要取出字串中某些字元,可以將此字串的每一個字元當成陣列中的元素,起始的位置為0。

>>> z='Hello, Eric'

>>> z[3]
'l'

>>> z[0:4]
'Hell'

>>> z[:4]
'Hell'

>>> z[4:]
'o, Eric'

>>> z[-3]
'r'

>>> z[0:3]+z[5:]
'Hel, Eric'



  • 要計算字串的長度,可用len( )函數來計算。

>>> z
'Hello, Eric'

>>> len(z)
11


  • 字串的延伸切片運算,可以透過第三個限制值來取出相隔等距的字串字元。

>>> s='abcdefghijklmno'
>>> s[1:10:2]
'bdfhj'