Day4-筆記整理

1.什么是字符串

序列筒扒,有序倚评,不可變的。
用單引號或者雙引號括起來的任意字符集媒楼。

2.字符串中的字符

a.普通字符: '23','ashNHJ','-=+!$@% #^&><?', '上的驚世毒妃', '??????'
b.轉(zhuǎn)義字符:\n, \t, ', ", \
阻止轉(zhuǎn)義:r/R

1.字符編碼

python中的字符采用的是Unicode編碼

a.什么是編碼
就是數(shù)字和字符的一一對應(yīng)的戚丸,其中字符對應(yīng)數(shù)字就是字符的編碼
a - 97
b - 98
余 - 20313

b.編碼方式
ASCII碼表:針對數(shù)字字符匣砖、字母字符、一些英文中常用的符號進(jìn)行編碼
采用一個字節(jié)對字符進(jìn)行編碼(128個字符)
Unicode碼:Unicode碼包含了ASCII碼表昏滴,同時能夠?qū)κ澜缟纤姓Z言對應(yīng)符號進(jìn)行編碼
采用兩個字節(jié)對字符進(jìn)行編碼,能編碼65536個字符

      中文:4E00 ~ 9FA5

c.兩個函數(shù)
chr(編碼值) - 將字符編碼轉(zhuǎn)換成字符
ord(字符) - 獲取字符對應(yīng)的編碼值

print(chr(0x4E01))
yu = ord('余')
ting = ord('婷')
print(hex(yu), hex(ting))

d.可以將字符編碼放到字符串中便是一個字符: \u + 4位的16進(jìn)制編碼值

str1 = 'abc\u4f59123\u1234'
print(str1)

獲取字符串中的字符

一旦一個字符串確定猴鲫,那么字符串中每個字符的位置就確定。
而且每個字符會對應(yīng)一個用來表示其位置和順序的下標(biāo)值谣殊。

1.下標(biāo)(索引)

字符串中的每個字符都有一個下標(biāo)拂共,代表其在字符串中的位置
下標(biāo)的范圍是: 0 ~ 字符串長度-1 (0代表第一個字符的位置)
-1 ~ -字符串長度 (-1代表最后一個字符的位置)

'abc' # 'a': 0/-3 'b':1/-2 'c':2/-1
'abc\n123' # '1': 4/-3
'abc\u4eff1234' # '1': 4/-3

2.獲取單個字符

語法:字符串[下標(biāo)] - 獲取字符串中,指定下標(biāo)對應(yīng)的字符
說明: 字符串 - 可以是字符串常量姻几,也可以是字符串變量(只要結(jié)果是字符串就行)
[] - 固定寫法
下標(biāo) - 字符的下標(biāo)宜狐,不能越界

str1 = 'hello python'
print(str1[6], str1[-6])
print(str1[-2])

print(str1[12]) # IndexError: string index out of range
print(str1[-20]) # IndexError: string index out of range

3.獲取部分字符

方法1:
a.語法:字符串[開始下標(biāo):結(jié)束下標(biāo):步長]
b.說明:字符串 - 可以是字符串常量,也可以是字符串變量(只要結(jié)果是字符串就行)
[] - 固定寫法
: - 固定寫法
開始下標(biāo)蛇捌、結(jié)束下標(biāo) - 下標(biāo)值
步長 - 整數(shù)

c.功能:
從開始下標(biāo)開始獲取到結(jié)束下標(biāo)前為止, 每次下標(biāo)值增加步長對應(yīng)的值抚恒。結(jié)果是字符串

d.注意:
當(dāng)步長是正數(shù)(從前往后取), 開始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符的前面
當(dāng)步長是負(fù)數(shù)(從后往前取),開始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符的后面

結(jié)束下標(biāo)對應(yīng)的值取不到的

str1 = 'abcdefghij'
print(str1[0:6:1])

abcdef
print(str1[0:6:2])
ace

print('==:',str1[-1:6:-1])
print(str1[-1:2:-2])

方法2:
語法:字符串[開始下標(biāo):結(jié)束下標(biāo)] (相當(dāng)于步長是1)

str1 = 'abc123abc'
print(str1[-1:3]) # '' - 空串
print(str1[3:-1])

4.獲取部分字符络拌,省略下標(biāo)

