---
# System prepended metadata

title: 3-3 字串資料型態
tags: [Python, chapter 3]

---

###### tags: `chapter 3` `Python`
# 3-3 字串資料型態 #
字串(string)型態的資料會用`' '`或者`" "`將內容包起來，所有被這兩種符號包起來的資料都是字串，字串最常見的使用就是在人名上。

```python=
name = 'John'
print(type(name))
print(name)
```

## 逸出字元 ##

上面關於字串的定義會衍伸一個問題：如果我今天真的需要`'`和`"`符號怎麼辦？這時候我們會需要`\`的幫忙，這種需要用`\`幫忙的特殊字元統稱為「逸出字元」。

![](https://i.imgur.com/1ck1k9K.jpg)

## 字串操作 ##
python的字串非常方便，如果想要將兩個字串連接在一起，你只需要用`+`來幫助你完成，相較於C語言的`strcat()`，方便且直觀很多。

```python=
text = "Hello , "
text2 = "World"
print(text + text2)
```

`+`為字串提供了連接的功能，`*`則提供了複製的功能，如果將一個字串進行乘法運算，
則視為將字串複製n次。

```python=
text = "Wow"
print(text * 5)
```

而一個字串之所以叫字串是因為它可以當作是多個字元串聯在一起，每一個字元都是獨立的，也就是說，我們可以指定一個字串裡的某一個字元，這樣的操作我們必須用到`[]`和`整數`來幫我們選取特定字元。

```python=
text = "This is a test"
print(text[2])
# 輸出結果：i
# 這樣對嗎???
```

為甚麼是輸出`i`呢？第二個字元不是`h`嗎？

![](https://i.imgur.com/W2iquav.png)
在python的世界裡面，索引值這個概念都是從`0`開始哦！這個和C/C++是一樣的，所以這裡的輸出才會是`i`而不是`h`，大家要小心哦！
![](https://i.imgur.com/htnmaKO.png)
