欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python之Character string(實例講解)

 更新時間:2017年09月25日 08:45:46   作者:Py.qi  
下面小編就為大家?guī)硪黄猵ython之Character string(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、python字符串

字符串是 Python 中最常用的數(shù)據(jù)類型。我們可以使用引號('或")來創(chuàng)建字符串,l

Python不支持單字符類型,單字符也在Python也是作為一個字符串使用。

>>> var1 = 'hello python' #定義字符串
>>> print(var1[0]) #切片截取,從0開始,不包括截取尾數(shù)
h
>>> print(var1[0:5])
hello
>>> print(var1[-6:])
python
>>> var2 = var1[0:6]+'world' #截取字符并拼接賦值給新變量
>>> print(var2)
hello world

2、python轉(zhuǎn)義字符

\  :在行尾時,為續(xù)行符

\\  :反斜杠轉(zhuǎn)義,輸出'\'

\'  :單引號轉(zhuǎn)義

\"  :雙引號轉(zhuǎn)義

\b  :退格(backspace)

\n  :換行

\v  :縱向制表符

\t  :橫向制表符

\r  :回車

\f  :換頁

3、python字符串運算符

(+)拼接,(*)重復(fù),([])索引,([:])切片,(in)成員判斷,(not in)非成員判斷,(r/R)元素輸出字符串

>>> var1 = 'hello'
>>> var2 = 'python'
>>> print(var1+var2) #拼接字符串
hellopython
>>> print(var1*3) #重復(fù)輸出字符串
hellohellohello
>>> print(var1[0]) #索引字符串
h
>>> print(var1[3:]) #索引切片
lo
>>> 'e' in var1 #判斷字符串是否在變量中
True
>>> 'p' not in var1 #判斷字符串是否不在變量中
True
>>> print("he\tllo \n") 
he llo 
>>> print(r"he\tllo \n") #原始輸出字符串,也就是原始輸出轉(zhuǎn)義字符
he\tllo \n

4、格式化字符串

Python 支持格式化字符串的輸出 。盡管這樣可能會用到非常復(fù)雜的表達(dá)式,但最基本的用法是將一個值插入到一個有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用與 C 中 sprintf 函數(shù)一樣的語法。

python字符串格式化符號:

%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數(shù)
%u 格式化無符號整型
%o 格式化無符號八進(jìn)制數(shù)
%x 格式化無符號十六進(jìn)制數(shù)
%X 格式化無符號十六進(jìn)制數(shù)(大寫)
%f 格式化浮點數(shù)字,可指定小數(shù)點后的精度
%e 用科學(xué)計數(shù)法格式化浮點數(shù)
%E 作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)
%g %f和%e的簡寫
%G %f 和 %E 的簡寫
%p 用十六進(jìn)制數(shù)格式化變量的地址

格式化操作符輔助指令:

* 定義寬度或者小數(shù)點精度
- 用做左對齊
+ 在正數(shù)前面顯示加號( + )
<sp> 在正數(shù)前面顯示空格
# 在八進(jìn)制數(shù)前面顯示零('0'),在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')
0 顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格
% '%%'輸出一個單一的'%'
(var) 映射變量(字典參數(shù))
m.n. m 是顯示的最小總寬度,n 是小數(shù)點后的位數(shù)(如果可用的話)

>>> print("ascii:%c"%'s') #格式化輸出字符
ascii:s
>>> print("ascii:%c"%'1') #格式化輸出數(shù)字
ascii:1
>>> print("str:%s"%'character string') #格式化字符串
str:character string
>>> print("str:%d"%888) #格式化整數(shù)
str:888
>>> print("str:%f"%888) #格式浮點數(shù)
str:888.000000
>>> print("str:%e"%888) #格式化科學(xué)計數(shù)浮點數(shù)
str:8.880000e+02
>>> print("str:%E"%888) #同上
str:8.880000E+02
>>> print("str:%G"%888) #%f和%E的簡寫
str:888

>>> print("str:%20f"%888.089) #定義20寬度輸出
str:  888.089000
>>> print("str:%-20f"%888.089) #用左對齊
str:888.089000  
>>> print("str:%+20f"%888.089) #在正數(shù)前顯示加號
str:  +888.089000
>>> print("str:%+-20f"%888.089) #左對齊顯示加號
str:+888.089000  
>>> print("str:%020f"%888.089) #以0填充默認(rèn)的空格
str:0000000000888.089000
>>> print("str:%%%20f"%888.089) #在數(shù)字前輸入%號
str:%  888.089000
>>> print("str:%%%-20f"%888.089) #左對齊輸出%號
str:%888.089000  
>>> print("str:%20.3f"%888.089) #顯示最小總寬度20,小數(shù)點后位數(shù)為3位
str:  888.089

自python2.6開始,增加格式化字符串函數(shù)str.format():

用法:它通過{}和:來代替%

位置參數(shù)不受順序約束,且可以為{}空,只要format里有相對應(yīng)的參數(shù)值即可,如參數(shù)值不夠就會報錯,參數(shù)索引從0開,傳入位置參數(shù)列表可用*列表

In [27]: '{}+{}={}'.format(1,2,3) #格式化按順序應(yīng)用參數(shù)值
Out[27]: '1+2=3'
In [28]: '{2}-{1}={0}'.format(1,2,3) #指定順序應(yīng)用參數(shù)值
Out[28]: '3-2=1'
In [29]: '{0}+{0}={1}'.format(2,3) #指定參數(shù)可以重復(fù)使用
Out[29]: '2+2=3'
In [30]: '{}+{}={}'.format(2,3) #如不指定順序,format參數(shù)不夠就會報錯
---------------------------------------------------------------------------
IndexError    Traceback (most recent call last)
<ipython-input-30-29f40e412920> in <module>()
----> 1 '{}+{}={}'.format(2,3)
IndexError: tuple index out of range

In [31]: l1 = [2,4,8] 
In [32]: '{}*{}={}'.format(*l1) #使用列表引用參數(shù)值
Out[32]: '2*4=8'

In [33]: dct = {'name':'python','age':20} #定義字典
In [35]: 'welcom to {name},age is {age}'.format(name='qi',age=28) #變量引用
Out[35]: 'welcom to qi,age is 28'

In [36]: 'welcom to {name},age is {age}'.format(**dct) #使用**引用字典參數(shù)必須填寫key值
Out[36]: 'welcom to python,age is 20'

填充與格式化:
In [53]: "{0: >20}".format("string") #從0位開始已空格填充20寬度左對齊
Out[53]: '  string'

In [54]: "{0:&>20}".format("string")
Out[54]: '&&&&&&&&&&&&&&string'

In [55]: "{0:#>20}".format("string") #使用#號會有個小bug
 ....: 
Out[55]: '##############string'

In [60]: '{0:+<20}'.format("string") #向右對齊填充+
Out[60]: 'string++++++++++++++'

In [61]: '{0:+^20}'.format("string") #劇中對齊填充+
Out[61]: '+++++++string+++++++'

精度與進(jìn)制:
>>> '{0:.3f}'.format(10/3) #小數(shù)位進(jìn)度格式化
'3.333'
>>> '{0:b}'.format(8) #格式化二進(jìn)制
'1000'
>>> '{0:o}'.format(9) #格式化八進(jìn)制
'11'
>>> '{0:x}'.format(26) #格式化十六進(jìn)制
'1a'
>>> '{0:,}'.format(123456789) #千分位格式化
'123,456,789'

使用索引:
>>> l2 = ['AA',{'bb':'cc'},('d','e')] #列表索引引用
>>> 'outing:{0[0]}'.format(l2) 
'outing:AA'
>>> 'outing:{0[0]},{0[1]}'.format(l2) #將列表當(dāng)成一個元素,在其中索引值
"outing:AA,{'bb': 'cc'}"

5、python的字符串方法

>>> s = 'i mi to' #將字符串的第一個字符改為大寫
>>> s.capitalize()
'I mi to'

>>> s = 'I MI TO' #將字符串所有字符改為小寫
>>> s.casefold()
'i mi to'

>>> s.center(15) #將字符串劇中,并用空格將字符串填充長度,如指定長度小于實際長度則沒有效果
' I MI TO '

>>> s = 'abcabcabcabc' #返回sub在字符串里出現(xiàn)的次數(shù),start,end為可選參數(shù),決定范圍
>>> s.count('a',0,12)
4
>>> s.encode(encoding='utf-8',errors='strict') #以encoding指定的編碼格式對字符串進(jìn)行編碼
b'abcabcabcabc'
>>> s.endswith('abc',1,12) #檢查字符串是否以sub結(jié)尾,是返回True,否返回False,start,end為可選參數(shù),決定范圍
True

>>> s = 'a\tb\tc'
>>> s.expandtabs(4) #把字符串的tab字符(\t)轉(zhuǎn)化為空格,如不指定tabsize,默認(rèn)為8個空格
'a b c'

>>> s.find('b') #檢測字符串是否在字符串中,如在則返回索引,否則返回-1,可指定起始值。
2

>>> s='hello python'
>>> s.index('hello') # 類似find(),不同在于如果sub不在字符串中,返回異常
0 

>>> s.isalnum() #有空格返回false
False
>>> s='hellopython'
>>> s.isalnum() #如果字符串至少有一個字符,并且所有字符都是字母或數(shù)字則返回True,否則False
True
>>> s.isalpha() #如果字符串至少有一個字符,并且所有字符都是字母則返回True,否則False
True

>>> s = '123'
>>> s.isdigit() #如果字符串只包含數(shù)字則返回True,否則返回False
True

>>> s = '123'
>>> s.isdecimal() #如果字符串只包含十進(jìn)制數(shù)字則返回True,否則返回False
True
>>> s= 'ox123'
>>> s.isdecimal()
False
>>> s = '0.33'
>>> s.isdecimal()
False

>>> s = 'abc'
>>> s.islower() #如果字符中至少包含一個能區(qū)分大小寫的字符,并且這些字符都是小寫則返回True,否則返回Flase
True
>>> s = 'Abc'
>>> s.islower()
False

>>> s = 'ABC'
>>> s.isupper() #果字符中至少包含一個能區(qū)分大小寫的字符,并且這些字符都是大寫則返回True,否則返回Flase
True
>>> s = 'ABc'
>>> s.isupper()
False
>>> 

>>> s = '123'
>>> s.isnumeric() #如果字符串只包含數(shù)字字符,則返回True,否則返回False
True
>>> s = '123a'
>>> s.isnumeric()
False

>>> 'def'.isidentifier() #判斷字符串是否包含該語言的保留字
True

>>> 'aaa'.isprintable() #判斷是否可以打印
True

>>> ''.isspace()
False
>>> ' '.isspace() #判斷字符串中至少有一個字符且所有都是空格,否則返回false
True
>>> ' a'.isspace()
False

>>> 'Abc'.istitle() #判斷是否是標(biāo)題 格式,可以理解為首字母大寫。
True
>>> 'aBC'.istitle()
False

>>> s = '123'
>>> '_'.join(s) #返回一個用指定字符串分隔的字,或者是將指定字符加入到另一個字符中。
'1_2_3'
>>> s.join('abc')
'a123b123c'

>>> s = 'ABC'
>>> s.lower() #返回的是指定字符串的拷貝,并轉(zhuǎn)化成小寫
'abc'

>>> s.ljust(10,'+') #可以指定寬度,以及填充字符串,返回的是按寬度,填充字符串格式化后的左對齊的字符串。
'ABC+++++++'

>>> 'aaabccc'.partition('b') #在字符串中查找指定的字符,如找到則返回字符前部分,字符本身和后部分,如沒找到則返回字符串和兩個空字符串。
('aaa', 'b', 'ccc')
>>> 'aaabccc'.partition('e')
('aaabccc', '', '')

>>> 'aaabccc'.rpartition('b') #與partition一樣,但是是從右邊開始
('aaa', 'b', 'ccc')
>>> 'aaabccc'.rpartition('c')
('aaabcc', 'c', '')


>>> 'aaaaabbcc'.replace('a','A') #用指定字符串替換指定字符串,如果不指定替換次數(shù),則替換所有
'AAAAAbbcc'
>>> 'aaaaabbcc'.replace('a','A',2)
'AAaaabbcc'

>>> 'aabbcc'.rfind('a') #返回指定子串的最高索引,如果沒找到則返回-1,可以指定要開始替換的起始,結(jié)束位置。
1
>>> 'aabbcc'.rfind('e')
-1
>>> 'aabbcc'.rindex('a') #與上面的rfind一樣,只是如果沒找到不是返回-1,而是觸發(fā)錯誤
1
>>> 'aabbcc'.rindex('e')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: substring not found

>>> 'aa'.rjust(10,'+') #與ljust()相對應(yīng),右對齊
'++++++++aa'
>>> 'aa'.ljust(10,'+')
'aa++++++++'

>>> 'aabccbddbee'.split('b') ##按指定字符串對目標(biāo)字符串進(jìn)行切割,可以指定切割次數(shù)
['aa', 'cc', 'dd', 'ee']
>>> 'aabccbddbee'.split('b',2)
['aa', 'cc', 'ddbee']

>>> 'aabccbddbee'.rsplit('b',2) #與split作用相同,但是從右側(cè)開始
['aabcc', 'dd', 'ee']

>>> ' aabb '.strip() #移除字符串兩側(cè)的指定字符串,默認(rèn)移除空格,需要注意的是可以指定多個字符
'aabb'
>>> ' aabb'.strip('b')
' aa'
>>> ' aabb'.strip('ab')
' '
>>> 'beaacebb'.rstrip('eb') #與strip一樣,從右側(cè)刪除指定字符,可以為多個
'beaac'

>>> 'aa\nbb\ncc\ndd'.splitlines() #按換行符切割顯示,如沒指定keepends=True則將換行符移除。
['aa', 'bb', 'cc', 'dd']
>>> 'aa\nbb\ncc\ndd'.splitlines(keepends=True)
['aa\n', 'bb\n', 'cc\n', 'dd']

>>> 'aabbc'.startswith('a') #判斷字符串是否以某個字符開頭,可以是多字符
True
>>> 'aabbc'.startswith('b')
False
>>> 'aabbc'.startswith('aab')
True

>>> 'aaBBcc'.swapcase() #轉(zhuǎn)換大小寫
'AAbbCC'

>>> 'wend is ok'.title() #標(biāo)題格式,首字母大寫,其它字符小寫
'Wend Is Ok'

>>> 'wend is ok'.upper() #將字符全部轉(zhuǎn)換成大寫
'WEND IS OK'

>>> 'wend is ok'.zfill(20) #這里的z指zero,用0將字符填充到指定長度
'0000000000wend is ok'

以上這篇python之Character string(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python設(shè)置表格邊框的具體方法

    python設(shè)置表格邊框的具體方法

    在本篇文章里小編給大家整理的是關(guān)于python設(shè)置表格邊框的具體方法及相關(guān)代碼,需要的朋友們可以學(xué)習(xí)參考下。
    2020-07-07
  • linux系統(tǒng)下pip升級報錯的解決方法

    linux系統(tǒng)下pip升級報錯的解決方法

    這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下pip升級報錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Django單元測試工具test client使用詳解

    Django單元測試工具test client使用詳解

    這篇文章主要介紹了Django單元測試工具test client使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 圖文詳解WinPE下安裝Python

    圖文詳解WinPE下安裝Python

    這篇文章主要以圖文結(jié)合的方式詳細(xì)介紹了WinPE下安裝Python的具體實現(xiàn)步驟,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • python中的字典操作及字典函數(shù)

    python中的字典操作及字典函數(shù)

    本篇文章給大家介紹了python中的字典,包括字典的操作,字典函數(shù)實現(xiàn)代碼,需要的朋友參考下吧
    2018-01-01
  • python如何提取英語pdf內(nèi)容并翻譯

    python如何提取英語pdf內(nèi)容并翻譯

    這篇文章主要為大家詳細(xì)介紹了python如何提取英語pdf內(nèi)容并翻譯,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python查詢IP地址歸屬完整代碼

    Python查詢IP地址歸屬完整代碼

    這篇文章主要介紹了Python查詢IP地址歸屬完整代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 深入解析Python中的線程同步方法

    深入解析Python中的線程同步方法

    Python盡管可以創(chuàng)建多條線程,但是由于GIL的存在,Python的多條線程并不能同時運行,因而線程間的同步便顯得更為重要,這里我們就來深入解析Python中的線程同步方法,需要的朋友可以參考下
    2016-06-06
  • 一文帶你深入理解python中pytest-repeat插件的工作原理

    一文帶你深入理解python中pytest-repeat插件的工作原理

    這篇文章主要和大家一起深入探討到底pytest_repeat插件的具體功能是如何實現(xiàn)的呢,相信具體了解了該插件,其他三方插件也可以很快了解它內(nèi)部運行機制,所以本文詳細(xì)講解了python pytest-repeat插件的工作原理,需要的朋友可以參考下
    2023-09-09
  • 從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實例(二)

    從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實例(二)

    這篇文章主要介紹了python數(shù)據(jù)處理編程實例,需要的朋友可以參考下
    2014-05-05

最新評論