最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 專題三 字符串的基礎(chǔ)知識

 更新時間:2017年03月19日 15:36:58   作者:Eastmount  
在Python中最重要的數(shù)據(jù)類型包括字符串、列表、元組和字典等。本篇文章主要講述Python的字符串基礎(chǔ)知識。下面跟著小編一起來看下吧

在Python中最重要的數(shù)據(jù)類型包括字符串、列表、元組和字典等.該篇主要講述Python的字符串基礎(chǔ)知識.

一.字符串基礎(chǔ)

字符串指一有序的字符序列集合,用單引號、雙引號、三重(單雙均可)引號引起來.如:

s1='www.csdn.NET'   s2="

其中字符串又包括:

1.轉(zhuǎn)義字符串

像C語言中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,python也有轉(zhuǎn)義字符.如下:

  \\-反斜杠符號   \'-單引號   \"-雙引號  \ a-響鈴   \b-退格(Backspace) 

  \n-換行   \r-回車   \f-換頁   \v-縱向制表符   \t-橫向制表符   \e-轉(zhuǎn)義

  \000-空   \oyy-八進(jìn)制數(shù)yy代表的字符   \xyy-十進(jìn)制yy代表的字符

2.raw字符串

Python中原始字符串(raw strings),r關(guān)閉轉(zhuǎn)義機(jī)制.告訴Python后面是連串,"\"不當(dāng)轉(zhuǎn)義字符處理.例:

#轉(zhuǎn)義字符和raw字符 
s1="aa\nbb" 
print s1 
s2=r"aa\nbb" 
print s2 
 
#輸出 
aa 
bb 
aa\nbb 
 
#raw原始字符串處理磁盤路徑 
open(r'C:\temp\test.txt','a+') 
open('C:\\temp\\test.txt','a+') 

3.unicode字符串

告訴Python是Unicode編碼,Unicode(統(tǒng)一碼、萬國碼)是一種在計算機(jī)上使用的字符編碼.在Unicode之前用的都是ASCII碼,Unicode通過使用一個或者多個字節(jié)來表示一個字符.Python里面默認(rèn)所有字面上的字符串都用ASCII編碼,可以通過在字符串前面加一個'u'前綴的方式聲明Unicode字符串,這個'u'前綴告訴Python后面的字符串要編成Unicode字符串.例:s=u'aa\nbb'

中文處理一直很讓人頭疼,推薦:Unicode和Python的中文處理

4.格式化字符串

字符串格式化功能使用字符串格式化操作符%(百分號)實現(xiàn),在%的左側(cè)放置一個字符串(格式化字符串),而右側(cè)放置希望格式化的值,也可是元組和字典.如果需要在字符串里包括百分號,使用%%.如果右側(cè)是元組的話,則其中每一個元素都會被單獨格式化,每個值都對應(yīng)一個轉(zhuǎn)化說明符.例:

"your age %d,sex %s,record %f"%(28,"Male",78.5)

輸出:'your age 28,sex Male,record 78.500000'

它有點類似于C語言的printf("%d",x),其中百分號%相當(dāng)于C語言的逗號.其中字符串格式化轉(zhuǎn)換類型如下:

  d,i  帶符號的十進(jìn)制整數(shù)

  o   不帶符號的八進(jìn)制

  u   不帶符號的十進(jìn)制

  x   不帶符號的十六進(jìn)制(小寫)

  X   不帶符號的十六進(jìn)制(大寫)

  e,E  科學(xué)計數(shù)法表示的浮點數(shù)(小寫,大寫)

  f,F   十進(jìn)制浮點數(shù)

  c   單字符

  r    字符串(使用repr轉(zhuǎn)換的任意Python)

  s   字符串(使用str轉(zhuǎn)換的任意Python)

  g,G  指數(shù)大于4或小于精度值和e相同,否則和f相同

二.字符串操作

字符串的基礎(chǔ)操作包括分割,索引,乘法,判斷成員資格,求長度等.

1.+連接操作

如:s1='csdn' s2='Eastmount' s3=s1+s2

print s1,s2 => 輸出:csdn Eastmount
print s3 => 輸出:csdnEastmount

2.*重復(fù)操作

如:s1='abc'*5

print s1 => 輸出:abcabcabcabcabc

3.索引s[index]

Python的索引格式string_name[index],可以訪問字符串里面的字符成員.

4.切片s[i:j]

Python中切片的基本格式是s[i:j:step],其中step表示切片的方向,起點不寫從0開始,終點不寫切到最后.如:

  s='abcdefghijk'
  sub=s[3:8] 
  print sub => 輸出defgh_
      3 78 (起點是3 終點8不取)

