Python模塊學習,模塊是,什麼

来源:https://www.cnblogs.com/xxpythonxx/archive/2022/12/26/17006077.html
-Advertisement-
Play Games

一、 含義 Cookie意為“甜餅”,是由W3C組織提出,最早由Netscape社區發展的一種機制。目前Cookie已經成為標準,所有的主流瀏覽器如IE、Netscape、Firefox、Opera等都支持Cookie。 由於HTTP是一種無狀態的協議,伺服器單從網路連接上無從知道客戶身份,怎麼辦呢 ...


模塊是一個包含所有你定義的函數和變數的文件,其尾碼名是.py。模塊可以被別的程式引入,以使用該模塊中的函數等功能。

模塊名要遵循Python變數命名規範,不要使用中文、特殊字元

先查看系統是否已存在該模塊,檢查方法是在Python交互環境執行import abc,若成功則說明系統存在此模塊

一、import語句

  • import moudle_name :導入指定的py文件,此時這個py文件被認為是一個模塊,當前腳本文件可以調用模塊中定義好的參數和函數
  • import module_name as newname :此語法可以用來簡化模塊名稱,方便隨時調用
  • from modname import name : 從模塊中導入一個指定的部分到當前命名空間中,而不是導入整個模塊
  • from modname import * : 此語法把一個模塊的所有內容全都導入到當前的命名空間,但是其會被認為是一種“拙劣實踐”

一個模塊只會被導入一次,不管執行了多少次import。這樣可以防止導入模塊被一遍又一遍地執行,在notebook中體現為第一次導入時會執行一下文件中的語句,後面再導入則不會

在較大的模塊中有很多參數與函數,為了不與當前文件中變數名混淆,最好在調用時使用modname.name的結構

import numpy as np
list1 = np.arange(10)
print(list1)

#[0 1 2 3 4 5 6 7 8 9]

二、搜索路徑

當解釋器遇到 import 語句,如果模塊在當前的搜索路徑就會被導入。 搜索路徑是一個解釋器會先進行搜索的所有目錄的列表,是由一系列目錄名組成的,Python解釋器就依次從這些目錄中去尋找所引入的模塊

搜索路徑是在Python編譯或安裝的時候確定的,安裝新的庫應該也會修改。搜索路徑被存儲在sys模塊中的path變數

sys.path 輸出是一個列表,其中第一項是空串'',代表當前目錄,即我們執行python解釋器的目錄,對於腳本的話就是運行的腳本所在的目錄

import sys
sys.path

    ['',
    'D:\software\Anaconda3\python36.zip',
    'D:\software\Anaconda3\DLLs',
    'D:\software\Anaconda3\lib',
    'D:\software\Anaconda3',
    'D:\software\Anaconda3\lib\site-packages',
    'D:\software\Anaconda3\lib\site-packages\win32',
    'D:\software\Anaconda3\lib\site-packages\win32\lib',
    'D:\software\Anaconda3\lib\site-packages\Pythonwin',
    'D:\software\Anaconda3\lib\site-packages\IPython\extensions',
    'C:\Users\wanyu\.ipython']

三、'main'

當.py文件被直接運行時,if __name__ ==’__main__'之下的代碼塊將被運行;當.py文件以模塊形式被導入時,if __name__ == '__main__'之下的代碼塊不被運行

if __name__ == '__main__':
	pass # 所需要執行的語句
# python學習交流群:711312441

四、作用域

在模塊中定義的函數與變數一般分為外部不需要的和需要的,外部需要的定義為public,正常定義即可,外部不需要的定義成private,即在變數名前加___

五、包

包是一種管理 Python 模塊命名空間的形式,採用"點模塊名稱"使用模塊的時候,不用擔心不同模塊之間的全局變數相互影響。採用點模塊名稱這種形式也不用擔心不同庫之間的模塊重名的情況

目錄只有包含一個叫做__init__.py的文件才會被認作是一個包

__init__.py可以是空文件,也可以有Python代碼,因為其本身就是一個模塊

一般推薦使用from Package import specific_submodule語句來導入包中的模塊

六、模塊通用函數

dir()函數

內置的函數 dir() 可以找到模塊內定義的所有名稱。以一個字元串列表的形式返回

如果沒有給定參數,那麼 dir() 函數會羅列出當前定義的所有名稱


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 String不可變性 String類被聲明為 final,因此它不可被繼承。 內部使用char數組存儲數據,該數組被聲明為final,這意味著value數組初始化之後就不能再指向其它數組。 String內部沒有改變value數組的方法 String類中所有修改String值的方法,如果內容沒有改 ...
  • ​ 一、前言 本篇文章內容為個人學習分享,讀代碼須知以下 樂理的基本知識,以及十二平均律(波的頻率與音高的標準),個人推薦在維基百科中搜索十二平均律表。 二、整體思想 在主函數中,將一些簡單的樂譜按照節拍,按鍵,基調,半音改變經行拆解。 然後我個人學習時,以440hz為標準的do依次類推,得到的基礎 ...
  • 家居網購項目實現08 以下皆為部分代碼,詳見 https://github.com/liyuelian/furniture_mall.git 19.功能18-添加家居到購物車 19.1需求分析/圖解 會員登錄後,可以添加家居到購物車 完成購物車的設計和實現 每添加一個家居,購物車的數量+1並顯示 1 ...
  • 怎麼用WordPress給自己搭建了一個網站?可能很多人都想擁有屬於自己的網站,這篇文章就找你怎麼利用WordPress搭建屬於自己的網站。如果你也正好有搭建個人網站的想法,那麼本文會給你一個參考,我儘量寫的比較詳細,給自己做一個記錄,也給大家一個參考。 寫在前面 在教程之前,先給大家show 一下 ...
  • 用了這麼多年的 SpringBoot 那麼你知道什麼是 SpringBoot 的 web 類型推斷嗎? 估計很多小伙伴都不知道,畢竟平時開發做項目的時候做的都是普通的 web 項目並不需要什麼特別的瞭解,不過抱著學習的心態,阿粉今天帶大家看一下什麼是 SpringBoot 的 web 類型推斷。 S ...
  • 本篇繼續對 RM 中管理 NodeManager 的部分進行深入的講解。主要有三個部分:檢查 NM 是否存活;管理 NM 的黑白名單;響應 NM RPC 請求。 ...
  • 前言 一個完整的後端請求由 4 部分組成: 介面地址(也就是 URL 地址) 請求方式(一般就是 get、set,當然還有 put、delete) 請求數據(request,有 head 跟 body) 響應數據(response) Controller 主要的工作有以下幾項: 接收請求並解析參數 ...
  • path [ pɑ:θ ] 路徑 unexpected [ˌʌnɪkˈspektɪd] 不期望的 class [klɑ:s] 類 usage [ˈju:sɪdʒ] 使用 public ['p ʌblik] 公共的,公用的 version [ˈvɜ:ʃn] 版本 private ['praivit] ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...