6. python指令碼學習筆記六字串
本篇名言:「心存夢想,機遇就會籠罩著你;心存希望,幸福就會降臨於你;心存堅持,快樂就會常伴你;心存真誠,平安就會跟隨你;美麗的生活由心而定!」
來看下python下的字串。使用%
來格式化字串,如下示例。
>>> format="hello. %s. %senough for ya?"
>>> values=('world','hot')
>>> print format % values
hello. world. hot enough for ya?
此外string
模組提供另一種格式化值的方法:模板字串。
如下圖示例:
>>> from string import template
>>> s=template('$x,glorious $x!')
>>> s.substitute(x='slurm')
'slurm,glorious slurm!'
如果本身來$符號,就需要輸入連續的兩個$$來表示。
格式化操作符的右操作可以是任何東西,如果是元組或者對映型別,那麼字串格式化會有所不同。
>>> 'price of eggs:$%d' % 23
'price of eggs:$23'
>>> 'hexadecimal price of eggs: %x' % 23
'hexadecimal price of eggs: 17 '
>>> from math import pi
>>> 'pi: %f ...' % pi
'pi: 3.141593 ...'
>>> 'very inexact estimate of pi:%i' % pi
'very inexact estimate of pi: 3'
>>> 'using str: %s' % 42l
'using str: 42'
>>> 'using repr: %r' % 42l
'using repr: 42l'
轉換說明符號,可以包括字段寬度和精度。
寬度是轉換後的值所保留的最小字元個數,精度是結果中應該包含的最小位數。
>>> from math import pi
>>> '%10f' % pi
' 3.141593'
>>> '%10.2f' % pi
' 3.14'
>>> '%.2f' % pi
'3.14'
>>> '%.5s' % 'guido van rossum'
'guido'
可以使用*作為字段寬度或者精度(或者兩者都使用*),此時數值會從元組引數中讀出:
>>> '%.*s' % (5, 'guido van rossum')
'guido'
字段寬度和精度之前還可以放置乙個「標表」,該標表可以是零,加號,減號或空格。
>>> '%010.2f' % pi
'0000003.14'
這裡的0開頭不是表示八進位制數。
左對齊數,如下,使用-符號來進行左對齊
>>> '%-10.2f' % pi
'3.14 '
在整數前加空格
>>> '% 5d' % 10
' 10'
>>> '% 5d' % -10
' -10'
# print a formatted price list with a given width
width = input('please enter width: ')
price_width = 10
item_width = width - price_width
header_format = '%-*s%*s'
format = '%-*s%*.2f'
print '=' * width
print header_format % (item_width, 'item', price_width, 'price')
print '-' * width
print format % (item_width, 'pears', price_width, 0.5)
print format % (item_width, 'cantaloupes', price_width, 1.92)
print format % (item_width, 'dried apricots (16 oz.)', price_width,8)
print format % (item_width, 'prunes (4 lbs.)', price_width, 12)
print '=' * width
輸入乙個寬度,格式化水果**的**
主要是使用-實現左對齊,使用』%.2f』來實現保留2個小數。
輸出:pleaseenter width: 35
***********************************
item price
-----------------------------------
pears 0.50
cantaloupes 1.92
driedapricots (16 oz.) 8.00
prunes(4 lbs.) 12.00
字串從string模組中繼承了很多方法,有很多的方法,列舉特別有用的一些方法。
查詢子字串。
>>> 'with a moo-moo here. and amoo-moo there'.find('moo')
返回字串所在的最左邊的索引。
是split方法的逆方法。
需要新增的佇列元素都必須是字串。
>>> seq=['1','2','3','4','5']
>>> sep='+'
>>> sep.join(seq)
'1+2+3+4+5'
可以用於路徑如下圖:
>>> dirs='','usr','bin','env'
>>> '/'.join(dirs)
'/usr/bin/env'
返回字串的小寫字母版
>>>'abcde'.lower()
'abcde'
此外還有title方法,可以變成主題。
替換某字串的所有匹配項。
>>> 'this is atest'.replace('is','eez')
'theez eez a test'
是join的逆方法。用來將字串分隔成序列。
>>>'1+2+3+4+5'.split('+')
['1','2', '3', '4', '5']
去除兩側(不包括內部)的空格的字串
>>> ' internal withspace is kept '.strip()
'internal withspace is kept'
可以加入引數,指定要去除的字元
類似replace方法,不過只處理單個字元。可以配合string模組裡面的maketrans函式。
使用maketrans來建立用於轉換的表,如下實現將英語轉換成德語。
就是cs 裝換成kz。
>>> from string import maketrans
>>> table=maketrans('cs','kz')
>>> table[97:123]
'abkdefghijklmnopqrztuvwxyz'
>>> 'this is an incredibletest'.translate(table)
'thiz iz an inkredible tezt'
筆記 6 Python學習 函式
def 函式名 呼叫 函式名 乙個函式引數 def second name print name 我愛你!second 花花 花花我愛你!多個函式引數 def add num1,num2 result num1 num2 print result add 1,2 3函式的返回值return def ...
6 Python學習筆記 列表,元祖
列表 列表建立 var 1,2,3 列表訪問 索引以及切片訪問列表的區域性內容 列表的修改 1 可以通過索引切片的方式修改列表中已經存在的元素 刪除元素 del var 通過索引刪除元素 列表的方法 extend seq 將seq序列的每乙個元素依次追加到列表末尾 pop index 彈出指定索引位...
6 python學習之執行python的方式
python的直譯器 使用python 2.x直譯器 python py 使用python 3.x直譯器 python3 py 其他直譯器 知道 python的直譯器如今有多個語言的實現,包括 1 互動式執行python的優缺點 優點缺點 2 退出官方的直譯器 1 直接輸入exit exit 2 使...