其中當(dāng)step=-1時表示反方向切片.如:

  s='abcdefghijk'
  sub=s[-1:-4:-1]
  print sub => 輸出kji

因為最后一個"-1"表示從反方向切片,s[9]='j' s[-2]='j',正方向第一個'a'索引下標(biāo)值為0,最后一個'k'索引下標(biāo)值為-1.故'j'為-2,而sub[-1:-4:-1]表示從k(-1位置)切到h(-4位置,但不取該值).故結(jié)果為"kji".

如果想完成字符串逆序,s='www.baidu.com',則可s1=[-1::-1]即可.起點為m(-1),無終點表示切到最后.

5.字段寬度和精度

前面講述的format()函數(shù)中涉及到該知識,如'%6.2f'%12.345678 輸出"口12.35"其中6表示字段寬度,2表示精度,故補(bǔ)一個空格,同時采用四舍五入的方法結(jié)果輸出12.35.

同時,零(0)可表示數(shù)字將會用0填充,減號(-)用來實現(xiàn)左對齊數(shù)值,空白(" ")意味著正數(shù)前加上空格,在正負(fù)數(shù)對其時非常有用,加號表示不管正數(shù)還是負(fù)數(shù)都標(biāo)識出符號,對齊時也有用.例:

#字段寬度和精度 
num = 12.345678 
s1 = '%6.2f'%num 
print s1 
#補(bǔ)充0 
s2 = '%08.2f'%num 
print s2 
#減號實現(xiàn)左對齊 
s3 = '%-8.2f'%num 
print s3 
#空白 
print ('% 5d'%10) + '\n' + ('% 5d'%-10) 
#符號 
print ('%+5d'%10) + '\n' + ('%+5d'%-10) 
 
#輸出 
 12.35 
00012.35 
12.35 
 10 
 -10 
 +10 
 -10 

三.字符串方法

字符串從string模塊中"繼承"了很多方法,下面講解一些常用的方法:

find()

在一個較長的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果沒有找到則返回-1.其格式為"S.find(sub [,start [,end]]) -> int",其中該方法可接受可選的起始點和結(jié)束點參數(shù).而rfind()從右往左方向查找.

title = 'Hello Python,Great Python' 
length = len(title) 
print length 
print title.find('Python') 
print title.find('Python',10,30) 
 
#輸出: 
25 
6 
19 

join()

其格式為"S.join(iterable) -> string",含義為"Return a string which is the concatenation of the strings in the iterable. The separator between elements is S."即用來在隊列中添加元素,但隊列中元素必須是字符串.它是split方法的逆方法.

seq = ['1','2','3','4'] 
sep = '+' 
print sep.join(seq) #連接字符串列表 sep表示'+'連接 
 
dirs = '','usr','bin','env' 
print '/'.join(dirs) 
print 'C:'+'\\'.join(dirs) 
 
#輸出 
1+2+3+4 
/usr/bin/env 
C:\usr\bin\env 

split()

字符串分割函數(shù),格式為"S.split([sep [,maxsplit]]) -> list of strings",將字符串分割成序列,如果不提供分割符,程序?qū)阉锌崭褡鳛榉指舴?

#按空格拆分成4個單詞,返回list 
s = 'please use the Python!' 
li = s.split() 
print li 
print '1+2+3+4+5'.split('+') 
#輸出 
['please', 'use', 'the', 'Python!'] 
['1', '2', '3', '4', '5'] 

strip()

去掉開頭和結(jié)尾的空格鍵(兩側(cè)且不包含內(nèi)部),S.strip([chars])可以去除指定字符.而函數(shù)lstrip()去除字符串最開始的所有空格,rstrip()去除字符串最尾部的所有空格.

replace()

該方法返回某字符串的所有匹配項均被替換后得到字符串,如文字處理程序中"查找并替換"功能.

translate()

該方法和replace一樣,可以替換字符串中某部分,但與前者的區(qū)別是translate只處理單個字符,它的優(yōu)勢在于可以同時替換多個,有時候效率比replace高.

如:s='eastmount' s1=s.replace('e','E') => 替換后'Eastmount'

字符串判斷方法

  isalnum()判斷是否都是有效字符(字母+數(shù)字),如判斷密碼帳號,輸出Ture\False.

  isalpha()判斷是否是字母

  isdigit()判斷是否是數(shù)字

  islower()判斷是否全是小寫

  isupper()判斷是否全是大寫

  isspace()判斷是否是空格(' ')

lower()

該方法返回字符串的小寫字母版,在判斷用戶名不區(qū)分大小寫時使用.upper()轉(zhuǎn)換為大寫,title()函數(shù)將字符串轉(zhuǎn)換為標(biāo)題——所有單詞的首字母大寫,而其他字母小寫,但是它使用的單詞劃分方法可能會得到不自然的結(jié)果.

