欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中import主要作用和使用場(chǎng)景

 更新時(shí)間:2025年05月07日 09:25:11   作者:aobulaien001  
本文主要介紹了Python中import主要作用和使用場(chǎng)景,通過import,可以導(dǎo)入模塊和模塊中定義的內(nèi)容,擴(kuò)展Python的功能,具有一定的參考價(jià)值,感興趣的可以了解一下

一、前言

寫過 Python 的猿猿肯定對(duì) import 不陌生。但 Python 在 import module 時(shí)會(huì)執(zhí)行相關(guān)的代碼,你知道嗎? Python import 還有其他的什么特性呢?通過這一篇文章,徹底掌握 Python import

二、Python import 詳解

2.1 Python import 介紹

在Python中,import是用于導(dǎo)入模塊和模塊中定義的變量、函數(shù)、類等內(nèi)容的關(guān)鍵字import的作用是擴(kuò)展Python的功能,并允許在代碼中使用其他模塊提供的功能。

2.2 Python import 例子

下面是import的主要作用和使用場(chǎng)景,并給出相應(yīng)的例子:

  • 導(dǎo)入模塊:使用import可以導(dǎo)入一個(gè)完整的模塊,以便在代碼中使用該模塊中定義的功能。例如:
import math

print(math.pi)  # 使用math模塊中的常數(shù)pi
  • 導(dǎo)入模塊中的特定內(nèi)容:使用from module import name語法可以導(dǎo)入模塊中的特定函數(shù)、變量或類,以便直接在代碼中使用,而不需要使用模塊名稱作為前綴。例如:
from math import sqrt

print(sqrt(16))  # 直接使用sqrt函數(shù),無需使用math.sqrt
  • 給導(dǎo)入的模塊或內(nèi)容起別名:使用import module as aliasfrom module import name as alias語法可以為導(dǎo)入的模塊或內(nèi)容指定一個(gè)別名,以便在代碼中使用更短的名稱。例如:
import numpy as np

print(np.array([1, 2, 3]))  # 使用別名np代替numpy
  • 導(dǎo)入模塊中的所有內(nèi)容:使用from module import *語法可以導(dǎo)入模塊中的所有內(nèi)容,使其在代碼中直接可用。但這種做法通常不被推薦,因?yàn)樗鼤?huì)導(dǎo)致命名沖突和可讀性問題。例如:
from math import *

print(sin(pi/2))  # 直接使用導(dǎo)入的sin和pi,但不推薦這種寫法

這些是import的主要作用和使用場(chǎng)景。通過導(dǎo)入其他模塊,可以擴(kuò)展Python的功能,并重用已有的代碼。使用合適的導(dǎo)入方式和別名,可以使代碼更加簡潔和可讀。

2.3 Python import 進(jìn)一步解釋

2.3.1 Python import module

在Python中,當(dāng)一個(gè)模塊被導(dǎo)入時(shí),模塊中的代碼會(huì)被執(zhí)行。然而,模塊中的代碼只會(huì)在第一次導(dǎo)入時(shí)執(zhí)行一次。之后,如果再次導(dǎo)入同一個(gè)模塊,Python解釋器會(huì)直接使用已經(jīng)加載的模塊,而不會(huì)再次執(zhí)行模塊中的代碼。

這種行為是為了確保**模塊中的代碼只會(huì)被執(zhí)行一次****,以避免重復(fù)執(zhí)行相同的操作。通過導(dǎo)入模塊,我們可以在需要時(shí)使用其中定義的函數(shù)、類和變量,而不必重新執(zhí)行模塊中的代碼。

值得注意的是,如果在模塊中存在全局級(jí)別的可執(zhí)行語句(例如函數(shù)定義以外的代碼),則在導(dǎo)入時(shí)會(huì)執(zhí)行這些語句。因此,模塊的導(dǎo)入可能會(huì)觸發(fā)一些副作用操作,例如打印輸出或初始化全局變量。

比如:創(chuàng)建test1.py

print("我是 test1,我被執(zhí)行了")

def say_hello():
    print("hello world test1")

再創(chuàng)建 test2.py

def say_hello():
    from test import test1
    test1.say_hello()

if __name__ == '__main__':
    for i  in range(10):
        say_hello()

執(zhí)行 test2.py 輸出

我是 test1,我被執(zhí)行了
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1
hello world test1

2.3.2 Python import package

在Python中,當(dāng)導(dǎo)入一個(gè)包(package)時(shí),包本身不會(huì)被執(zhí)行。只有在使用該包中的模塊或?qū)ο髸r(shí),才會(huì)執(zhí)行相應(yīng)的代碼。

當(dāng)導(dǎo)入一個(gè)包時(shí),Python解釋器會(huì)查找并執(zhí)行該包下的__init__.py文件。__init__.py文件可以包含一些初始化代碼,用于設(shè)置包的環(huán)境、導(dǎo)入子模塊或執(zhí)行其他需要在導(dǎo)入時(shí)執(zhí)行的操作。但這些代碼只會(huì)在首次導(dǎo)入包時(shí)執(zhí)行一次。

