compile(正規表示式) - 編譯正規表示式,建立正規表示式物件
re_obj =
compile
(r'\d'
)re_obj.fullmatch(
'234'
)
1.fullmatch(正規表示式, 字串) - 讓整個字串和正規表示式進行匹配
2.match(正規表示式, 字串) - 匹配字串開頭
如果匹配失敗,結果是none,如果匹配成功,結果是匹配物件
re_str = r'(\d\d)-([a-z])'
print
(match(re_str,
'34-asd'
))
1獲取匹配到的字串
匹配物件.group() - 獲取整個正規表示式匹配到的結果
print(result.group())
匹配物件.group(分組號) - 獲取正規表示式中指定的分組匹配到的結果(分組號從1開始)
2獲取匹配到的子串的範圍
print(result.span(1))
3獲取原字串
print(result.string)
4查詢:
1)search(正規表示式, 字串) - 在字串中查詢第乙個能和正規表示式匹配的子串。如果找到返回匹配物件,找不到返回none
2)findall(正規表示式,字串) - 獲取字串中所有滿足正規表示式的子串,返回乙個列表,列表中的元素是字串,正則中如果有分組,只獲取分組匹配到的內容
3)finditer(正規表示式,字串) - 獲取字串中所有滿足正規表示式的子串,返回乙個迭代器,迭代器中的元素是匹配物件
str1 =
'as****fw2442adafsaff324e2e23re3'
print
(search(r'\d+'
, str1)
)print
(findall(r'\d+[a-z]'
, str1)
)print
(list
(finditer(r'\d+[a-z]'
, str1)
))
5.切割
split(正規表示式, 字串, 切割次數) - 將字串中能和正規表示式匹配的子串作為切割點,對字串進行切割,返回值是列表,列表中的元素是字串
6.字串的替換
sub(正規表示式, 字串1, 字串2, 替換次數) - 將字串2中滿足正規表示式的子串全部替換成字串1
1.什麼是類
類就是擁有相同屬性和相同功能的物件的集合
物件就是類的例項
2.定義類(說清楚共同屬性和功能是哪些)
語法:class 類名:
類的說明文件
類的內容(包含屬性和方法)
說明:class - 關鍵字
類名 - 程式設計師自己命名
要求:識別符號,不能是關鍵字
規範:駝峰式命名,並且首字母大寫,見名知義,不要用系統的函式名類名和模組名
類的說明文件 - 說清楚類的功能,用三個雙引號引起來的說明文字
類的內容 - 主要包含屬性和方法(定義在類中的函式叫方法)
pep8命名:
student_name = 『zhang』
駝峰式命名
studentname = 『張』
3.定義物件(建立物件)
語法:類名()
說明:類名:類名對應的類是已經定義好的類的類名
1.方法(定義在類中的函式)
類中的方法分三種:物件方法、類方法、靜態方法
1)物件方法
定義:直接定義在類中的函式就是物件方法
特點:自帶引數self,self在物件呼叫的時候不用傳參,系統會自動將當前物件傳給self
怎麼呼叫:用物件來呼叫(物件.方法名())
2)類方法
定義:定義函式前加裝飾器@classmethod
特點:自帶引數cls(cls在通過類呼叫的時候不用傳參)
怎麼呼叫:用類呼叫(類.方法名())
3)靜態方法
定義:在定義函式前加裝飾器@staticmethod
特點:沒有預設引數
怎麼呼叫:用類呼叫
4)物件方法、類方法和物件方法怎麼選
如果實現函式功能需要用到函式屬性時候用物件方法
class
dog:
# eat是物件方法,
defeat
(self)
:print
('gou'
) @classmethod
# count就是乙個類方法
defcount
(cls)
:print
('狗數量是100'
) @staticmethod
deffun2()
:print
('靜態方法'
)# 建立物件
dog1 = dog(
)# 物件呼叫
dog1.eat(
)# 類呼叫
dog.count(
)# 類呼叫靜態方法
dog.fun2(
)# 從本質上講,型別的所有方法都可以用物件和類呼叫,但是不能這麼做
# 如果用類呼叫物件方法,self就變成普通引數,沒有存在價值
# 用物件呼叫類方法時候,cls指向的還是類(不會指向物件) 說白了就是沒啥區別就是麻煩了一步
#
1.構造方法
構造方法:函式名和類名是一樣的,用來建立物件的方法就是構造方法(是系統自動建立的)
2.init方法
init__方法又叫初始化方法,用來在建立物件的時候對物件進行初始化操作
當我們通過類建立物件的時候系統會自動呼叫__init__方法來對建立出的物件進行初始化
呼叫構造方法建立物件時候,需不需要引數,需要幾個,看被呼叫的__int
class person:
def __init__(self, a, b):
print('初始化方法', a, b)
# person()
p1 = person(1, 2)
屬性:物件屬性和類屬性
物件屬性:物件屬性的值會因為物件不同而不一樣
a.物件屬性定義在init方法中
b.以 self.屬性名 = 值 的形式存在
class
person
:def
__init__
(self, name, age, gender)
: self.name = name
self.age = age
self.gender = gender
p1 = person(
'張三',18
,'男'
)print
(p1.name, p1.age, p1.gender)
python基礎 re使用
以乙個帶檔案操作的例子說明 目標 開啟乙個檔案,提取 中的內容,儲存在乙個新的檔案裡 涉及到的一些操作 序號操作 1檔案操作codecs.open 2正規表示式re模組的使用 上 import linecache import re import codecs filename lolstatist...
python基礎 Re正則
正規表示式 regular expression,簡稱re 正規表示式是對字串操作的 種邏輯公式,就是 事先定義好的 些特定字元 及這些特定字元的組合,組成 個 規則字串 這個 規則字串 來表達對字串的 種過濾邏輯。字串的匹配查詢 re模組中的findall函式可以對指定的字串進行遍歷匹配,獲取字串...
python中re庫基礎
正規表示式 基礎使用方法 data re.compile d re.i re.s 建立正規表示式物件 第二個引數代表忽略大小寫以及換行 str data.findall zfc 進行字串匹配 返回是列表形式 re類 正規表示式 萬能匹配 zfc asdkfgjosadjfo1234asdtfgw e...