s = 'this is a good idea' 
s1 = s.upper() 
print s1 
s2 = s.title() 
print s2 
 
#輸出 
THIS IS A GOOD IDEA 
This Is A Good Idea 

PS:我主要是通過《Python基礎(chǔ)教程》和"51CTO學(xué)院 智普教育的python視頻"學(xué)習(xí).所以文中引用了很多視頻中的知識、書籍知識和自己的知識,感謝那些作者和老師,希望文章對大家有所幫助,才開始學(xué)習(xí)python知識,如果文章中有錯誤或不足之處,還請海涵,也希望大家提出意見與君共勉.勿噴~

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Ubuntu16.04/樹莓派Python3+opencv配置教程(分享)

    Ubuntu16.04/樹莓派Python3+opencv配置教程(分享)

    下面小編就為大家分享一篇Ubuntu16.04/樹莓派Python3+opencv配置教程。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python 捕獲代碼中所有異常的方法

    Python 捕獲代碼中所有異常的方法

    這篇文章主要介紹了Python 捕獲代碼中所有異常的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • python條件變量之生產(chǎn)者與消費者操作實例分析

    python條件變量之生產(chǎn)者與消費者操作實例分析

    這篇文章主要介紹了python條件變量之生產(chǎn)者與消費者操作,結(jié)合具體實例形式分析了Python條件變量的概念、原理、及線程操作的相關(guān)技巧,需要的朋友可以參考下
    2017-03-03
  • 深入探究Flask的兩個高級特性之藍(lán)圖和JWT認(rèn)證

    深入探究Flask的兩個高級特性之藍(lán)圖和JWT認(rèn)證

    本文將探討 Flask 的兩個高級特性:藍(lán)圖(Blueprints)和 JSON Web Token(JWT)認(rèn)證,藍(lán)圖讓我們可以將應(yīng)用模塊化,以便更好地組織代碼;而 JWT 認(rèn)證是現(xiàn)代 Web 應(yīng)用中常見的一種安全機(jī)制,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08
  • Python操作Elasticsearch詳細(xì)指南

    Python操作Elasticsearch詳細(xì)指南

    Elasticsearch?是一種強(qiáng)大且靈活的分布式搜索引擎,而?Python?則以其易用性和強(qiáng)大的數(shù)據(jù)處理能力,成為開發(fā)者在數(shù)據(jù)操作中的理想選擇,下面我們就來看看如何使用Python操作Elasticsearch吧
    2025-02-02
  • Python使用PyMongo4.x操作MongoDB的教程分享

    Python使用PyMongo4.x操作MongoDB的教程分享

    PyMongo是一個Python編程語言中用于連接和操作MongoDB數(shù)據(jù)庫的庫,它提供了豐富的功能和API,使開發(fā)者能夠在Python中輕松地進(jìn)行MongoDB的數(shù)據(jù)交互和管理,本文給大家總結(jié)了Python如何使用PyMongo4.x操作MongoDB,需要的朋友可以參考下
    2023-09-09
  • pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例

    pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(2):畫點的三種方法和動畫實例,本文講解了單個像素(畫點)、連接多個點形成線、引用圖像、動畫完整實例,需要的朋友可以參考下
    2015-04-04
  • python正則表達(dá)式中匹配次數(shù)與貪心問題詳解(+??*)

    python正則表達(dá)式中匹配次數(shù)與貪心問題詳解(+??*)

    正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式中匹配次數(shù)與貪心問題(+??*)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Django開發(fā)的簡易留言板案例詳解

    Django開發(fā)的簡易留言板案例詳解

    這篇文章主要介紹了Django開發(fā)的簡易留言板,結(jié)合實例形式詳細(xì)分析了基于Python框架Django開發(fā)留言板的具體文件結(jié)構(gòu)、流程步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • python進(jìn)階之自定義可迭代的類

    python進(jìn)階之自定義可迭代的類

    這篇文章主要為大家詳細(xì)介紹了python進(jìn)階之自定義可迭代的類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評論

吉水县| 德庆县| 盈江县| 威海市| 中宁县| 无极县| 淳化县| 略阳县| 伊吾县| 成都市| 姜堰市| 桐梓县| 开平市| 五峰| 宜川县| 确山县| 全椒县| 花莲市| 台东市| 铜山县| 秭归县| 咸丰县| 调兵山市| 和田市| 青岛市| 吉首市| 石楼县| 南投市| 德江县| 龙州县| 泸定县| 阿图什市| 南平市| 新沂市| 南皮县| 巨鹿县| 新乐市| 惠东县| 铜陵市| 柞水县| 克拉玛依市|