# String
* Åimdiye kadar sadece sayılar ile uÄraÅtık. Bu notebook'ta yeni bir veri tipine, `String`'lere bakalım
* Stringler karakterlerden oluÅan bir dizidir aslında. Stringlerin elemanları karakterlerdir.
* **Karakterler**: (a,b,c,d...) gibi harfler, (*, ?, =, <, >, /...) gibi özel karakterler, (1,2,3...) gibi yazı biçiminde sayılar, boÅluk(space) karakter olarak adlandırılabilir.
* **String**'ler `Karakter`lerden veya bunların kombinasyonlarından oluÅabilirler.
* Bir Åeyin `String` olduÄunu belirtmek için yazacaklarımızı ikili tırnak ("") veya tekli tırnak ('') içine yazarız
* Tırnak iÅaretlerinin yaptıÄı Åey aslında: **Bu tırnak iÅaretlerinin içinde verdiÄim diziye karakterler dizisi olarak davran, öyle algıla** demek.
* İkili tırnak içine de yazsak, tekli tırnak içine de yazsak aynı Åekilde algılanır. Ãnemli olan hangisiyle baÅladıysak onunla bitirmek.
* Scalar ve Non-scalar objelerden bahsetmiÅtik. Non-scalar veri tiplerinin daha alt parçalara bölünebilen, elemanlar içeren yapılar olduÄunu konuÅmuÅtuk. `String` non-scalar bir veri tipi. İçsel yapı olarak karakterlerden oluÅuyor.
* Stringler `immutable` veri tipidir
* **Immutable**: Elemanlarının deÄerleri deÄiÅtirilemez.
```python
5
```
> 5
```python
"5"
```
> '5'
```python
"a"
```
> 'a'
```python
'a'
```
> 'a'
```python
# Hangisiyle baÅladıysak onunla bitirmeliyiz
"a'
```
File "", line 2
"a'
^
SyntaxError: EOL while scanning string literal
```python
"5"
```
> '5'
```python
# Burada +'ya operatör olarak davranılmıyor, yazı olarak davranılıyor.
"5 + 10"
```
> '5 + 10'
```python
type('Hmm o zaman x=5 diyebilir miyiz?')
```
> str
```python
type("5")
```
> str
```python
type("5 + 10")
```
> str
* Hangisiyle baÅladıysak onunla bitireceÄimiz için kesme iÅareti ve alıntı yapmada hangisiyle baÅladıÄımız önemli olabilir (bu ayrımı nasıl yapacaÄım, buna göre mi tasarlayacaÄım diyenler için iyi haber - escape character kısmını iÅleyince daha iyi bir yolunu göreceÄiz)
```python
"Bugün Kadıköy'e gidiyorum"
```
> "Bugün Kadıköy'e gidiyorum"
```python
'Bugün Kadıköy'e gidiyorum'
```
File "", line 1
'Bugün Kadıköy'e gidiyorum'
^
SyntaxError: invalid syntax
```python
"Bana "Bugün Kadıköy'e gidiyorum" dedi"
```
File "", line 1
"Bana "Bugün Kadıköy'e gidiyorum" dedi"
^
SyntaxError: invalid syntax
```python
'Bana "Bugün Kadıköy'e gidiyorum" dedi'
```
File "", line 1
'Bana "Bugün Kadıköy'e gidiyorum" dedi'
^
SyntaxError: invalid syntax
## Escape Sequence
```python
"Bana \"Bugün ne yapıyorsun\" dedi"
```
> 'Bana "Bugün ne yapıyorsun" dedi'
```python
'Bugün Kadıköy\'e gidiyorum'
```
> "Bugün Kadıköy'e gidiyorum"
```python
print("hey\nnasılsın")
```
> hey
>
> nasılsın
```python
print("hey\tnasılsın")
```
> hey nasılsın
```python
print("hmm \")
```
> File "", line 1
print("hmm \")
^
SyntaxError: EOL while scanning string literal
```python
print("hmm \\")
```
> hmm \