例如,假設(shè)我們有一個(gè)名為my_package的包,它的結(jié)構(gòu)如下:

my_package/
    __init__.py
    module1.py
    module2.py

__init__.py文件中,我們可以放置一些初始化代碼:

print("Executing initialization code in my_package")

# 導(dǎo)入子模塊
from . import module1
from . import module2

然后,我們可以在另一個(gè)腳本中導(dǎo)入my_package包:

import my_package

print("Import completed")

運(yùn)行上述腳本,輸出如下:

Executing initialization code in my_package
Import completed

從輸出結(jié)果可以看出,在導(dǎo)入my_package包時(shí),__init__.py中的初始化代碼被執(zhí)行了一次。然后,Import completed被打印出來,表示導(dǎo)入完成。

但注意,這里的執(zhí)行是指__init__.py中的代碼被執(zhí)行,并不是包中的所有模塊都被導(dǎo)入和執(zhí)行。只有在使用my_package中的具體模塊或?qū)ο髸r(shí),才會(huì)執(zhí)行相應(yīng)的代碼。

總結(jié)起來,當(dāng)導(dǎo)入一個(gè)Python包時(shí),包本身的代碼不會(huì)被執(zhí)行,只有在使用包內(nèi)的模塊或?qū)ο髸r(shí)才會(huì)執(zhí)行相應(yīng)的代碼。 __init__.py文件中的初始化代碼會(huì)在首次導(dǎo)入包時(shí)執(zhí)行一次,可用于設(shè)置包的環(huán)境和導(dǎo)入子模塊。

三、總結(jié)

介紹了 Python 中 import 關(guān)鍵字的使用方法和工作原理。通過 import ,可以導(dǎo)入模塊和模塊中定義的內(nèi)容,擴(kuò)展 Python 的功能。文章提供了導(dǎo)入模塊、導(dǎo)入模塊中的特定內(nèi)容、給導(dǎo)入的模塊或內(nèi)容起別名以及導(dǎo)入模塊中的所有內(nèi)容的例子,展示了 import 的多種用法。

此外,文章解釋了模塊的代碼只會(huì)在第一次導(dǎo)入時(shí)執(zhí)行一次的特性,以及導(dǎo)入包時(shí)執(zhí)行__init__.py文件的初始化代碼。最后,總結(jié)了導(dǎo)入包時(shí)只有在使用包內(nèi)的模塊或?qū)ο髸r(shí)才執(zhí)行相應(yīng)代碼,而__init__.py文件中的初始化代碼只會(huì)在首次導(dǎo)入包時(shí)執(zhí)行一次。

到此這篇關(guān)于Python中import主要作用和使用場(chǎng)景的文章就介紹到這了,更多相關(guān)Python import內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用tkinter改變下拉列表(Combobox)的選項(xiàng)值

    利用tkinter改變下拉列表(Combobox)的選項(xiàng)值

    這篇文章主要介紹了利用tkinter改變下拉列表(Combobox)的選項(xiàng)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • OpenCV半小時(shí)掌握基本操作之圖像輪廓

    OpenCV半小時(shí)掌握基本操作之圖像輪廓

    這篇文章主要介紹了OpenCV基本操作之圖像輪廓,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python中數(shù)據(jù)庫like模糊查詢方式

    python中數(shù)據(jù)庫like模糊查詢方式

    這篇文章主要介紹了python中數(shù)據(jù)庫like模糊查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 用python擬合等角螺線的實(shí)現(xiàn)示例

    用python擬合等角螺線的實(shí)現(xiàn)示例

    這篇文章主要介紹了用python擬合等角螺線的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python中的單行、多行、中文注釋方法

    Python中的單行、多行、中文注釋方法

    今天小編就為大家分享一篇Python中的單行、多行、中文注釋方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python中的與時(shí)間相關(guān)的模塊應(yīng)用場(chǎng)景分析

    python中的與時(shí)間相關(guān)的模塊應(yīng)用場(chǎng)景分析

    本文介紹了Python中與時(shí)間相關(guān)的幾個(gè)重要模塊:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateutil`,并詳細(xì)闡述了每個(gè)模塊的主要功能和使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-12-12
  • python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn)

    python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn)

    這篇文章主要介紹了python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制

    python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 利用Python讀取Excel表內(nèi)容的詳細(xì)過程

    利用Python讀取Excel表內(nèi)容的詳細(xì)過程

    python有多種方式可以去讀取excel文檔的內(nèi)容,下面這篇文章主要給大家介紹了利用Python讀取Excel表內(nèi)容的詳細(xì)過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Python簡單格式化時(shí)間的方法【strftime函數(shù)】

    Python簡單格式化時(shí)間的方法【strftime函數(shù)】

    這篇文章主要介紹了Python簡單格式化時(shí)間的方法,結(jié)合實(shí)例形式分析了Python使用strftime函數(shù)進(jìn)行時(shí)間格式化的操作技巧,需要的朋友可以參考下
    2016-09-09

最新評(píng)論