欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于python包導(dǎo)入的三個冷門知識點

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-14 16:33 ? 次閱讀

1. 使用 __all__ 控制可被導(dǎo)入的變量

使用 from module import * 默認(rèn)情況下會導(dǎo)入 module 里的所有變量,若你只想從模塊中導(dǎo)入其中幾個變量,可以在 module 中使用 __all__ 來控制想要被其他模塊導(dǎo)入的變量。

# profile.py
name='小明'
age=18

__all__=['name']

打開 python console 驗證一下

>>> from profile import *
>>> print(name)
小明
>>> print(age)
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'age' is not defined

__all__ 僅對于使用from module import * 這種情況適用。

它經(jīng)常在一個包的 __init__.py 中出現(xiàn)。

2. 命名空間包的神奇之處

命名空間包,一個陌生的名字。

與我們熟悉的常規(guī)包不同的是,它沒有 __init__.py 文件。

更為特殊的是,它可以跨空間地將兩個不相鄰的子包,合并成一個虛擬機(jī)的包,我們將其稱之為 命名空間包。

例如,一個項目的部分代碼布局如下

foo-package/
    spam/
        blah.py

bar-package/
    spam/
        grok.py

在這2個目錄里,都有著共同的命名空間spam。在任何一個目錄里都沒有__init__.py文件。

讓我們看看,如果將foo-package和bar-package都加到python模塊路徑并嘗試導(dǎo)入會發(fā)生什么?

>>> import sys
>>> sys.path.extend(['foo-package', 'bar-package'])
>>> import spam.blah
>>> import spam.grok

當(dāng)一個包為命名空間包時,他就不再和常規(guī)包一樣具有 __file_ 屬性,取而代之的是 __path__

>>> import sys
>>> sys.path.extend(['foo-package', 'bar-package'])
>>> import spam.blah
>>> import spam.grok
>>> spam.__path__
_NamespacePath(['foo-package/spam', 'bar-package/spam'])
>>> spam.__file__
Traceback (most recent call last):
    File "", line 1, in 
AttributeError: 'module' object has no attribute '__file__'

3. 模塊重載中的一個坑

由于有 sys.modules 的存在,當(dāng)你導(dǎo)入一個已導(dǎo)入的模塊時,實際上是沒有效果的。

為了達(dá)到模塊的重載,有的人會將已導(dǎo)入的包從 sys.modules 中移除后再導(dǎo)入

就像下面這樣子

>>> import foo.bar
successful to be imported
>>>
>>> import foo.bar
>>>
>>> import sys
>>> sys.modules['foo.bar']

>>> del sys.modules['foo.bar']
>>>
>>> import foo.bar
successful to be imported

上面的例子里我使用的是import foo.bar ,如果你使用的是 from foo import bar 這種導(dǎo)入形式,會發(fā)現(xiàn)重載是同樣是無效的。

這應(yīng)該算是一個小坑,不知道的人,會掉入坑中爬不出來。

>>> import foo.bar
successful to be imported
>>>
>>> import foo.bar
>>>
>>> import sys
>>> del sys.modules['foo.bar']
>>> from foo import bar

因此,在生產(chǎn)環(huán)境中可能需要避免重新加載模塊。而在調(diào)試模式中,它會提供一定的便利,但你要知道這個重載的弊端,以免掉入坑里。
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制
    +關(guān)注

    關(guān)注

    4

    文章

    1016

    瀏覽量

    122790
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28477
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4811

    瀏覽量

    85076
