5.27 day 30

知識點回顧:

  1. 導入官方庫的三種手段
  2. 導入自定義庫/模塊的方式
  3. 導入庫/模塊的核心邏輯:找到根目錄(python解釋器的目錄和終端的目錄不一致)

作業:自己新建幾個不同路徑文件嘗試下如何導入

一、導入官方庫
我們復盤下學習python的邏輯,所謂學習python就是學習python常見的基礎語法+學習你所處理任務需要用到的第三方庫

所以你用到什么學什么庫即可。學習python本身就是個偽命題,就像你說學習科目一樣,你沒說清晰你學習的具體科目是什么,也沒說學這個科目的哪些章節,畢竟每個科目都很大-----要有以終為始的思想。

所以我們這個訓練營,正確的說法是:學習借助pythob掌握深度學習和機器學習所必備的基礎知識和相關工具。

標準導入:導入整個庫
這是最基本也是最常見的導入方式,直接使用import語句。

# 方式1:導入整個模塊
import mathprint("方式1:使用 import math")
print(f"圓周率π的值:{math.pi}")
print(f"2的平方根:{math.sqrt(2)}\n")

從庫中導入特定項
當使用from語法從庫中導入特定的函數或類時,這些函數或類就可以在您的代碼中直接使用,不需要添加模塊名作為前綴。因為在導入時沒有包括模塊的完整路徑,前面也不能加上庫名。

# 方式2:導入特定的函數或變量
from math import pi, sqrtprint("方式2:使用 from math import pi, sqrt")
print(f"圓周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}\n")

類似的寫法,如sklearn庫很大,直接導入sklearn庫會占用電腦大量內存,所以一般只導入你需要的庫,

如: from sklearn.model_selection import train_test_split

非標準導入:導入整個庫
如下,●這將導入math模塊中定義的所有公開函數和變量。 ●和上述from同理,直接調用sin()、cos()等,而無需math.前綴。

雖然 import math和 from math import *看起來都是導入了?math?模塊,但它們在導入方式、作用域處理以及對命名空間的影響上有重要的區別。

命名空間的污染?import math:

這種方法會將整個?math?模塊導入到命名空間中,但是需要使用?math.?前綴來訪問模塊內的函數或變量。這種方式保持了命名空間的整潔,因為所有的?math?函數和變量都包含在?math?這個模塊對象中。?from math import *:這種方法將?math?模塊中的所有公開的函數和變量導入到當前的命名空間中,可以直接使用這些函數和變量而無需?math.?前綴。這種方式可能會導致命名空間污染,特別是當有多個模塊都被這樣導入時,很容易發生命名沖突。

明確性和可維護性?import math:

明確指出了函數和變量來源于?math?模塊,這對代碼的可讀性和維護性都是有益的。其他閱讀你代碼的人可以清楚地看到每個函數的來源,這對大型項目和團隊合作尤為重要。?

from math import *:雖然代碼看起來更簡潔,但這種方法減少了代碼的明確性。如果沒有足夠的上下文,很難判斷一個特定的函數是來自?math?模塊還是其他模塊,尤其是當你導入了多個模塊時。

from math import *print(f"圓周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}")

模塊、包的定義
模塊(Module)

本質:以?.py?結尾的單個文件,包含Python代碼(函數、類、變量等)。
作用:將代碼拆分到不同文件中,避免代碼冗余,方便復用和維護。
包(Package)

在python里,包就是庫

本質:有層次的文件目錄結構(即文件夾),用于組織多個模塊和子包。
核心特征:包的根目錄下必須包含一個?__init__.py?文件(可以為空),用于標識該目錄是一個包。
使用案例
若編寫一個計算圓面積的代碼并保存為?circle.py,這個文件就是一個模塊。

使用時通過?import circle?導入模塊,調用其中的函數(如?circle.calculate_area(5))。

# circle.py
import mathdef calculate_area(radius):return math.pi * radius ** 2

