日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

絕對、相對導入以及包和常見內置模塊

作者:MeiJin_ 更新時間: 2022-07-17 編程語言

文章目錄

  • 一、絕對導入與相對導入
  • 二、包的概念
  • 三、編程思想的轉變
  • 四、軟件開目錄規(guī)范
  • 五、常見內置模塊

一、絕對導入與相對導入

我們都知道絕對路徑與相對路徑 現在我們想要了解的是絕對導入與相對導入
其概念其實跟路徑一個道理 絕對是指定到某一個文件 相對是指定到某一個文件夾

補充知識:
只要涉及到用到模塊的導入 那么系統(tǒng)路徑sys.path永遠以執(zhí)行文件為準
.在路徑中意思是當前路徑 ..在路徑中意思是上一層路徑 ../..在路徑中意思是上上一層路徑

	絕對導入
		絕對路徑就是我們說到的指定到特指的文件
		from Desktop import Join							來自桌面的Join文件
		from Desktop.Game.Login import exe 					來自桌面文件夾Game子文件夾Login里面的exe文件 
		其實就是以執(zhí)行文件所在的sys.path為起始路徑 往下一層層查找
		如果有文件不在同一級別的文件夾路徑,想使用直接把絕對路徑添加到執(zhí)行文件sys.path里面即可
		
	相對導入
		相對導入就是給到路徑文件夾了 但是不知道它哪個文件夾里面
		from Desktop import new			   					只給到文件夾Desktop不知道new在那個字文件里面
		但是相對導入只能在模塊文件中使用 不能在執(zhí)行文件中使用
		相對導入在項目比較復雜的情況下 可能會出錯所以推薦使用絕對導入 少用相對導入

二、包的概念

注意這個包跟我們平常理解的肉包子菜包子lv包包不是一個包哈 所以現在帶大家了解一下python的包

	如何理解包
		從我們專業(yè)的角度來看 創(chuàng)建一個文件夾里面含有__init__.py的文件夾叫包
		從我們小白的覺度來看 就是一個文件夾 啥也不是
		
	包的作用
		它的作用很容易理解 就相當于我們電腦 C盤主要放系統(tǒng)文件 D盤主要放500G的學習資料
		內部可以存放多個py文件(模塊文件)  僅僅是為了更加方便的管理模塊文件
		
	具體使用
		import 包名
		注意導入包名主要看__init__.py文件 就相當于這個文件夾的父文件夾
		這個文件里面有什么文件你才能用什么文件 導入包里面其他py 文件會直接報錯的
		其實也可以跨過__init__.py直接導入包里面的模塊文件 那就是直接指名道姓 導入包里面的模塊

注意包跟文件夾長的不一樣

三、編程思想的轉變

經過我們這一個月的學習也從小白算是剛剛進入入門了 也對編程有一個轉變了 現在說說這個過程 總共分為三個階段

	小白階段
		剛開始學我們只會按照需求從上往下堆代碼跟拉面條似的		單文件
		
	函數階段
		將代碼按照不同的功能封裝成不同的函數					單文件
		
	模塊階段
		根據不同的功能拆分不同的模塊文件						多文件


	小白階段相當于我們將所有娛樂學習文件放在C盤里面并且還不分類不堪入目
	函數階段相當于將所有的文件在C盤里面分類好了 游戲是游戲 學習是學習
	模塊階段相當于將所有的文件按照類型分類到其他DEFG盤
	這就是我們一個思想的轉變 目的就是為了更加方便快捷的管理資源


