0%

Python 的 String

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 等到有用到再寫吧……

資料來源:

Python 學習筆記 系列
精通 Python:運用簡單的套件進行現代運算