1. 程式人生 > >Python學習筆記 —— 字串及常用函式

Python學習筆記 —— 字串及常用函式

Python中沒有單字元型別,所以單個字元也是作為一個字串來使用的

Python字串要求掌握點

引號、雙引號、三引號區別點及使用
轉義字元
字串運算子
字串格式化
Unicode字串
常用函式

引號、雙引號、三引號區別點及使用

  • 引號與雙引號無區別,可直接使用
  • 與三引號區別為,單雙引號只能作用於一行,而三引號可以作用於多行,同時還可以作為註釋來使用。

轉義字元

使用到特殊字元,不能當作普通字元來處理,需要進行轉義【查閱】

\(在行尾)      :續行符

表示反斜槓後面的字元:

\\      :反斜槓符號
\'      :單引號
\"      :雙引號

其他意義:

\a      :響鈴
\b      :退格
\e      :轉義
\000    :空
\n      :換行
\v      :縱向製表符
\t      :橫向製表符
\r      :回車
\f      :換頁
\oyy    :八進位制數,yy代表字元,例:\o12代表換行
\xyy    :十六進位制數,yy代表字元,例:\x0a代表換行
\other  :其他的字元以普通格式輸出

字串運算子

+       :字串連線
*       :重複輸出字串
[]      :獲取串中索引位置字元  
[:]     :擷取字串部分
in      :判斷字串中是否包含給定的字元
not in      :不包含給定字元返回YES
r/R     :原始字串,所有字串都是直接按字面意思使用,無特殊或轉義字元  如:print r’\n’ 輸出:\n而不是換行
%       :格式字串【見字串格式化】

字串格式化

在字串的輸出中我們可能會用到格式化字串,主要是將其他一些格式以字串的形式輸出

如:

print 'Hello %s you are number %d '% ('Nick',2)
#>>> hello Nick you are number 2

格式化符號:

%c      :格式化字元
%s      :格式化字串
%u      :格式化無符號整型
%o      :格式化八進位制數
%x或%X   :格式化十六進位制數
%f      :格式化浮點
%e或%E   :科學計數法格式化浮點數
%g或%G   :%f和%e的簡寫
%p      :變數地址【指標地址】
  • 輔助操作符指令 需要放到格式化符號中間

格式如下:

#如:%u 
'%'+輔助操作指令+'u'
*       :定義寬度或者小數點精度 -> 為一具體數字如: %5d   以五位補充,無資料用空格補充

-       :左對齊        ->%-5d ,左對齊 

+       :正數面前顯示(+)->%+5d,正數面前顯示‘+’號,負數顯示‘-’號

【空格】 :正數面前顯示空格  ->% 5d,正數前面顯示空格,負數顯示'-'

#       :八進位制及十六進位制標識,八進位制顯示'0',十六進位制顯示‘0x’ ->%#o  為顯示八進位制,並且前面標註八進位制符號'0'

0       :顯示的數字前面填充'0'【預設填充空格】->%5d,高位不足,以'0'補充

%       :'%%'輸出一個單一的'%'

m.nm顯示的最小總寬度,n為小數點後保留位 -> %3.5f ,小數後面保留5位,整體最小寬度為3

Unicode字串

Python中定義Unicode字串只需要在串前新增一個u即可

如:

 u'Hello word'

引號前的u表示這裡建立的是一個Unicode字串。如果想加入一個特殊字元,需要使用PythonUnicode-Escape編碼
如:

u'hello\u0020world'  #\u0020為空格編碼
u'hello world'

常用函式

len(string)         :計算字串長度
string.count(str)   :計算str在string中出現的次數

無參函式:

string.capitalize()     :把字串第一個字元大寫
string.isalnum()        :判斷字串是否只有字母數字
string.isalpha()        :判斷字串是否只有字母
string.isdigit()        :判斷是否只含有數字
string.islower()        :判斷是否字串中全部為小寫
string.isupper()        :判斷是否字串中全部為大寫
string.isspace()        :是否只含有空格
string.title()          :返回標題化字元 【標題樣式為:每個單詞的第一個字元都是大寫】
string.istitle()        :是否為標題樣式  
string.lower()          :將所有字串轉為小寫
string.upper()          :將所有字串轉為大寫
string.swapcase()       :翻轉大小寫【大寫變小寫,小寫變大寫】



string.isnumeric()      :判斷是否只包含數字字元 【只存在Unicode物件】
string.isdecimal()      :判斷字串是否只有十進位制數字  【只存在Unicode物件】  字串前有u標誌

一引數

string.center(width)        :返回一個原字串居中,用空格填充至長度width的新字串
string.zfill(width)         :返回長度為width的字串,原字串string右對齊,前面填充0
string.expandtabs(tabsize=8):把字串中的tab符號轉為需要空格數量,tab符號預設的空格數為8  引數代表轉為幾個空格數
string.join(seq)            :以sting作為分隔符,將seq中所有的元素合併為一個新的字串 【序列一般為元組或列表】
string.ljust(width)         :返回一個原字串左對齊,並使用空格填充至長度width的新字串
string.rjust(width)         :返回一個原字串,右對齊,左邊補空格至width寬度
max(str)                    :返回字串中最大的字母,ASCII碼為判斷標準
min(str)                    :返回字串中最小的字母

