作用:傳遞信息
字符串表達式:使用單引號或者雙引號引起來的一串符號
字符串的性質
1.字符串是有序的(下標、切片)
2.字符串是不可變的(無增刪改)
3.字符串的容器符號:‘’,“”,‘’‘’‘’,“”“”“”;類型:str
4.字符串分類:普通字符、轉義字符、原始字符串
----有特殊含義的符號
原來轉義字符規定使用\ + 數字表示有特殊意義的符號;現在c語言規定\ + 特定符號表示有特殊意義的符號
print('ab\tc\nd')print('ab\'cd')print('ab\\tcd')
ab c
d
ab’cd
ab\tcd
\ + 指定符號可以使有特殊含義的符號變成其本身
可以讓沒有特殊含義的符號變得有特殊意義
在字符串前面添加R,r,可以將字符串中的轉義字符變成其本身
print('12\t34')print(r'12\t34')
12 34
12\t34
一個轉義字符長度始終為1,添加了原始字符串得到轉義長度是2
print(len(r'\t'), len('\t'))
2 1
得到的是新的字符串對象
print('ab' + 'cd')
abcd
print('*' * 20)
遵循比較第一對不相同元素的大小原則
Python使用的編碼表是ASCII碼表的拓展表Unicode編碼表(萬國碼)
print('ab' > 'c') # ----> a和c比較
False
chr() — 能夠將進制轉換成對應的符號
ord() — 能夠將符號轉換成十進制
print(ord('c'))print(ord('。'))print('ab。' > 'abc')print(chr(12290))
99
12290
True
。
注:
A-Z 對應的范圍: 65-90
a-z 對應的范圍: 97-122
左右的中文:\u4e00 - \u9fa5 (十六進制); 19968-40869(十進制)
print(chr(ord('\u4e00')), chr(ord('\u9fa5')))for i in range(19968, 40870): print(chr(i), end=' ')
(一部分)
詇 詈 詉 詊 詋 詌 詍 詎 詏 詐 詑 詒 詓 詔 評 詖 詗 詘 詙 詚 詛 詜 詝 詞 詟 詠 詡 詢 詣 詤 詥 試 詧 詨 詩 詪 詫 詬 詭 詮 詯 詰 話 該 詳 詴 詵 詶 詷 詸 詹 詺 詻 詼 詽 詾 詿 誀 誁 誂 誃 誄 誅 誆 誇 誈 譽 謄 誋 誌 認 誎 誏 誐 誑 誒 誓 誔 誕 誖 誗 誘 誙 誚 誛 誜 誝 語 誟 誠 誡 誢 誣 誤 誥 誦 誧 誨 誩 說 誫 説 読 誮 誯 誰…
in、 not in
print('a' in 'abc')
True
補充
二進制:0、1
例:A:二進制:0b01000001,十進制:65,十六進制:0x41,八進制符號:0o101
print(chr(0b01000001), chr(65), chr(0x41), chr(0o101))
A A A A
oct() - 講進制轉換為八進制
print(hex(65))print(oct(65))
0x41
0o101
str1 = '''從前有座山山上有座廟廟裡有個老和尚老和尚對小和尚說'''
獲取第一個“山”,下標為5,換行相當於一個’\n‘
print(str1[5])
山
"說"的下標
print(str1[-2])
說
**注意:**一個回車鍵相當於一個’\n’,長度為1
1.將“從前有座山”取出
print(str1[1: 6])
從前有座山
2.將“廟有老”
print(str1[13:18:2])
廟有老
3.將“廟座有上山”
print(str1[-19: -24: -1])
廟座有上山
補充
一行完整的內容如何換行?
num = 1 + 2 + \ 3 + 4 + 5 + 6 + 7 + 8 \ + 1 + 2 + 3 + \ 4 + 5 + 6 + \ 7 \ + \ 82 \ + 10print(num)str2 = '3245678' \ '9087654'print(str2)
156
32456789087654
str1 = '王者榮耀'
for i in str1: print(i)
王
者
榮
耀
for i in range(len(str1)): print(str1[i])# 獲取王榮for i in range(0, len(str1), 2): print(str1[i])
王
者
榮
耀
王
榮
練習
1.“abcderf”—>“ABCDERF”
str2 = 'abcderf'str3 = ''for i in str2: print(chr(ord(i)-32)) str3 += chr(ord(i)-32)print(str3)
ABCDERF
2.‘abcdABDCD一二三四’—>‘ABCDabcd一二三四’
str4 = 'abcdABDCD一二三四'str5 = ''for i in str4: if 'a' <= i <= 'z': str5 += chr(ord(i) - 32) elif 'A' <= i <= 'Z': str5 += chr(ord(i) + 32) else: str5 += iprint(str5)
ABCDabdcd一二三四
切割,以指定符號為切割點,將切割點左右的字符串分開並且保存到列表中
print('abcAKAUHFAskfnalnla/s'.upper())
ABCAKAUHFASKFNALNLA/S
大寫字母轉小寫字母
print('abcAKAUHFAskfnalnla/s'.lower())
abcakauhfaskfnalnla/s
將字符串中首字母大寫,必須以字母開頭的字符串
print('abc123D456;.b'.capitalize())
Abc123d456;.b
切割,以指定符號為切割點,將切割點左右的字符串分開並且保存到列表中
result1 = '1, 2, 3'.split(',')print(result1)print('3' + '' == '3')
Abc123D456;.B
切割,以指定符號為切割點,將切割點左右的字符串分開並且保存到列表中
result1 = '1, 2, 3'.split(',')print(result1)print('3' + '' == '3')
[‘1’, ’ 2’, ’ 3’]
True
將一個所有元素均為字符串的序列(容器)中的所有元素以指定符號拼接起來
result2 = ','.join(result1)print(result2)
1, 2, 3
默認去掉字符串頭尾的空符號(空格、\n、\t等都是空符號),也可以指定去除的符號
str1 = '\nabc \t\n'print('-' * 20)print(str1)print('-' * 20)print(str1.strip())print('-' * 20)print(str1.strip('\n'))print('-' * 20)print('abc--'.strip('.'))
替換
replace(‘old_str’,‘new_str’,‘次數’) — 將一個字符串中指定數量的old_str替換成new_str
str1 = ',1, 2, 3,'print(str1.replace(',', ' '))print(str1.replace(',', ' ', 2))
1 2 3
1 2, 3,
應用
“你可真是個垃圾”
–主、謂、賓
–Python中有一個模塊jieba
[‘你’, ‘可’, ‘真是’, ‘個’, ‘垃圾’]
–現存一個詞庫(停用詞):
[‘垃圾’, ‘菜雞’, ‘辣雞’]
–如果jieba分詞後的結果在停用詞庫中出現過,直接進行替換
str1 = "你可真是個垃圾"stop_words = ['垃圾', '菜雞', '辣雞']str2 = ''list1 = ['你', '可', '真是', '個', '垃圾']for i in list1: if i in stop_words: str2 += str1.replace(i, '*'*len(i))print(str2)
你可真是個**
作者:有較強的自我管理意識.
游戲編程,一個游戲開發收藏夾~
如果圖片長時間未顯示,請使用Chrome內核浏覽器。