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.n :m顯示的最小總寬度,n為小數點後保留位 -> %3.5f ,小數後面保留5位,整體最小寬度為3
Unicode
字串
Python
中定義Unicode
字串只需要在串前新增一個u
即可
如:
u'Hello word'
引號前的u
表示這裡建立的是一個Unicode
字串。如果想加入一個特殊字元,需要使用Python
的Unicode-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”)