python中的各個模組

2022-07-18 10:06:10 字數 4033 閱讀 4363

collection模組:python中的擴充套件資料模組

#namedtuple: 生成可以使用名字來訪問元素內容的tuple

'''from collections import namedtuple

point=namedtuple('point',['x','y']) #必須起名字 point

p=point(1,2)

print(p.x) #表示座標中的x點

print(p.y)

print(p) #point(x=1, y=2) 表示座標'''

#deque 雙端佇列,快速的從另外一側追加和推出物件 適用於佇列和棧

#佇列queue:先進先出 fifo 堆疊:先進後出 list是線性儲存

'''from collections import deque

q=deque([1,2])#建立乙個佇列,佇列裡面放乙個列表

q.insert(1,4)#插隊

# q.pop()#從後面去資料

# q.popleft()#從前面取資料

print(q.pop())

print(q.popleft())'''

#ordereddict:有序字典---》保持key的順序

'''from collections import ordereddict

d=dict([('a',1),('b',2),('c',3)])

print(d)#c此時無序

d1=ordereddict([('a',1),('b',2),('c',3)])

print(d1)#ordereddict([('a', 1), ('b', 2), ('c', 3)])此時有序'''

# counter:計數器,用來計數 無序的容器型別

#defaultdict:帶有預設值得字典

'''from collections import counter

c=counter('vcbdjsihguirehgslkjfsdkfjiugh')

print(c)

#counter()

'''#給集合排序 大與某個值的和小於某個值的存放在兩個key下面

'''from collections import defaultdict

dic=[11, 22, 33,44,55,66,77,88,99,90]

d1=defaultdict(list)

for i in dic:

if i>66:

else:

print(d1) #defaultdict(, )'''

#時間模組

#匯入時間模組

#常用的方法

# 1.time.time() 獲取當前時間

# 2.time.sleep(secs) 推遲的時間戳

#表示時間的三種方式

#時間戳:時間戳表示的是從2023年1月1日00:00:00開始按秒計算的偏移量。我們執行「type(time.time())」,返回的是float型別

# 元組(struct_time):

# 格式化的時間字串format string 『1999-12-06』

'''import time

#時間戳

x=time.time()

print(x)

#時間字串

y=time.strftime("%y-%m-%d %x")

print(y)'''

#時間元組:localtime將乙個時間戳轉換為當前時區的struct_time

#print(time.localtime())

#time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)

#時間戳是計算機能夠識別的時間;時間字串是人能夠看懂的時間;元組則是用來操作時間的*****************

#三種方式之間的轉換

#random模組

import random #隨機數

#隨機小數

'''x=random.random() #大於0且小於1之間的小數

print(x)

x1=random.uniform(12,23)#大於12小於23的小數

print(x1)

#隨機整數

y=random.randint(1243,6567) #首尾都baokuo

y1=random.randrange(1,10,2) # 大於等於1且小於10之間的奇數 #不包括wei

print(y)

print(y1)

#隨機選擇多個返回

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

print(z)

#打亂列表順序

item=[1,23,5,7,97]

x=random.shuffle(item)

print(item)'''

#生成隨機驗證碼

'''def v_code():

code = ''

for i in range(5):

num=random.randint(0,9)

alf=chr(random.randint(65,90))

add=random.choice([num,alf])

code="".join([code,str(add)])

return code

print(v_code())'''

#os模組(作業系統模組):與作業系統互動的乙個介面

#sys模組:與python直譯器互動的乙個介面

#******

# 序列就是字串

# 序列化的應用

# 寫檔案(資料傳輸)

# 網路傳輸

# 序列化模組:將原本的字典、列表等內容轉換成乙個字串的過程就叫做序列化。

# 序列化:記憶體中的物件轉換為位元組序列(字串)

# 反序列化:將位元組序列轉換為記憶體中的物件

# 序列化的目的:

# 1.以某種儲存形式是自定義物件持久化

# 2.將物件從乙個地方傳遞到另乙個地方

# 3.使程式更具有維護性

## json模組:通用的序列化格式 只有很少的一部分資料型別通過json轉化為字串

#可以進行序列化的:數字 字串 元組 列表 不能轉集合

# 1.dumps() 序列化方法

'''dic=

print(type(dic),dic)

import json

str_dic=json.dumps(dic)

print(type(str_dic),str_dic)

#2.loads反序列化方法

dic_d=json.loads(str_dic)

print(type(dic_d),dic_d)'''

#格式化輸出

'''import json

data =

json_dic2 = json.dumps(data,sort_keys=true,indent=2,separators=(',',':'),ensure_ascii=false)

print(json_dic2)

結果;'''

#3.dump和load 不加s 和檔案相關的操作

import json

# dic=

# f=open('fff','w',encoding='utf-8')

# json.dump(dic,f)

# f.close()

# f=open('fff')

# res=json.load(f)

# print(type(res),res)

# pickle模組:所有的python中的資料型別都可以轉化 但只有pyth理解,且部分反序列化依賴**

# shelve模組:序列化控制代碼 直接操作,方便

python各個模組

os.listdir path 以list形式返回路徑下的所有檔名,傳入path時要注意一點,路徑中的反斜線最好使用兩個,使用乙個反斜線加字母容易產生反義歧義 執行結果 注意這個list是無序的 python os官方文件 sort 該函式可以給陣列,鍊錶list或者向量排序,用法 sort fir...

spring中各個模組的作用

spring 有可能成為所有企業應用程式的一站式服務點,然而,spring 是模組化的,允許你挑選和選擇適用於你的模組,不必要把剩餘部分也引入。下面的部分對在 spring 框架中所有可用的模組給出了詳細的介紹。spring 框架提供約 20 個模組,可以根據應用程式的要求來使用。核心容器由核心,b...

spring 中各個模組的作用

spring 有可能成為所有企業應用程式的一站式服務點,然而,spring 是模組化的,允許你挑選和選擇適用於你的模組,不必要把剩餘部分也引入。下面的部分對在 spring 框架中所有可用的模組給出了詳細的介紹。spring4.0 框架提供約 20 個模組,可以根據應用程式的要求來使用。核心容器由核...