激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 專題三 字符串的基礎知識

Python 專題三 字符串的基礎知識

2020-09-24 14:24Eastmount Python

在Python中最重要的數據類型包括字符串、列表、元組和字典等。本篇文章主要講述Python的字符串基礎知識。下面跟著小編一起來看下吧

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

一.字符串基礎

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

s1='www.csdn.NET'   s2="www.csdn.Net"   s3='''aaabbb'''

其中字符串又包括:

1.轉義字符串

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

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

  -換行   -回車   -換頁   -縱向制表符   -橫向制表符   e-轉義

  -空   oyy-八進制數yy代表的字符   xyy-十進制yy代表的字符

2.raw字符串

Python中原始字符串(raw strings),r關閉轉義機制.告訴Python后面是連串,""不當轉義字符處理.例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#轉義字符和raw字符
s1="aa bb"
print s1
s2=r"aa bb"
print s2
 
#輸出
aa
bb
aa bb
 
#raw原始字符串處理磁盤路徑
open(r'C: emp est.txt','a+')
open('C:\temp\test.txt','a+')

3.unicode字符串

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

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

4.格式化字符串

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

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

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

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

  d,i  帶符號的十進制整數

  o   不帶符號的八進制

  u   不帶符號的十進制

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

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

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

  f,F   十進制浮點數

  c   單字符

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

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

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

二.字符串操作

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

1.+連接操作

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

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

2.*重復操作

如:s1='abc'*5

print s1 => 輸出:abcabcabcabcabc

3.索引s[index]

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

4.切片s[i:j]

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

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

其中當step=-1時表示反方向切片.如:

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

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

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

5.字段寬度和精度

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#字段寬度和精度
num = 12.345678
s1 = '%6.2f'%num
print s1
#補充0
s2 = '%08.2f'%num
print s2
#減號實現左對齊
s3 = '%-8.2f'%num
print s3
#空白
print ('% 5d'%10) + ' ' + ('% 5d'%-10)
#符號
print ('%+5d'%10) + ' ' + ('%+5d'%-10)
 
#輸出
 12.35
00012.35
12.35
 10
 -10
 +10
 -10

三.字符串方法

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

find()

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

?
1
2
3
4
5
6
7
8
9
10
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方法的逆方法.

?
1
2
3
4
5
6
7
8
9
10
11
12
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:usrbinenv

split()

字符串分割函數,格式為"S.split([sep [,maxsplit]]) -> list of strings",將字符串分割成序列,如果不提供分割符,程序將會把所有空格作為分隔符.

?
1
2
3
4
5
6
7
8
#按空格拆分成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()

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

replace()

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

translate()

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

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

字符串判斷方法

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

  isalpha()判斷是否是字母

  isdigit()判斷是否是數字

  islower()判斷是否全是小寫

  isupper()判斷是否全是大寫

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

lower()

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

?
1
2
3
4
5
6
7
8
9
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基礎教程》和"51CTO學院 智普教育的python視頻"學習.所以文中引用了很多視頻中的知識、書籍知識和自己的知識,感謝那些作者和老師,希望文章對大家有所幫助,才開始學習python知識,如果文章中有錯誤或不足之處,還請海涵,也希望大家提出意見與君共勉.勿噴~

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!

原文鏈接:http://blog.csdn.net/eastmount/article/details/39599061

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产99视频精品免视看9 | 精品久久久久久 | 毛片免费视频观看 | 成人 精品 | 艹艹艹逼 | 欧美一级爱爱 | 久久久久久亚洲国产精品 | 国产女厕一区二区三区在线视 | 国产一国产一级毛片视频在线 | 免费看成年人网站 | 激情网站免费观看 | 国内精品伊人久久 | av免费大全 | 91精品国产99久久久久久 | 久久久久女人精品毛片九一 | 久久美女色视频 | 污片在线观看视频 | av在线免费播放网站 | 久久久精品视 | 午夜网站视频 | 日产精品久久久一区二区福利 | 粉嫩蜜桃麻豆免费大片 | 宅男噜噜噜66一区二区 | 毛片免费视频观看 | 欧美日韩在线播放一区 | 毛片免费一区二区三区 | 精品少妇v888av | 国产午夜免费不卡精品理论片 | 在线成人免费观看视频 | 在线区| 九九精品在线播放 | 国产亚洲精品一区二区三区 | 中国洗澡偷拍在线播放 | 国产一区二区在线免费观看 | 免费91在线 | 男女无套免费视频 | 精国产品一区二区三区 | 成年人黄色免费电影 | 一区二区久久精品66国产精品 | 国产亚洲精品久久午夜玫瑰园 | 久久久久一区二区三区 |