四、軟件開目錄規(guī)范

	針對上述的第三個階段 分模塊文件多了之后還需要有文件夾
	我們所使用的所有的程序目錄都有一定的規(guī)范(有多個文件夾)

	1.bin文件夾		
		用于存儲程序的啟動文件   		start.py
	2.conf文件夾
		用于存儲程序的配置文件    		settings.py
	3.core文件夾
		用于存儲程序的核心邏輯    		src.py
	4.lib文件夾
		用于存儲程序的公共功能    		common.py
	5.db文件夾
		用于存儲程序的數據文件    		userinfo.txt
	6.log文件夾
		用于存儲程序的日志文件    		log.log
	7.interface文件夾
		用于存儲程序的接口文件			user.py order.py goods.py
	8.readme文件(文本文件)
		用于編寫程序的說明、介紹、廣告 類似于產品說明書
	9.requirements.txt文件
		用于存儲程序所需的第三方模塊名稱和版本

	注意我們在創(chuàng)建文件的時候命名可以不完全遵循上面的命名
	database文件夾我們后面講到項目就會被數據庫軟件代替掉
	log文件我們后降到項目也會被專門的日志服務代替掉

在這里插入圖片描述

在這里插入圖片描述

五、常見內置模塊


		1.collections模塊
			1>.namedtuple
				from collections import namedtuple						導入模塊namedtuple
				Point = namedtuple('LebronJames', ['號碼1', '號碼2'])	按照位置輸入K
				res = Point(6, 23)										按照位置順序輸入V
				print(res)
				
				'''中括號內可以輸入多個值以逗號隔開即可 也可以多次賦值 撲克牌原理來至于此'''
				
				from collections import namedtuple
				p = namedtuple('撲克牌', ['花色', '點數'])
				res1 = p('?', '6')
				res2 = p('?', '6')
				res3 = p('??', '6')
				res4 = p('??', '6')
				
				print(res1)
				print(res2)
				print(res3)
				print(res4)

在這里插入圖片描述


			2>.deque		雙端隊列
				from collections import deque
				A = deque()				
				A.append(111)							向空集合中追加111
				A.append(222)							向空集合中追加222
				A.append(333)							向空集合中追加333
				A.appendleft(444)						向空集合中左邊追加444
				print(A)
				print(A[3])								索引取值第三個數據值
				

在這里插入圖片描述


			3>.orderedict	 有序字典
				from collections import OrderedDict
				d = dict([('a', 1), ('b', 2), ('c', 3)])			我們正常的無需字典
				print(d)
				od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])	模塊里面的有序字典
				print(od)											驗證辦法就是從cmdpython2.7中驗證	
				

在這里插入圖片描述


			4>.counter
				我們已知一個字符串我們想知道里面各個字符出現了多少次!
				res = 'abcdeabcdabcaba'		
							
				普通方法:
						res = 'abcdeabcdabcaba'
						new_dict = {}						新建一個空列表
							for i in res:					循環(huán)字符串
							    if i not in new_dict:		如果不在空列表里面
							        new_dict[i] = 1			列表新一個
							    else:
							        new_dict[i] += 1		如果在+1
							print(new_dict)
				
				counter:
						from collections import Counter		導入模塊
						res = 'abcdeabcdabcaba'				
						res1 = Counter(res)					使用counter統(tǒng)計詞頻
						print(res1)		
											

在這里插入圖片描述

		2.time模塊
			1>.time.time()		時間戳
				import time
				print(time.time())
			
			2>.time.gmtime()	結構化時間
				import time
				print(time.gmtime())
				
			3>.time.strftime()	格式化時間
				import time
				print(time.strftime('%Y-%m-%r %H-%M-%S'))
				print(time.strftime('%Y-%m-%r %X'))			%X偷懶縮寫時分秒
				'''注意前面首字母大寫年 后面月日小寫 時分秒大寫 都是因為單詞縮寫首字母開頭'''

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

本文僅講了導入路徑、包、開發(fā)規(guī)范、常見內置模塊的個人理解,技術小白記錄學習過程,有錯誤或不解的地方請指出,如果這篇文章對你有所幫助請點贊收藏+關注 謝謝支持!


原文鏈接:https://blog.csdn.net/MeiJin_/article/details/125784386

欄目分類
最近更新