IDE(如 VSCode 或 PyCharm)通常會將你打開的項目文件夾設為“根目錄”(或者說,運行時的工作目錄)。Python 在導入模塊時,會從這個根目錄(以及其他一些標準位置和腳本所在的目錄)開始查找。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82619.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82619.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82619.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【GitHub Pages】部署指南

vue項目 編輯你的 vite.config.ts 文件,加上 base 路徑,設置為你的 GitHub 倉庫名 import { defineConfig } from vite import vue from vitejs/plugin-vue// 假設你的倉庫是 https://github.com/your-username/my-vue-app export default defineConfi…

遠程控制技術全面解析:找到適合你的最佳方案

背景:遠程控制為何成為企業核心需求? 隨著企業數字化轉型的推進,遠程控制技術已成為異地辦公和運維的關鍵工具。無論是跨國企業需要高效管理全球設備,還是中小型企業追求經濟高效的解決方案,選擇合適的遠程控制技術&a…

觸覺智能RK3506星閃開發板規格書 型號IDO-EVB3506-V1

產品概述 觸覺智能RK3506星閃開發板,型號IDO-EVB3506-V1采用 Rockchip RK3506(三核 Cortex-A7單核Cortex-M0, 主頻最高1.5GHz)設計的評估開發板,專為家電顯控、顯示HMI、手持終端、工業IOT網關、工業控制、PLC等領域而設計。內置…

九級融智臺階與五大要素協同的量子化解析

九級融智臺階與五大要素協同的量子化解析 摘要:本文構建了一個量子力學框架下的九級融智模型,將企業創新過程映射為量子能級躍遷。研究發現五大要素協同態決定系統躍遷概率(P∣?Ψ_m∣H_協同∣Ψ_n?∣^2),當要素協同…

Kotlin學習34-data數據類1

定義如下:與普通類對比學習 //普通類 class NormalClass(val name: String, val age: Int, val sex: Char) //數據類 data class DataClass(val name: String, val age: Int, val sex: Char)對應找到java反編譯的代碼路徑:Tool-->Kotlin-->Show K…

博圖SCL基礎知識-表達式及賦值運算

S7-1200 從 V2.2 版本開始支持 SCL 語言。 語言元素 SCL 除了包含 PLC 的典型元素(例如,輸入、輸出、定時器或存儲器位)外,還包含高級編程語言表達式、賦值運算和運算符。 程序控制語句 SCL 提供了簡便的指令進行程序控制。例…

海思3519V200ARM Linux 下移植 Qt5.8.0

一、移植背景及意義 海思3519V200是一款基于ARM架構的嵌入式芯片,廣泛應用于智能安防、工業控制等領域。在這些應用場景中,對設備的圖形用戶界面(GUI)有著越來越高的要求。Qt5.8.0作為一個功能強大、跨平臺的GUI開發框架,能夠幫助開發者快速開發出美觀、高效的用戶界面。…

msql的樂觀鎖和冪等性問題解決方案

目錄 1、介紹 2、樂觀鎖 2.1、核心思想 2.2、實現方式 1. 使用 version 字段(推薦) 2. 使用 timestamp 字段 2.3、如何處理沖突 2.4、樂觀鎖局限性 3、冪等性 3.1、什么是冪等性 3.2、樂觀鎖與冪等性的關系 1. 樂觀鎖如何輔助冪等性&#xf…

成都鼎訊--通信信號模擬設備?

在現代電磁通信領域,精準模擬復雜多變的信號環境,是提升通信裝備性能與人員作戰能力的核心命題。成都鼎訊以技術創新為驅動,憑借深厚的研發實力,重磅推出通信信號模擬設備,以前所未有的強大功能與卓越性能,…

C# Windows Forms應用程序-003

目錄 項目結構 命名空間和類定義 主要控件 GroupBox 控件 Label 控件 TextBox 控件 Button 控件 OpenFileDialog 控件 方法說明 構造函數 Form1() Dispose(bool disposing) Main() InitializeComponent() button1_Click(object sender, System.EventArgs e) but…

