day4-字符串

02-字符編碼

"""

1.什么是字符串

序列房交,有序,不可變的
用單引號或者雙引號括起來的任意字符集

2.字符

a.普通字符:‘23’酷窥,‘dsff','字典'
b.轉義字符:\n,\t,',",\
阻止轉義:r
"""

3.字符編碼

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

a.什么是編碼
就是數(shù)字和字符的對應關系,其中字符對應的數(shù)字就是字符的編碼

b.編碼方式
ASCII碼表:針對數(shù)字字符伴网、字母字符、英文中常用的符號進行編碼
采用一個字節(jié)對字符編碼(128個字符)
Unicode碼:Unicode碼包含了ASCII碼妆棒,同時對所有語言對應符號進行編碼
采用兩個字節(jié)進行編碼,能編碼65536個字符
中文:4E00-9FA5

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

d.可以將字符編碼放到字符串中便是一個字符:\u + 四位編碼
"""

print(chr(0xd400))
print(ord('余'))
# d.可以將字符編碼放到字符串中便是一個字符:\u + 四位編碼
print('hsh\ue12dnf')

"""

03-獲取字符串中的字符

一旦一個字符串確定糕珊,那么每個字符位置確定,而且每個字符對應一個下標澜公,
用來表示其位置和順序

1.下標(索引)

每個字符都有一個下標喇肋,代表其位置
下標范圍:0~ 字符串長度減一,0代表第一個字符
-1 ~ -字符串長度蝶防, -1代表最后一個字符的位置
"""

'abc' # a:0/-3   b:1/-2
'abc\n23'   # 1:4/-3

"""

2.獲取單個字符

語法:字符串[下標] - 獲取字符串中间学,指定下標對應指定字符
說明:字符串 - 可以是字符串常量印荔,也可以是變量
下標 - 字符下標详羡,不可越界
"""

str1 = 'hello python'
print(str1[6],str1[-6],str1[-2])
# print(str1[13]) IndexError: string index out of range

"""

3.獲取部分字符

語法:字符串【開始下標:結束下標:步長】
說明:字符串 - 可以是字符串常量,也可以是變量
開始下標水泉、結束下標 - 下標值
步長 - 整數(shù)
功能:
從開始下標開始獲取到結束下標前為止主到,每次下標值增加步長的值

注意;
當步長是正數(shù),從前往后取登钥,開始下標在前面
當步長是負數(shù)牧牢,從后往前取看锉,開始下標在后面

結束下標對應的值取不到
"""

str1 = '1234567890'
print(str1[0:6:2]) #135
print(str1[-1:6:-1]) #098

"""
方法2:字符串【開始下標:結束下標】 相當于步長為1

"""

str1 = 'asj34nc'
print(str1[-1:3]) #'' -空串
print(str1[3:-1])#34n

"""
獲取部分字符塔鳍,省略下標
開始下標和結束下標都可以省略
a.開始下標省略
步長正數(shù)轮纫,從開頭往后獲取
步長負數(shù),從結尾往前獲取
"""

str1 = 'asj34nc'
print(str1[:3:1])
print(str1[:3:-1])

"""
b.結束下標省略
步長正數(shù)掌唾,從開始下標獲取到結束
步長負數(shù),從開始下標向前獲取到開頭
"""

print(str1[4:])  #4nc
print(str1[::-1]) #字符串倒敘

"""

04-字符串相關運算

1.+

字符串1 + 字符數(shù)2 將兩個字符串拼接在一起產生一個新的字符串

1注意:加號兩邊都必須是字符串
"""

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

"""

2.*

字符串 * n(正整數(shù)):字符串的內容重復n次凭语,產生一個新的字符串

"""

str1 = 'sdg'
print(str1*3) #sdgsdgsdg

"""

3.比較運算符:>,<,==,!=,>=,<=

字符串1 == 字符串2

"""
print('abc' == 'abc')
"""
a.>,<,>=,<=
兩個字符串比較大小撩扒,從第一位開始搓谆,找到一對不同的字符,比較大小

"""
print('abc' == 'ad')
"""
char = input('請輸入一個字符:')
print('是否是字母:','a'<=char<='z' or 'A'<=char<='Z')
print('是否中文:',0x4e00 <= ord(char) <=0x9fa5)
"""
"""

4.in 和 not in

字符串1 in 字符串2: 判斷1是否在2中挽拔,結果是布爾值
字符串1 not in 字符串2: 判斷1是否不在2中螃诅,結果是布爾值
"""

print('abc' in 'abc33jf')

"""

