Python 字串
字串是一系列的字元,使用 ' '
或者" "
來建立字串。
與其他語言不同的是,Python的字元是不可改變的
,不能夠直接更改字串。
1 | name = 'Blank' |
2 | name[0] = 'A' |
3 | print(name) |
4 | |
5 | ---------------執行結果--------------- |
6 | name[0] = 'A' |
7 | TypeError: 'str' object does not support item assignment |
str()來轉換資料型態
我們可以使用 str()
來將其他資料型態轉成字串:
1 | number = 98.8 |
2 | number = str(number) |
3 | print(number,type(number)) |
4 | |
5 | number = 123 |
6 | number = str(number) |
7 | print(number,type(number)) |
8 | |
9 | number = 1.0e4 |
10 | number = str(number) |
11 | print(number,type(number)) |
12 | |
13 | ---------------執行結果--------------- |
14 | 98.8 <class 'str'> |
15 | 123 <class 'str'> |
16 | 10000.0 <class 'str'> |
用 + 來結合
我們可以使用 + 來串接字串
1 | a = 'hello' |
2 | b = 'world' |
3 | |
4 | print(a+b) |
5 | ---------------執行結果--------------- |
6 | helloworld #不會加上空格 |
用 len()來取得字串長度
1 | a = 'hello' |
2 | b = '' #沒加東西 |
3 | c = ' ' #空格 |
4 | print(len(a)) |
5 | print(len(b)) |
6 | print(len(c)) |
7 | |
8 | ---------------執行結果--------------- |
9 | 5 |
10 | 0 |
11 | 1 |
我們可以發現空格也算一個字元。
分割
當我們想要分割一個字串時我們可以使用.split()
,使用一些分割符號將一個字串分解成一個短字串的list
。
1 | mystring = 'I am a student. I like Python' |
2 | print(mystring.split(' ')) #以空白做分割 |
3 | |
4 | ---------------執行結果--------------- |
5 | ['I', 'am', 'a', 'student.', 'I', 'like', 'Python'] |
結合
若我們想把一個值為短字串的list結合成一個字串,我們可以使用.join()
,並提供將list串接的字串。
用法:
string.join(list)
1 | names_list = ['Mike', 'John', 'Tim', 'Amy', 'Jenny'] |
2 | names_string = ', '.join(names_list) #以 ', '做串接 |
3 | print(names_string) |
4 | |
5 | ---------------執行結果--------------- |
6 | Mike, John, Tim, Amy, Jenny |
字元判斷 function
.isalnum()
:
判斷字符串裡,是不是由數字或是大小寫英文字母組成的,為真就返回True,若是有包含特殊符號(包含空格和換行)的為就會返回False
1 | word = 'apple' |
2 | print(word.isalnum()) |
3 | |
4 | string = 'i am 123' |
5 | print(string.isalnum()) |
6 | |
7 | string2 = '@@ hello' |
8 | print(string2.isalnum()) |
9 | |
10 | ---------------執行結果--------------- |
11 | True |
12 | False |
13 | False |
.isalpha()
判斷字符串,是不是所有字符都是為大小寫的英文字母,為真返回True,反則返回False
1 | word = 'apple' |
2 | print(word.isalpha()) |
3 | |
4 | num = '123' |
5 | print(num.isalpha()) |
6 | |
7 | ---------------執行結果--------------- |
8 | True |
9 | False |
.isdigit()
判斷字符串中,是不是數字(整數)
1 | num = '123' |
2 | print(num.isdigit()) |
3 | |
4 | num2 = '123.88888' |
5 | print(num2.isdigit()) |
6 | |
7 | word = 'aaaa' |
8 | print(word.isdigit()) |
9 | |
10 | ---------------執行結果--------------- |
11 | True |
12 | False |
13 | False |
還有一些 function 等到有用到再寫吧……