day 6 內建函式模組 正規表示式

2022-08-10 07:27:12 字數 3233 閱讀 8283

一.正規表示式:

1.1正規表示式是用於處理字串的強大工具,擁有自己獨特的語法以及乙個獨立的處理引擎 正規表示式常用語法:

.匹配任意除換行符「\n」

\ 轉義字串有字元*需要匹配,可以使用\*或者字符集

\d 匹配數字[0-9]

\d 非數字

\s 空白字元

\s 非空白字元

\w 單詞字元

\w 非單詞字元

* 匹配前乙個字元0 或無限次

+ 匹配前乙個字元1次或者無限次

?匹配前乙個字元0次或者一次

匹配前乙個字元多少次

匹配前乙個字元m至n次

^ 、配字串開頭 在多行模式中匹配每一行的開頭

$ 匹配字串的末尾 多行匹配每一行的末尾

\a 僅匹配字串的開頭

\z 僅匹配字串的末尾

| 代表左右表示式匹配, 優先匹配左邊的表示式,一旦匹配成功跳過匹配右邊的表示式,沒有包括在()中則是整個表示式

二.內建函式

1.數學相關

絕對值:abs(-1)

最大最小值:max([1,2,3])、min([1,2,3])

序列長度:len('abc')、len([1,2,3])、len((1,2,3))

取模:divmod(5,2)//(2,1)

pow(2,3,4)//2**3/4

浮點數:round(1)

2.函式是否可呼叫:

callable(funcname),注意,funcname變數要定義過

型別判斷:isinstance(x,list/int)

比較:cmp('hello','hello')

三、型別轉換

int(x)

long(x)

float(x)

complex(x) //複數

str(x)

list(x)

tuple(x) //元組

hex(x)

oct(x)

chr(x)//返回x對應的字元,如chr(65)返回『a'

ord(x)//返回字元對應的asc碼數字編號,如ord('a')返回65

四.字串處理

首字母大寫:str.capitalize

字串替換:str.replace

字串切割:str.split

五.序列處理

len:序列長度

max:序列中最大值

min:最小值

filter:過濾序列 例子 filter(lambda x:x%2==0, [1,2,3,4,5,6])

zip:並行遍歷

reduce:歸併

***********************************====

random 模組

print(random.random())#(0,1)----float 大於0且小於1之間的小數

print(random.randint(1,3)) #[1,3] 大於等於1且小於等於3之間的整數

print(random.randrange(1,3)) #[1,3) 大於等於1且小於3之間的整數

print(random.choice([1,'23',[4,5]]))#1或者23或者[4,5]

print(random.sample([1,'23',[4,5]],2))#列表元素任意2個組合

print(random.sample([1,'23',[4,5]],2))#列表元素任意2個組合

random.shuffle(item) #打亂item的順序,相當於"洗牌"

六 json 模組

json,用於字串 和 python資料型別間進行轉換,json模組提供了四個功能:dumps、dump(序列化,存)、loads(反序列化,讀)、load 跨語言進行json轉換 json只能處理基本資料型別

mport json

dic=

print(type(json.dumps(dic))) #

轉換成python語言是別的字串

with open(

'a.json

','w

') as f: #

轉換成python識別的語言 寫入到檔案

f.write(json.dumps(dic))

with open(

'a.json

','r

') as f: #

從檔案裡面讀取內容轉換成python識別的物件

data=f.read()

dic=json.loads(data)

print(dic['

name'])

dic=

json.dump(dic,open(

'b.json

','w

')) #

轉換成python語言寫入到檔案

print(json.load(open('

b.json

','r

'))['

name

']) #

從檔案讀取內容轉換成python識別的語言

七 picikle模組

pickle能處理所有python的資料型別,pickle用於python程式物件的持久化或者python程式間物件網路傳輸,但不同版本的python序列化可能還有差異。

import

pickle

dic=

print(pickle.dumps(dic)) #

轉換成python識別的字串

with open('

d.pkl

','wb

') as f:

f.write(pickle.dumps(dic))

with open(

'd.pkl

','rb

') as f: #

讀取轉換成python是別的語言

dic=pickle.loads(f.read())

print(dic['

name'])

dic=

pickle.dump(dic,open(

'e.pkl

','wb

')) #

寫入檔案

print(pickle.load(open('

e.pkl

','rb

'))['

name

'])#

檔案讀取

Day6 函式與Lambad表示式

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。定義乙個函式 你可以定義乙個由自己想要功能的函式,以下是簡單的規則 def 函式名 引...

DAY6 函式與Lambda表示式

no.5函式與lambda表示式 一 函式 1 建立函式def 語法 def myfunction 語句2 呼叫函式 語法 myfunction 函式內容 3 函式的引數 e.g.def a name print name 少年 a 壁花 壁花少年 e.g.def add b,c result b ...

Day 6 函式與Lambda表示式

練習1 怎麼給函式編寫 檔?def myfirstfunction name 函式定義過程中name是形參 因為ta只是乙個形式,表示佔據乙個引數位置 print 傳遞進來的叫做實參,因為ta是具體的引數值!format name myfirstfunction 老馬的程式人生 傳遞進來的老馬的程式...