5.len

len(字符串) - 獲取字符串中字符個數(shù)
"""

print(len('dsdsewe3r4')) #10

"""

6.str

str(數(shù)據):將數(shù)據轉字符串

其他數(shù)據轉字符串:
所有數(shù)據類型都可以轉字符串状囱。直接最外面加引號

系統(tǒng)數(shù)據類型名不能用來給變量命名

"""

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

"""
b.字符串轉其他類型
轉整數(shù): int(純整數(shù)字符串)
轉浮點型:float(純數(shù)字字符串)
轉布爾:bool(字符串) 只有空串才是False
"""

print(int('-123'))
print(float('234'))
print(bool(''))

05-格式字符串

"""

1.格式字符串

指的是字符串中通過占位符來表示字符串中變化部分倘是,然后通過其他值
給占位符賦值
語法:
含有格式占位符的字符串 % (占位符的值)

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

2.常見占位符

%d - 整數(shù)
%s _ 字符串
%f - 小數(shù)
%c - 字符
"""

name = input('請輸入姓名:')
message = '%s今年%d歲叨粘,體重:%.1fkg' % (name,15,65)
print(message)

06-字符串常用方法

"""
1.字符串.capitalize() - 字符串首字母轉大寫
"""

str1 = 'hello'
new_str = str1.capitalize()
print(new_str)

"""
2.字符串對齊
字符串.center(width,fillchar) - 居中
字符串.ljust(width,fillchar) - 左對齊
字符串.rjust(width,fillchar) - 右對齊
長度 填充字符
"""

import random
num = random.randint(0,20)
print(num)
str1=str(num).rjust(3,'0')
str2='python1808'
new_str=str2+str1
print(new_str)

"""
3,join(sep)
字符串1.join(字符串2)
2中出入1
"""

str1='**'
str2='abc'
print(str1.join(str2)) #a**b**c

"""
4.count(str) - 返回str在string中的次數(shù)
"""

str1 = 'abdahdaeia'
print(str1.count('a')) #4

"""
5.expandtabs(tabsize=8) - 把tab轉為空格
"""
"""
6.find(str,beg,end)-檢測str是否包含在指定范圍beg和end之間
并返回第一個字符下標值

  1. rfind()--和find相同升敲,從右向左找
    """
print(str1.find('ah',2,8))

"""
8.index(str,beg,end)-和find相同轰传,不在指定范圍報錯

  1. rindex()-和index相同,從右向左找
    """
print(str1.index('ah',2,8))

"""
10.isalnum()-字符串中所有字符都為字母或數(shù)字則返回True
否則返回False
"""

str1='fiue3抓84rnv'
print(str1.isalnum())

"""
11.isalpha()-所有字符都是字母則返回True
否則返回False
"""

str1='fiue384rAnv'
print(str1.isalpha()) #false

"""
12.isdigit()-只包含數(shù)字則返回True
否則返回False

  1. isnumeric() 只包含數(shù)字則返回True
    否則返回False ,可以中文數(shù)字
    """
print(str1.isdigit()) #False
print(str1.isnumeric())

"""
14.islower()-字符串包含字母且都是小寫則返回True
否則返回False
"""

str1 = 'sue364vvuh'
print(str1.islower())

"""
15.isupper()-字符串包含字母且都是大寫則返回True
否則返回False
"""

str1 = 'SCSUE34784CH'
print(str1.isupper())

"""
16.isspace()-只包含空白....
"""

"""
17.istitle()-是標題化則返回True港庄,否則返回False
18.title()-標題化
"""

str1 = 'Hello World'
print(str1.istitle())
str2 = 'asnw dwnw'
print(str2.title())#Asnw Dwnw

"""
19.len()-返回字符串長度
"""

str1 = 'sdnjeee'
print(len(str1))

"""
20.lower()-大寫轉小寫
21.upper()-小寫轉大寫
"""

str1 = 'DWENmidje'
print(str1.lower())#dwenmidje
print(str1.upper())#DWENMIDJE

"""
22.lstrip()-去掉左邊空格或指定字符
23.rstrip()-末尾
24.strip()-前后
"""

str1 = '  ddjwui3  '
str2 = 'eejici'
print(str2.lstrip('e'))
print(str1.strip())

"""
25.split(str='',num=|num=)-以指定字符分割字符串鹏氧,返回列表
26.splitlines([true/false])-按行分隔佩谣,true保留換行符
"""

str1 = 'ci cedn ewjuwn e'
print(str1.split())#['ci', 'cedn', 'ewjuwn', 'e']
str2 = '''diecidi
3dusefi
'''
print(str2.splitlines(True))#['diecidi\n', '3dusefi\n']

"""
27.startswith(str,beg,end)-檢查指定范圍是否以指定字符開頭
28.endswith(str,beg,end)- ...結尾
"""

str1 = 'aseyobjadd'
print(str1.startswith('e',2,5))
print(str1.endswith('d',4,9))

"""
29.swapcase()-大寫轉小寫,小寫轉大寫
"""

str1 = 'sdcdeiIWDCoco'
print(str1.swapcase())#SDCDEIiwdcOCO

"""
30.translate(table,deletechaes='')根據 str 給出的表(包含 256 個字符)轉換 string 的字符,
要過濾掉的字符放到 deletechars 參數(shù)中
"""

#from fnmatch import translate
#print(translate('d'))

"""
31.zfill(width)-返回指定長度字符串笨篷,右對齊瓣履,前面填充0
"""

str1 = 'sxhwu'
print(str1.zfill(8))#000sxhwu

"""
32.isdecimal()-檢查字符串是否只包含十進制字符练俐,
如果是返回 true,否則返回 false
"""
print('cwdn7373'.isdecimal())
33.translate(old,new,str)
建設一個映射表燕锥,將表中對應字符映射到字符串中替換對應字符悯蝉,str表示需要刪除的字符表

str1 = 'dheu36hf74b'
trantab = str.maketrans('abcdef','123456','yux')
print(str1.translate(trantab))  #4h536h6742
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市暇榴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婆硬,老刑警劉巖奸例,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谐区,居然都是意外死亡逻卖,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門虚茶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仇参,“玉大人,你說我怎么就攤上這事诈乒。” “怎么了喂饥?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵员帮,是天一觀的道長导饲。 經常有香客問我,道長渣锦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任型檀,我火速辦了婚禮听盖,結果婚禮上裂七,老公的妹妹穿的比我還像新娘月幌。我一直安慰自己,他們只是感情好捉兴,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布录语。 她就那樣靜靜地躺著,像睡著了一般虽缕。 火紅的嫁衣襯著肌膚如雪蒲稳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天剩胁,我揣著相機與錄音祥国,去河邊找鬼。 笑死舌稀,一個胖子當著我的面吹牛,可吹牛的內容都是我干的觉至。 我是一名探鬼主播睡腿,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了何恶?” 一聲冷哼從身側響起嚼黔,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤惜辑,失蹤者是張志新(化名)和其女友劉穎疫赎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抵卫,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡胎撇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年晚树,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爵憎。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡宝鼓,死狀恐怖,靈堂內的尸體忽然破棺而出席函,到底是詐尸還是另有隱情,我是刑警寧澤正蛙,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布营曼,位于F島的核電站,受9級特大地震影響蒂阱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜鳄厌,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一妈踊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歪泳,春花似錦、人聲如沸呐伞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鞍历。三九已至,卻和暖如春惧蛹,著一層夾襖步出監(jiān)牢的瞬間刑枝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工靠娱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掠兄,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓迅诬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親侈贷。 傳聞我的和親對象是個殘疾皇子等脂,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容

  • 一.認識字符串 什么是字符串(str)字符串是python中一種常用的有序但是不可變的容器類的數(shù)據類型上遥,可以同時存...
    2ez4ddf閱讀 470評論 0 0
  • 一.字符中的元素 1.阻止轉義 在字符串的最前面可以添加r/R來阻止字符串中的轉義字符轉義str1 = r'how...
    大漠判官1閱讀 246評論 0 0
  • 一粉楚、字符串中的元素 1.阻止轉義 在字符串的最前面可以添加r/R來阻止字符串中的轉義字符轉義 2.python中可...
    芽菜包66閱讀 377評論 0 0
  • 1.什么是字符串序列 有序 不可變。用單引號或雙引號括起來的任意字符集抑党。2.字符串中的字符a.普通字符: ‘23’...
    2333_11f6閱讀 356評論 0 0
  • 目標撵摆!希望女兒在2018-7-31錢能流利的說出3-5個字或者一句短語 我的咖啡冥想是 1今天不是很忙,上午收拾屋...
    乙易通閱讀 132評論 0 0