收藏 人收藏

    評論

    相關(guān)推薦

    如何將python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過使用myCobot機(jī)械臂進(jìn)行QR碼視覺追蹤的實踐案例分析,介紹如何將 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?141次閱讀
    如何將<b class='flag-5'>python</b>文件<b class='flag-5'>導(dǎo)入</b>到ROS系統(tǒng)中

    Aigtek功率放大器應(yīng)用:電感線圈的知識點分享

    電磁驅(qū)動是功率放大器的一大基礎(chǔ)應(yīng)用領(lǐng)域,其中我們最常見的就是用功放來驅(qū)動電感線圈,那么關(guān)于電感線圈的這10大知識點你都知道嗎?今天Aigtek安泰電子來給大家介紹一下電感線圈的基礎(chǔ)知識。
    的頭像 發(fā)表于 01-07 15:43 ?179次閱讀
    Aigtek功率放大器應(yīng)用:電感線圈的<b class='flag-5'>知識點</b>分享

    后悔沒有早點看到:天線設(shè)計中的知識點

    Cat.1 bis R13架構(gòu),天線架構(gòu)精簡為單天線架構(gòu),去掉了分集接收天線,因此只需要一根天線。 ? 知識點: Cat.1 bis相對于Cat.1的區(qū)別是,后者為兩根天線(一根主天線,一根分集天線
    的頭像 發(fā)表于 12-24 17:11 ?531次閱讀
    后悔沒有早點看到:天線設(shè)計中的<b class='flag-5'>知識點</b>!

    接口測試?yán)碚?、疑問收錄與擴(kuò)展相關(guān)知識點

    本文章使用王者榮耀游戲接口、企業(yè)微信接口的展示結(jié)合理論知識,講解什么是接口測試、接口測試?yán)碚?、疑問收錄與擴(kuò)展相關(guān)知識點知識學(xué)院,快來一起看看吧~
    的頭像 發(fā)表于 11-15 09:12 ?396次閱讀
    接口測試?yán)碚?、疑問收錄與擴(kuò)展相關(guān)<b class='flag-5'>知識點</b>

    基本理想電路元件的三個特征是什么

    基本理想電路元件是構(gòu)成電路的基本單元,它們具有三個基本特征:電壓-電流關(guān)系、能量轉(zhuǎn)換和電路參數(shù)。以下是對這三個特征的分析: 電壓-電流關(guān)系 理想電路元件的電壓-電流關(guān)系是其最基本的特征之一。這種關(guān)系
    的頭像 發(fā)表于 08-25 09:38 ?1411次閱讀

    怎么判斷電容三點式和電感三點

    在電子電路中,電容三點式和電感三點式振蕩電路是兩種常見的振蕩電路類型,它們的主要區(qū)別在于反饋元件(電容或電感)與晶體管三個極(基極、發(fā)射極、集電極)的連接方式。 一、基本概念 1. 電容三點
    的頭像 發(fā)表于 08-21 15:57 ?2398次閱讀

    可調(diào)變阻器三個引腳怎么區(qū)分

    可調(diào)變阻器,也稱為電位器或可變電阻器,是一種可以調(diào)節(jié)電阻值的電子元件。它廣泛應(yīng)用于各種電子設(shè)備中,如音頻設(shè)備、電源管理、電機(jī)控制等。可調(diào)變阻器有三個引腳,分別是固定端、滑動端和可調(diào)端。這三個引腳
    的頭像 發(fā)表于 07-24 11:12 ?1518次閱讀

    時間繼電器應(yīng)用的三個關(guān)鍵是什么?

    時間繼電器應(yīng)用的三個關(guān)鍵:選型、安裝和調(diào)試。 一、時間繼電器的選型 確定時間繼電器的類型 時間繼電器按照工作原理可以分為電磁式、電子式和干簧式等幾種類型。電磁式時間繼電器具有結(jié)構(gòu)簡單、價格低廉、可靠性高等特點,
    的頭像 發(fā)表于 06-21 10:00 ?944次閱讀

    微波測量的三個基本參量是什么

    微波測量是電子工程領(lǐng)域中的一重要分支,它涉及到對微波信號的頻率、幅度、相位等參數(shù)的測量。在微波測量中,有三個基本參量:頻率、幅度和相位。這三個參量是微波信號的基本特征,對于微波系統(tǒng)的設(shè)計、調(diào)試
    的頭像 發(fā)表于 05-28 14:46 ?1557次閱讀

    如何判斷極管的三個極性

    極管是電子電路中的基本元件之一,其性能的好壞直接影響到整個電路的性能。而判斷極管的三個極性(基極b、發(fā)射極e、集電極c)是電路分析和設(shè)計中不可或缺的一步。下面將詳細(xì)介紹判斷極管
    的頭像 發(fā)表于 05-21 15:26 ?7110次閱讀

    籬笆三個樁——記晶體極管的發(fā)明

    籬笆三個樁——記晶體極管的發(fā)明
    的頭像 發(fā)表于 05-12 08:14 ?895次閱讀
    一<b class='flag-5'>個</b>籬笆<b class='flag-5'>三個</b>樁——記晶體<b class='flag-5'>三</b>極管的發(fā)明

    模擬電子技術(shù)知識點問題總結(jié)概覽

    給大家分享模擬電子技術(shù)知識點問題總結(jié)。
    的頭像 發(fā)表于 05-08 15:16 ?1249次閱讀
    模擬電子技術(shù)<b class='flag-5'>知識點</b>問題總結(jié)概覽

    一篇搞定DCS系統(tǒng)相關(guān)知識點

    目標(biāo)。DCS系統(tǒng)廣泛應(yīng)用于各個行業(yè),如化工、電力、制藥等。在這些行業(yè)中,DCS系統(tǒng)可以實現(xiàn)對生產(chǎn)過程的集中監(jiān)控和分散控制,提高生產(chǎn)效率和產(chǎn)品質(zhì)量,降低能耗和減少環(huán)境污染,從而保證產(chǎn)品質(zhì)量,并確保生產(chǎn)過程的安全可靠。 二.DCS系統(tǒng)知識點
    的頭像 發(fā)表于 03-26 18:40 ?1026次閱讀
    一篇搞定DCS系統(tǒng)相關(guān)<b class='flag-5'>知識點</b>

    【量子計算機(jī)重構(gòu)未來 | 閱讀體驗】第二章關(guān)鍵知識點

    本帖最后由 oxlm_1 于 2024-3-6 23:20 編輯 之所以將第二章單獨拿出來,是因為在閱讀過程中,發(fā)現(xiàn)第二章知識點較多,理解起來比較耗時間。 第二章的主要知識點: 量子
    發(fā)表于 03-06 23:17

    三個電位怎么判斷NPN還是PNP

    的極性。 一、晶體管基礎(chǔ)知識 晶體管是由半導(dǎo)體材料構(gòu)成的,其內(nèi)部包含三個區(qū)域,即基區(qū)、發(fā)射區(qū)和集電區(qū)。其中,基區(qū)是控制晶體管的區(qū)域,發(fā)射區(qū)與基區(qū)相連,而集電區(qū)與基區(qū)相接。根據(jù)這三個區(qū)域內(nèi)外的摻雜類型和極性,晶體管可
    的頭像 發(fā)表于 02-27 15:02 ?3464次閱讀