string.partition(str)       :將字串分為一個三元素的元組:(第一個str之前 第一個str 第一個str之後)
string.rpartition(str)      :類似於partition從右側開始查詢,第一個str

string.lstrip([str])        :裁掉string左邊的空格,若有str則直接切去左邊str
string.rstrip([str])        :裁掉string右邊的空格,,若有str則直接切去右邊str
string.strip([str])         :執行lstrip()和rstrip()

多引數

1 . string.count(str,beg=0,end=len(string))         :返回str在string裡面出現的次數,如果beg,end指定則返回指定範圍內str出現的次數
2 . string.encode(encoding=‘UTF-8’,errors=’strict’) :指定編碼格式,出錯則報出錯誤,除非errors指定為ignore或replace
string.decode(encoding=‘UTF-8’,errors=‘strict’) :指定解碼格式
注:errors—設定不同錯誤的處理方案。預設'strict',意為編碼錯誤引起一個UnicodeError。其他可設定值有:'ignore','replace','xmlcharrefreplace','backslashreplace'以及通過codecs.register_error()註冊的任何值。
3 . string.endswith(obj,beg=0,end=len(string))  :檢查字串是否以obj結束,指定範圍則在範圍內判斷,是返回True,否則返回False
4 . string.startwith(obj,beg=0,end=len(string)) :檢查串是否以obj開頭,其他參上
5 . string.find(str,beg=0,end=len(string))      :檢測str是否包含在string中,如果指定範圍,如果是則返回原字串的索引值,否則返回-1
6 . string.rfind(str,beg=0,end=len(string))     :與find一致,從右側開始
7 . string.index(str,beg=0,end=len(string))     :與find方法一致,不過如果不在string中則報一個異常
8 . string.maketrans(innate,outtab)             :字元對映表,第一個為需要轉換的字元,第二個表示轉換的目標,都是以字元進行對映的。

例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from string import maketrans    #必須呼叫maketrans函式
str = 'This is a very good test'
old = 'aeiou'
new = '12345'
trantab = maketrans(old,new)  #old與new的長度需要保持一致
print str.translate(trantab)
#>>> Th3s 3s 1 v2ry g44d t2st   // 由此可以做些簡單的加密演算法設定
9 . string.translate(str,del=‘’)            :根據str給出的表,包含(256個字元)轉換string的字元,要刪掉的字元放到del引數中

例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from string import maketrans
old = 'aeiou'
new = '12345'
trantab = maketrans(old,new)
str = 'this is a test'
print str.translate(trantab,'th') #替換同時再將所有t h 刪除掉
10 . string.replace(str1,str2,num=string.count(str1))   :把string中的str1替換成str2,如果num指定,則替換不超過num次

例:

str = 'this is a test'
print str
print str.replace('is','was')
print str.replace('is','was',1)

#輸出:
#>>> this is a test
#>>> thwas was a test
#>>> thwas is a test
11 . string.split(str=‘’,num=string.count(str))     :以str為分隔符切片string,如果numb有指定值,則僅分隔num個字串

例:

>>> str = 'this is a is goois'
>>> str.split(' ')
['this', 'is', 'a', 'is', 'goois']
>>> str.split(' ',3)
['this', 'is', 'a', 'is goois']
12 . string.splitlines(num=string.count(‘\n’))      :按行分隔,返回一個包含行作為元素的列表,如果num指定不為0則,如果

例:

>>> str = '''this is a good test
... do you know this?
... anyone know this'''
>>> str.splitlines()
['this is a good test', 'do you know this?', 'anyone know this']
>>> str.splitlines(2)
['this is a good test\n', 'do you know this?\n', 'anyone know this']
>>> str.splitlines(0)
['this is a good test', 'do you know this?', 'anyone know this']

#注:檢視方法說明為,S.splitlines(keepends=False)返回S中的行列表,以行邊界為分隔,行分隔並不包括換行符,除非在括號中給定一個非空非0值才會顯示分隔符。所以傳入一個非0值效果都是一樣的。

相關推薦

Python學習筆記 —— 字串常用函式

在Python中沒有單字元型別,所以單個字元也是作為一個字串來使用的 Python字串要求掌握點 引號、雙引號、三引號區別點及使用 轉義字元 字串運算子 字串格式化

python學習筆記】列表常用的內建函式

對於列表來講,有三個內建函式非常有用: filter(),map() 以及 reduce()。 1、filter(function, sequence) filter(function, sequence)返回一個sequence(序列),包括了給定序列中所有呼

python學習筆記:取整函式

