day06字符串

1.什么是字符串(str):

  1. python自帶的容器型數據類型(序列),不可變有序
  2. python中的字符串使用單引號或者雙引號引起來的字符集;
    引號里面的每個基本單元叫字符

2.字符

python中只有字符概念,沒有字符類型

  1. 普通字符:數字、字母、中文、日語、普通符號等
   str1 = "123 and 你好!!@#¥% ?"

2.轉義字符
在特定的字符前\來表示特殊功能或者特殊意義的字符

   \n ->換行
   \' \" ->單引號和雙引號本身
   \\ ->讓一個\失去轉義的功能
   \t ->制表符
   阻止轉義:可以在字符串的最前面加r,R,能夠阻止所有的轉義字符轉義
   str1 = r'\thow\nare\nyou\"'
   print(str1)
  1. 編碼字符:在字符串\u四位的十六進制數 來表示一個字符
   str1 = '123\u1234' # \u字符編碼值的 16進制數
   print(str1)

字符編碼:
計算機本身只有直接存儲數字的能力(二進制的補碼),為了能夠存儲數字以外的符號
開發人員給每個字符對應一個固定的數字用來對字符進行存儲,每個字符對應的固定
的數字就是字符的編碼值。
每個字符和數字的一一對應關系就是字符編碼表,常見的編碼表有:ACSII碼表、Unicode編碼表
ACSII碼表采用一個字節對字符進行編碼:0-127
Unicode表采用2個字節對字符進行編碼:包含了ASCII表
chr()函數:chr(編碼值) - 獲取編碼值對應的字符
ord()函數:ord(字符) - 獲取指定字符對應的編碼

3.字符串的操作:查

  1. 獲取單個字符
    語法:字符串[下標] - 獲取指定下標對應的字符
    說明:字符串 - 結果是字符串的表達式(字符串值、支付穿變量、運算結果是字符串)
    [] - 固定寫法
    下標 - 又叫索引,字符串確定后,字符串中的每一個字符都有確定的下標,表示這個字符在字符中的位置。
    python中下標有兩種,位置從后往前是0字符串長度-1;位置從后往前是-1字符串長度
    注意:獲取單個字符的時候下表不能越界
      str1 = 'hello'
      print(str1[0], str1[3])
      print(str1[-1])
  1. 獲取部分字符(字符串切片)
    語法:字符串[開始下標:結束下標:步長] - 從開始下標開始獲取,每次增加步長取下一個取到結束下標前為止
    說明:字符串 - 結果是字符串的表達式
    []/: - 固定寫法
    開始下標 - 下標,整數。能取到對應的字符
    結束下標 - 下標整數。對應的字符取不到
    步長 - 整數。如果是正數,從前往后取;如果是負數,從后往前去取
    注意:
    1.字符串切片的結果都是字符串
    2.如果步長是正數,開始下標對應的字符要在結束下標對應的前面,才能取到值;如果步長是負數,那么開始下標對應的字符要在結束下標對應的字符的后面,才能取到值
str2 = 'abc+123'
print(str2[0:3:1])
print(str2[2:-2:1])  # c + 1
print(str2[0:-1:1])  # 321+
print(str2[-1:1:-2])  # 31c
  3.切片的實收下標可以越界

3.獲取部分字符的簡寫

1.省略步長(步長為1的時候)

str2 = 'abc+123'
print(str2[0:3])

2.省略開始下標 - 步長為正從頭往后獲取;步長為負從后往前獲取
語法:字符串[:結束下標:步長]、字符串[:結束下標]

str2 = 'abc+123'
print(str2[:3])  # abc

3.省略結束下標:步長為正,取到字符串最后一個為止;步長為負取到第一個為止
語法:字符串[開始下標::步長]、字符串[開始下標:]

str2 = 'abc+123'
print(str2[1:])  # bc+123
print(str2[1::-1])  # ba
print(str2[:])  # abc+123
print(str2[::-1])  # 321+cba

4.遍歷字符串 - 將字符串中的字符一個一個的取出來

str2 = 'abc+123'
for x in str2:
    print(x)
for x in range(len(str2)):
    print(str2[x])

5.字符串的相關操作

1.字符串的運算
1.數學運算符:+,* -> +:字符串的拼接;*:字符串重復輸出幾次

str1 = 'abc' + 'hello'  # 字符串的拼接
str1 = 'abc' * 3

2.比較運算符:>,<,>=,<=,==,!=(針對兩個字符串的比較)
字符串比較大小,實際比的是字符串的編碼值

應用:
判斷一個數字是否是小寫字母:'a' <= char <= 'z'
判斷一個數字是否是大寫字母:'A' <= char <= 'Z'
判斷一個數字是否是字母:'a' <= char <= 'z' or 'A' <= char <= 'Z'
判斷一個字符是否是中文(4e00 - 9fa5):'\ue400' <= char <= '\u9fa5'

3.賦值運算符:=,+=,*=
2.in 和 not in :判斷一個字符串是否在另一個字符串中
3.len():len(字符串) -> 獲取字符串中字符串的個數
4.str(數據):將其他類型數據轉換成字符串(所有類型的數據都可以轉成字符串)
5.格式字符串:在字符串中用格式占位符代替字符串中變化的部分,然后再使用數據對變化的部分進行賦值
語法:包涵格式占位符分字符串%(數據1,數據2)
說明:數據的個數和類型要和前面的字符串格式占位符的格式和類型保持一致
格式占位符:
%s - 字符串
%d - 整數
%.Nf - 浮點數 ->(N控制小數后小數的位數)
%c - 字符

name = input('請輸入你的名字:')
age = int(input('請輸入你的年齡:'))
money = float(input('請輸入你的薪資(K):'))
print('我是%s,今年%d歲,每個月工資%.1fK' % (name, age, money))

6.字符串的對象方法

字符串.函數名()
1.字符串.capitalize() - 將字符串中的第一個字符轉換成大寫字母

str1 = 'abc'
print(str1.capitalize())
print('++++++++')

2.設置對齊方式

"""
字符串.center(width, fillchar) - 讓字符串在新字符串中居中,width控制新字符串的寬度,fillchar設置填充字符
字符串.rjust(width, fillchar)
字符串.ljust(width, fillchar)
字符串.zfill(width) <==> 字符串.rjust(width, '0')
"""
str2 = 'abc'
print(str2.center(8, '+'))
print(str2.ljust(7, '/'))
print(str2.rjust(7, '='))
num = 15
print('學號:', str(num).rjust(3, '0'))
print('學號:', str(num).zfill(3))
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內容

  • 1 字符編碼 python中的編碼采用的是Unicode編碼。什么是編碼?就是數字和字符的一一對應的,其中字符對應...
    barriers閱讀 427評論 0 1
  • 字符串 1.什么是字符串 序列:有序,不可變的。用單引號或者雙引號括起來的任意字符(集)。 2.字符串中的字符 a...
    落幕丶丶閱讀 818評論 0 0
  • 1.什么是字符串(str) 字符串是Python內置的一種容器型數據類型,不可變但是有序;將單引號或者雙引號作為容...
    聶叔叔呀閱讀 278評論 0 0
  • 1.什么是字符串(str) 字符串是python內置的一種容器型數字類型,不可變、有序 ;不可變:指的是內容的值和...
    WeeJoo閱讀 7,030評論 0 1
  • 1.什么是字符串 序列,有序,不可變的。用單引號或者雙引號括起來的任意字符集。 2.字符串中的字符 a.普通字符:...
    發家致富靠養豬閱讀 644評論 1 7