Python基礎學習(字符串)

字符傳格式化

字符傳格式化經過佔位符'%'實現,通常狀況下使用元組對佔位符進行替換
python

若是要格式化的字符串包括符號‘%’,則必須使用%%app

from math import pi
print '這是百分號%%,這是pi的近似值:%08.2f' % pi
print '這是百分號%%,這是pi的近似值:%+8.2f' % -pi
print '這是百分號%%,這是pi的近似值:%-*.2f' % (8,pi)
print '這是百分號%%,這是pi的近似值:%.*s' % (4,'aaaaaa')

在要格式化的字符串中,佔位表達式‘%08.2f‘中,f表示是浮點數,'.2'表示小數點的精度,小數點前一位數字表示替換數值的保留位數,不足則在左邊補0(即%後的0)
this

字符串中整個佔位表達式的參數說明以下:spa

  • %字符:標記佔位符替換的起始部分code

  • 轉換標識符(可選):上例中是%後的0,-表示左對齊,+表示在轉換值以前加正負,「」(空白字符)表示在正數以前保留空格,0表示轉換後若位數不夠則用0填充索引

  • 最小字段寬度(可選):轉換後字符串至少應該具備該指定寬度,若是是*號,則寬度從元組中取出ip

小數點(.)後跟精度(可選):若是轉換的是實數,精度值就表示小數點後位數;若是轉換的是字符串,那麼該精度值表示的是轉換後的最大字寬,若是是*,則從該值元組中取出字符串

使用給定輸入打印一個簡版的價格表
input

#使用給定寬度打印價格列表
total_width=input('input width:')
price_width=10
item_width=total_width-price_width
print '='*total_width
print '%-*s%*s' %(item_width,'item',price_width,'price')
print '-'*total_width
print '%-*s%*.2f' %(item_width,'apple',price_width,2.8888)
print '-'*total_width
print '%-*s%*.2f' %(item_width,'pear',price_width,8)
print '-'*total_width
print '%-*s%*.2f' %(item_width,'orange',price_width,pi)
print '='*total_width

字符串方法

前面介紹過一些列表及序列方法,這裏介紹一部分字符串方法string

find:在一個較長字符串中查找子字符串,返回子字符串所在位置的最左端索引,未找到則返回-1,這裏in關鍵字只能判斷單一字符是否在指定字符串中

strTest='hello, world!'
print strTest.find('lo')
#從指定索引開始查詢
print strTest.find('l',5)
#包左不包右,查詢指定範圍的字符索引
print strTest.find('l',4,10)

join(seq):將某一字符串序列seq,按照指定的字符串拼接成一個字符串返回

temp = '-'.join(['a','b','c','d'])
print temp #a-b-c-d

split(separator):將某一字符串按照指定的字符separator分割,返回一個列表,不改變原字符串

var = 'test'.split('es')
print var #['t', 't']

lower:將字符串轉化爲小寫

test='ABCD'
print test.lower()

replace:該方法會返回一個被替換後的新字符串

print test.replace('AB', 'ab')

strip:該方法返回去除兩側(不包括內部)空格的字符串,也能夠指定須要去除的字符

test='***this is a test!***'
print test
print test.strip('*')

translate: translate方法和replace方法同樣能夠替換字符串中的某些部分,可是translate方法只處理單個字符,能夠同時進行多個替換,有時候比replace高效

from string import maketrans
#maketrans的兩個參數必須是等長的,對應位置的替換表
tab = maketrans('es', '* ')
tem = 'testabc'
#第二個參數用於指定要刪除的字符
va = tem.translate(tab,'b')
print va
print tem
相關文章
相關標籤/搜索