三種取整方式: 一、向下取整:即捨去小數點後所有資料。int (n),例如: int(3.67) #figure out 3 二、四捨五入:round(n),例如: round(4.56) #figure out 5 round(-4.56) #figure o

Python 學習筆記: 一些常用模組

Python 一些常用模組   python 裡的一些常用模組。   1 namedtuple 模組 from collections import namedtuple Point = namedtuple('Point',['x','y']) p1= Point(1,

Python 學習筆記(四)[函式進階]

異常 異常捕獲 try: myfile = open('1.txt') except Exception: print('開啟檔案錯誤') else: print('開啟檔案') myfile.close() finally: print('開啟檔案結束')

Python學習筆記(三)[函式基礎]

概念 定義 宣告 a = 1 if a == 1: def func(): print('a == 1') else: def func(): print('a != 1') 傳參 # 預設

Python學習筆記(matplotlib實戰篇)--函式積分圖

Python學習筆記--極座標 所用的庫及環境:   IDE:Pycharm   Python環境:python3.7   Matplotlib:   Matplotlib 1.11   Numpy:  Numpy1.15 函式積分圖 程式碼及效果圖 1 import matplotlib.pypl

python學習筆記15 模組numpy函式

Time:20181019 NumPy是Python語言的一個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。 1、np.newaxis: np.newaxis:放在第幾個位置,就會在shape裡面看到相應的位置增加了一個維數 &g

Python學習筆記之os.walk()函式

       我們使用os,listdir()函式來列出目錄下的所有檔案和目錄放入一個列表進行返回,但是listdir()函式不可對目錄的子目錄進行掃描。  print(os.listdir('/'))輸出:['boot', 'dev', 'home', 'proc', 'r

Python學習筆記:PEP8常用編程規範

間隔 soc 形式 not __init__ 可能 import sdn 反斜杠 PEP8編碼規範是一種非常優秀的編碼規範,也得到了Python程序員的普遍認可,如果實踐中或者項目中沒有統一的編碼規範,建議盡量遵循PEP8編碼規範,當然如果項目中已經有了自身的編碼規範,應當

Python學習筆記 String型別常用方法

capitalize() 把字串的第一個字元改為大寫 casefold() 把整個字串的所有字元改為小寫 center(width) 將字串居中,並使用空格填充至長度 width 的新字串 count(sub[, start[, end]]) 返回 sub 在字

python學習筆記: round()函式相關

一、round(x [ , n ]):返回x(可以為數值或運算表示式)的四捨五入值,保留n位小數。 Note1 :當小數點後正好為5時,round(X.5)=X或者X+1(trap!) ***在python2.7的doc中,round()的最後寫著,“Values are rounded t

Python學習筆記7——常用函式

把握今天,才能擁有明天! eval()函式 把一個字串當成一個表示式來執行, 返回表示式執行後的結果 語法: eval(string_code, globals=None, locals=None) exec()函式 跟eval功能類似, 但是

Python學習筆記 Day7 對資料型別的總結、input輸入函式定義

Day 7 對資料型別的總結、input輸入及函式定義 複習前6天的內容 Python基本資料型別之一 python基本資料型別之二: 列表複習聯絡 問題:用remove,結合for或者while刪除列表內容: bicycles = ['trek', 'canno

Python學習筆記——常用庫、函式的使用(持續更新)

一、OS模組 1、當前使用平臺 os.name:指示你正在使用的工作平臺。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'。 2、當前路徑和檔案 os.getcwd() :返回當前工作目錄 os.listdir(): 返回指

Python學習筆記 —— 數字型別【Numbers】常用方法

Tips: 在Python中資料型別不允許改變的,如果改變了,則會重新分配記憶體空間。 pi: 數字常量pi(圓周率) e:自然常數 Numbers支援四種不同的數值型

Python學習筆記(2)——字串常用方法(對齊、替換、拆分、合併)

1. 字串對齊——center、ljust、rjust 通過在兩邊填充字元(預設空格)讓字串居中、左對齊、右對齊。 2. 查詢子串——find、index、count find:查詢子串,返回子串第一個字元的索引,如果沒找到返回-1。 index:查詢子串,返回子

Python學習筆記常用的內建函式

在Python中,python給我們提供了很多已經定義好的函式,這裡列出常用的內建函式,以供參考 1.數學函式 abs() 求數值的絕對值 min()列表的最下值 max()列表的最大值 di

Python學習筆記7——Sorted返回函式

#sorted函式可直接用於對list進行排序,同時還可以接收一個key函式用來對list進行自定義的排序 #比如按照絕對值排序 sorted(range(-5,5),key=abs) #忽略大小寫對字串列表進行排序 sorted(['Abd','asdf','fd','zd

Python學習筆記五:字符串常用操作,字典,三級菜單實例

rip .get isalnum 變量名 cde tro 分割 字母 isdigit 字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大寫:a_str.capitalize() 統計字符串個數:a_str.count(“x”)