獲取部分字符的時候俭驮,開始下標(biāo)和結(jié)束下標(biāo)都可以省略
a.開始下標(biāo)省略
字符串[:結(jié)束下標(biāo):步長] 或者 字符串[:結(jié)束下標(biāo)]
步長是正數(shù):從字符串開頭開始往后獲取
步長是負(fù)數(shù):從字符串結(jié)尾開始往前獲取

str1 = 'abc123abc'
print(str1[:4:1])
print(str1[:4:-1])

b.結(jié)束下標(biāo)省略
字符串[開始下標(biāo)::步長] 或者 字符串[結(jié)束下標(biāo):]
步長是正數(shù):從開始下標(biāo)從前往后獲取到字符串結(jié)束
步長是負(fù)數(shù):從開始下標(biāo)從前后往前獲取到字符串開頭

print(str1[4:])
print(str1[4::-1])

print(str1[:])
print(str1[::-1]) # 字符串倒序
print(str1[-100:100]) # 這兒的開始下標(biāo)和結(jié)束下標(biāo)都可以越界

注:方向判斷只看步數(shù)正負(fù),正(從左到右)春贸,省略步數(shù)默認(rèn)為1

字符串的相關(guān)運(yùn)算

字符串1 + 字符串2: 將兩個字符串拼接在一起產(chǎn)生一個新的字符串(不會修改原字符)

注意:字符串相加混萝,加號兩邊必須都是字符串

str1 = 'abc'
str2 = '123'
print(str1 + str2, str1, str2)

print(str2+10) # TypeError: must be str, not int
print(str2+'10') # 12310

2. *

字符串 * n(正整數(shù)):字符串的內(nèi)容重復(fù)n次,產(chǎn)生一個新的字符串

str1 = 'abc'
print(str1*3)

print(''10)

3.比較運(yùn)算符: >萍恕,<. ==, !=, >=, <=

a. ==, !=
字符串1 == 字符串2 - 判斷兩個字符串是否相等

print('abc' == 'abc')
print('abc' != 'abc')
print('abc' == 'cba')
a. >, <, >=, <=
兩個字符串比較大幸萼帧:從第一個開始,找到第一對不同的字符允粤,然后比較他們的編碼值的大小

print('abc' > 'ad') # False
print('abcdZ' > 'abcde' ) # False
print('1abc' < 'ahkks') # True

4. in 和 not in

字符串1 in 字符串2:判斷字符串2中是否包含字符串1崭倘,結(jié)果是布爾
字符串1 not in 字符串2:判斷字符串2中是否不包含字符串1翼岁,結(jié)果是布爾

print('abc' in 'abc123') # True
print('abc' in 'ab123c') # False
print('abc' not in 'ab123c') # True
print('#' in 'ahs#hf#23') # True

5.len函數(shù)
len(序列)
len(字符串) - 獲取字符串中字符的個數(shù)

print(len('abc123'))
print(len('abc\n123\u4edd')) # 8
print(len('abc\n123\u4edd')) # 13
print(len(r'abc\n123\u4edd')) # 14
print(len('abc\t1 23')) # 8

6.str

str(數(shù)據(jù));將數(shù)據(jù)轉(zhuǎn)換成字符串

a.其他數(shù)據(jù)轉(zhuǎn)換成字符串:
所有的類型的數(shù)據(jù)都可以轉(zhuǎn)換成字符串司光。轉(zhuǎn)換的時候就是在數(shù)據(jù)的值的最外面加引號

補(bǔ)充:系統(tǒng)數(shù)據(jù)類型名不能用來給變量命名

a.其他數(shù)據(jù)轉(zhuǎn)換成字符串:
所有的類型的數(shù)據(jù)都可以轉(zhuǎn)換成字符串琅坡。轉(zhuǎn)換的時候就是在數(shù)據(jù)的值的最外
面加引號

str1 = str(100)
print(str1, type(str1))

b.字符串轉(zhuǎn)其他類型
字符串轉(zhuǎn)整數(shù): int(字符串), 只有去掉引號后剩下的部分本身就是一個整數(shù)的字符串才能轉(zhuǎn)換成整型
字符串轉(zhuǎn)浮點(diǎn)型: float(字符串),只有去掉引號后剩下的部分本身就是一個整數(shù)或者小數(shù)的字符串才能轉(zhuǎn)換成浮點(diǎn)型
字符串轉(zhuǎn)布爾: bool(字符串), 除了空串會轉(zhuǎn)換成False,其他所有的字符串都會轉(zhuǎn)換成True