【C/C++】死鎖的四大條件與預防策略詳解

文章目錄 死鎖的四大條件與預防策略詳解一、死鎖的產生條件(四個必要條件)二、代碼示例三、死鎖的預防手段(以 C/C 為例)1. 破壞“循環等待” —— 統一加鎖順序(推薦)2. 使用 std::lock 一次性加多個鎖3. …

Rust編程環境安裝

文章目錄 Rust編程環境安裝一、安裝準備二、安裝步驟對于Linux/macOS用戶對于Windows用戶 三、驗證安裝四、環境配置檢查五、工具鏈管理六、附加功能七、常見問題處理八、編輯器支持九、其他 Rust編程環境安裝 一、安裝準備 1. 支持系統:Windows/Linux/macOS 2. 所…

OpenHarmony平臺驅動使用(五),HDMI

OpenHarmony平臺驅動使用(五) HDMI 概述 功能簡介 HDMI(High Definition Multimedia Interface),即高清多媒體接口,主要用于DVD、機頂盒等音視頻Source到TV、顯示器等Sink設備的傳輸。 HDMI以主從方式工…

【Git】Commit Hash vs Change-Id

文章目錄 1、Commit 號2、Change-Id 號3、區別與聯系4、實際場景示例5、為什么需要兩者?6、總結附錄——Gerrit 在 Git 和代碼審查工具(如 Gerrit)中,Commit 號(Commit Hash) 和 Change-Id 號 是兩個不同的…

leetcode hot100刷題日記——21.不同路徑

和20題一樣的思路link 題解&#xff1a; class Solution { public:int dfs(int i,int j,vector<vector<int>>&memo){//超過了邊界&#xff0c;return 0if(i<0||j<0){return 0;}//從&#xff08;0&#xff0c;0&#xff09;到&#xff08;0&#xff0c;0…

day2 MySQL表數據操作

一&#xff1a;數據操作 注&#xff1a;在編寫MySQL代碼時可以不用區分大小寫 1.查看表結構 desc 表名; -- 查看表中的字段類型&#xff0c;長度&#xff0c;約束。 2.字段的增加 AFTER table 表名 add 字段名 數據類型; -- 默認末尾添加 after table 表名 add 字段名 …

GitAny - 無需登入的 GitHub 最新倉庫檢索工具

地址&#xff1a;https://github.com/MartinxMax/gitany GitAny - 無需登入的 GitHub 專案搜尋工具 GitAny 是一款基於 Python 的工具&#xff0c;允許你在無需登入的情況下搜尋當天最新的 GitHub 專案。它支援模糊搜尋、條件篩選以及倉庫資料的視覺化分析。 安裝依賴 $ pip…

格恩朗金屬管浮子流量計 高精度測量的不二之選?

在流量測量的復雜領域&#xff0c;精度就是生命線&#xff0c;直接關乎生產的穩定性、產品的質量以及資源的合理利用。大連格恩朗品牌的金屬管浮子流量計&#xff0c;憑借其卓越的精度表現&#xff0c;成為各行業在流量測量時的最佳之選。? 格恩朗金屬管浮子流量計運用經典的可…

【R語言編程繪圖-箱線圖】

基本箱線圖繪制 使用ggplot2繪制箱線圖的核心函數是geom_boxplot()。以下是一個基礎示例&#xff0c;展示如何用iris數據集繪制不同物種&#xff08;Species&#xff09;的萼片長度&#xff08;Sepal.Length&#xff09;分布&#xff1a; library(ggplot2) ggplot(iris, aes(…

深度學習能取代機器學習嗎?

在人工智能領域&#xff0c;“機器學習”和“深度學習”這兩個詞經常被混為一談。很多新手甚至以為只要跟 AI 有關的任務&#xff0c;都該用深度學習。但其實&#xff0c;它們并不是誰強誰弱的關系&#xff0c;而是適合不同場景的工具。 這篇文章就來幫你理清楚&#xff1a; 機…