<h3>1.編碼</h3>
1. 機(jī)器看懂 str
2. 人看懂 unicode
3. decode 解碼
4. encode 編碼
5. 在python2中有兩種內(nèi)置的類型的字符串,一種是保存字節(jié)的str字符串氏淑,一種是保存unicode字符的unicode字符串贰拿。
6. Python中默認(rèn)的編碼格式是 ASCII 格式已脓,在沒修改編碼格式時無法正確打印漢字同木,所以在讀取中文時會報錯皱坛。
7. 解決方法:在文件開頭加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了肢簿。
<h3>2.字符串類型 </h3>
<h4>2.1字符串的創(chuàng)建:</h4>
- 成對出現(xiàn) 單引號‘’ 雙引號“” 三引號 ''' '''(多行可用三引號)
- 字符串是不可變的
<h4>2.2字符串取值报慕、切片:</h4>
str ="hello python"
- 反向索引 -1 最后一個值 str[11] ==str[-1]
- 包前不包后 從0開始數(shù)
a. [:] 全部字符
b. [:3] 前面到2
c. [2:] 2到最后
d. [1:5:2] [開始:結(jié)束:隔多少取值] [start,end,step] - 由于python字符串是不可改變的深浮,所以不可能為字符串里的單個字符賦值或者切片
<h4>2.3 字符串運算:</h4>
- len(str) 字符串的長度
- * 重復(fù) a*2 aa
-
in not in 返回 True False
10.png
11.png
<h4>2.4 部分字符串操作方法<一>:</h4>
- str.count('l') 計出現(xiàn)的次數(shù)
- str.startswith('n') 是否以什么結(jié)尾
- str.endswith(h'') 是否以什么開始
- str.find('k') 從左到右第一次出現(xiàn)的位置 如果不在返回 -1
- str.rfind('l') 從右到左第一次出現(xiàn)的位置 如果不在返回 -1
- str.index('h') 返回字符串中出現(xiàn)x的最左端的索引值,如果不存則拋出ValueError異常
- str.rindex('o') 和index()類似眠冈,但是從右往左搜素
返回的是索引值
0 1 2 3
h e l l
<h4>2.5 部分字符串操作方法<二>:</h4>
- str.isalpha() 是否全是字母 返回bool類型
- str.isdigit() 是否全是數(shù)字
- str.islower() 是否全是小寫
- str.isupper() 是否全是大寫
int() str() 類型可以互相轉(zhuǎn)換
<h4>2.6 部分字符串操作方法<三>:</h4>
字符串是不可變對象略号,需要重新賦值的話需要加賦值語句 a=a.upper()
- str.lower() 將字符串轉(zhuǎn)為小寫
- str.upper() 將字符串轉(zhuǎn)為大寫
- s.title() 每個首字母大寫
- a.capitalize() 字符串第一個字母大寫
- s.replace(old,new,個數(shù)) 可以多換多 字符串替換 a.replace('l','x',1) 只替換一個
- s.split() 返回一系列用空格分割的字符串列表
- s.split(a,b) a,b為可選參數(shù),a是將要分割的字符串,b是說明最多要分割幾個
<pre>
a.capitalize()
'Hello python'
a.title()
'Hello Python'
</pre>
<h3>3.字符串拼接</h3>
<pre>
a='hello'
b='python'
c='!'
d=' '
</pre>
<h5>3.1 + 用加號 a+b+c</h5>
<h5>3.2 %s 格式化字符串 將%s 當(dāng)成占位符</h5>
'%s %s %s' %(a,b,c) (注:s前面可以加對象名玄柠,后面以字典的方式填入)
<pre>
'my name is %s' % 'shuang'
'my name is shuang'
'%s %s %s' %(a,b,c)
'hello python !'
</pre>
字典的話:
<pre>
'%(x)s %(y)s %(z)s' %({'x':a,'y':b,'z':c})
'hello python !'
</pre>
<h5>3.3 .join() 突梦,注意括號里是要連接的可以是列表,元組</h5>
'' .join([a,b,c]) (注:''里面是鏈接后面各個字符串的字符)
<pre>
''.join([a,b,c])
'hellopython!'
' '.join([a,b,c])
'hello python !'
</pre>
<h5>3.4 .format()</h5>
'{}{}{}'.format(a,b,c) (注:{}里面可以填入與后面相對應(yīng)的符號)
<pre>
'{}{}{}'.format(a,b,c)
'hellopython!'
'{} {} {}'.format(a,b,c)
'hello python !'
'{} {} {}'.format(a,c,b)
:</h4>
字符串是不可變對象羽利,需要重新賦值的話需要加賦值語句 a=a.upper()
1. str.lower() 將字符串轉(zhuǎn)為小寫
2. str.upper() 將字符串轉(zhuǎn)為大寫
3. s.title() 每個首字母大寫
4. a.capitalize() 字符串第一個字母大寫
5. s.replace(old,new,個數(shù)) 可以多換多 字符串替換 a.replace('l','x',1) 只替換一個
6. s.split() 返回一系列用空格分割的字符串列表
7. s.split(a,b) a,b為可選參數(shù)宫患,a是將要分割的字符串,b是說明最多要分割幾個
<pre>
>>> a.capitalize()
'Hello python'
>>> a.title()
'Hello Python'
</pre>
14.png
<h3>3.字符串拼接</h3>
<pre>
>>> a='hello'
>>> b='python'
>>> c='!'
>>> d=' '
</pre>
<h5>3.1 + 用加號 a+b+c</h5>
<h5>3.2 %s 格式化字符串 將%s 當(dāng)成占位符</h5>
'%s %s %s' %(a,b,c) (注:s前面可以加對象名这弧,后面以字典的方式填入)
<pre>
>>> 'my name is %s' % 'shuang'
'my name is shuang'
>>> '%s %s %s' %(a,b,c)
'hello python !'
</pre>
字典的話:
<pre>
>>> '%(x)s %(y)s %(z)s' %({'x':a,'y':b,'z':c})
'hello python !'
</pre>
<h5>3.3 .join() 娃闲,注意括號里是要連接的可以是列表,元組</h5>
'' .join([a,b,c]) (注:''里面是鏈接后面各個字符串的字符)
<pre>
>>> ''.join([a,b,c])
'hellopython!'
>>> ' '.join([a,b,c])
'hello python !'
</pre>
<h5>3.4 .format()</h5>
'{}{}{}'.format(a,b,c) (注:{}里面可以填入與后面相對應(yīng)的符號)
<pre>
>>>'{}{}{}'.format(a,b,c)
'hellopython!'
>>> '{} {} {}'.format(a,b,c)
'hello python !'
>>> '{} {} {}'.format(a,c,b)
'hello ! python'
'{1}{2}{0}'.format(a,c,b)
'!pythonhello'
'{n1} {n2} {n3}'.format(n1=a,n3=c,n2=b)
'hello python !'
</pre>
<h3>4.字符串格式化</h3>
- %s 格式化字符串
- %c 格式化ASCII字符
- %d 格式化整數(shù)
- %f 格式化小數(shù)
- %(+/-)m.nf 格式化定點數(shù)匾浪,當(dāng)m大于格式化位數(shù)時才起作用顯示m位皇帮,n是顯示的小數(shù)的位數(shù)
(+/-)表示左右對齊方式
- %o 格式化無符號八進(jìn)制
- %x 格式化無符號十六進(jìn)制
- %e 用科學(xué)計數(shù)法格式化定點數(shù)
rod('a') 查看小寫字母a的assii碼值
<h3>5.字符串的轉(zhuǎn)義</h3>
需要使用python 中的特殊字符時需要轉(zhuǎn)義才能輸出,轉(zhuǎn)義標(biāo)識符 ' \ '
例 :a = ' I'm a student .'
第一種方法:a = ' I'm a student .'
第二種方法:a = " I'm a student ."
注:''不能放在字符的末尾
python中的字符串轉(zhuǎn)義符:
\ 轉(zhuǎn)義字符 \反斜杠 '單引號 "雙引號 \n換行 \ 續(xù)行
\a 提示音 \b退格鍵 \r 回車鍵 \t 橫向制表符 Tab鍵 \f 換頁
如果要正常的輸出特殊的轉(zhuǎn)義字符 使用 r
<pre>
print r'abc\nde'
abc\nde
</pre>