補(bǔ)充:系統(tǒng)數(shù)據(jù)類型名不能用來給變量命名

print(int('-123'))
print(float('12.89'), float('123'), float('2e3'))
print(bool('0'), bool('False')) # True
print(bool('')) # False

格式字符串

1.格式字符串
指的是字符串中通過格式占位符來表示字符串中變化,然后后面再通過其他的值來給占位符賦值
語法:
含有格式占位符的字符串 % (占位符對應(yīng)的值)

說明:格式占位符 - 有固定的寫法;可以有多個
% - 固定寫法
() - 里面的值的個數(shù)和值的類型要和前面的格式占位符一一對應(yīng)

2.常見格式占位符
%d - 整數(shù)
%s - 字符串
%.nf - 小數(shù)(保留小數(shù)點(diǎn)后n位小數(shù))
%c - 字符 (可以將數(shù)字轉(zhuǎn)換成字符)

name = input('名字:')
message = '%s你好飘庄,吃飯了嗎脑蠕?' % (name)
print(message)

message = '%s,今年%d歲购撼,體重:%.2fkg 血型是:%c' % (name, 18+2, 65, 97)
print(message)

message = name + ',今年'+ str(18+2)+'歲跪削,體重:'+ str(65)+'kg 血型是:'+chr(97)
print(message)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市迂求,隨后出現(xiàn)的幾起案子碾盐,更是在濱河造成了極大的恐慌,老刑警劉巖揩局,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毫玖,死亡現(xiàn)場離奇詭異,居然都是意外死亡凌盯,警方通過查閱死者的電腦和手機(jī)付枫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驰怎,“玉大人阐滩,你說我怎么就攤上這事∠丶桑” “怎么了掂榔?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長症杏。 經(jīng)常有香客問我装获,道長,這世上最難降的妖魔是什么厉颤? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任穴豫,我火速辦了婚禮,結(jié)果婚禮上逼友,老公的妹妹穿的比我還像新娘绩郎。我一直安慰自己,他們只是感情好翁逞,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布肋杖。 她就那樣靜靜地躺著,像睡著了一般挖函。 火紅的嫁衣襯著肌膚如雪状植。 梳的紋絲不亂的頭發(fā)上浊竟,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機(jī)與錄音津畸,去河邊找鬼振定。 笑死,一個胖子當(dāng)著我的面吹牛肉拓,可吹牛的內(nèi)容都是我干的后频。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼暖途,長吁一口氣:“原來是場噩夢啊……” “哼卑惜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驻售,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤露久,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后欺栗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毫痕,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年迟几,在試婚紗的時候發(fā)現(xiàn)自己被綠了消请。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡类腮,死狀恐怖臊泰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情存哲,我是刑警寧澤因宇,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站祟偷,受9級特大地震影響察滑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜修肠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一贺辰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嵌施,春花似錦饲化、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至足淆,卻和暖如春巢块,著一層夾襖步出監(jiān)牢的瞬間礁阁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工族奢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留姥闭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓越走,卻偏偏與公主長得像棚品,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子廊敌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一铜跑、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,826評論 2 16
  • 一 字符編碼 1.什么是字符串 特點(diǎn):序列,有序庭敦,不可變的疼进。形式:用單引號或者雙引號括起來的任意字符集薪缆。...
    Fly_withbird閱讀 419評論 0 0
  • 01-recode 1.字符串(str) 'hello''駱昊''吃飯了嗎''100''&%'通過雙引號或者單引號...
    佐手牽鼬手_89a9閱讀 174評論 0 0
  • 一.字符中的元素 1.阻止轉(zhuǎn)義 在字符串的最前面可以添加r/R來阻止字符串中的轉(zhuǎn)義字符轉(zhuǎn)義str1 = r'how...
    大漠判官1閱讀 254評論 0 0
  • 與你分別的時刻 天與地之間經(jīng)歷一場桃花雨 你閃躲的眼神像我 你搖曳的姿態(tài)像風(fēng) 風(fēng)吹我慌張 你搖頭嘆息 不管前程如何...
    胡寫寫閱讀 2,321評論 53 94