色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析python模塊創建和from及import使用

jf_78858299 ? 來源:梯閱線條 ? 作者:小梯子 ? 2023-02-21 14:44 ? 次閱讀

python模塊通過用python程序編寫的.py文件即可創建,通過from及import語句導入模塊來使用。

1 python模塊創建

1.1 python模塊定義

python模塊是以.py為后綴的python程序文件。

1.2 python模塊命名

python模塊名稱在導入模塊后變成變量名,所以模塊命名遵循變量命名規則。

python變量賦值時,需用到變量名,變量命名需符合一定規則。

序號 規則 描述
1 書寫規則:字母或下劃線+任意字母或下劃線或數字 以字母或下劃線開頭,之后只能接字母、下劃線、數字
2 區分大小寫 變量名S和s是兩個不同的變量
3 禁止用保留字做變量名 變量名不能和保留字相同

1.3 python擴展模塊

使用外部語言(C、C++Java)創建的python模塊,稱為擴展模塊。

導入擴展模塊同python文件模塊一樣,用import導入。

2 python模塊使用

python模塊首次導入,會執行搜索、編譯(按需)、執行三個步驟,然后保存在sys.modules字典中。

2.1 import導入模塊

用法

import module1 [as identifier1] (, module2 [as identifier2])

描述

python的import語句讀取整個模塊進行導入,import是隱性賦值語句。

import module1:模塊名module1作用

作用 描述
1 根據module1搜索模塊
2 將模塊對象賦值給module1
3 通過“module1.屬性”的方式訪問模塊屬性

as identifier1:

NO 描述
1 通過as給模塊取別名,之后通過別名訪問模塊對象屬性。
2 用as后,不可通過“模塊原名”訪問模塊屬性。
3 用as后,模塊搜索路徑存放的鍵為模塊原名,而非別名。

module1, module2:

導入多個模塊,通過逗號“,”分隔。

示例

# mod_1.py
def mod1print(val):
   print('在mod_1:{}'.format(val))
# mod_2.py
def mod2print(val):
   print('在mod_2:{}'.format(val))
# import 模塊名,通過“模塊名.屬性”訪問屬性
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> import mod_1
>>> import mod_2
>>> mod_1.mod1print(s)
在mod_1:梯閱線條
>>> mod_2.mod2print(s)
在mod_2:梯閱線條
# 模塊導入后存在sys.modules字典中,鍵為模塊名,值為模塊路徑
>>> import sys
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> sys.modules['mod_2']
'mod_2' from 'E:\\\\documents\\\\F盤\\\\mod_2.py'>
# 下面示例需重啟python idle后執行
# 導入多個模塊用逗號“,”分隔,as模塊別名賦值模塊對象
>>> import os,sys
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> import mod_1 as md1,mod_2 as md2
>>> md1
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> md2
'mod_2' from 'E:\\\\documents\\\\F盤\\\\mod_2.py'>
# 通過“別名.屬性”訪問模塊對象屬性
>>> md1.mod1print(s)
在mod_1:梯閱線條
>>> md2.mod2print(s)
在mod_2:梯閱線條
# 用as后,不可通過“模塊原名”訪問模塊屬性
>>> mod_1.mod1print(s)
Traceback (most recent call last):
 File "", line 1, in 
   mod_1.mod1print(s)
NameError: name 'mod_1' is not defined
# 用as后,模塊搜索路徑存放的鍵為模塊原名,而非別名
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
>>> sys.modules['md1']
Traceback (most recent call last):
 File "", line 1, in 
   sys.modules['md1']
KeyError: 'md1'

2.2 from導入模塊

用法

from module import var1 ([as iden1](,var2 [as iden2]))

描述

python的from語句導入模塊指定變量名。使用時直接訪問變量名,無需加模塊名。

var1:變量名。

as iden1:給變量取別名,之后使用別名訪問。

var1,var2:導入多個變量,使用逗號“,”分隔。

示例

# mod_1.py
def mod1print(val):
   print('在mod1print:{}'.format(val))
   
def mod1echo(val):
   print('在mod1echo:{}'.format(val))
# from 模塊名 import 變量名
>>> import os,sys
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> from mod_1 import mod1print
# from 導入模塊存放在sys.modules字典
>>> sys.modules['mod_1']
'mod_1' from 'E:\\\\documents\\\\F盤\\\\mod_1.py'>
# 直接訪問變量名,不需加模塊名
>>> mod1print(s)
在mod1print:梯閱線條
# 不可訪問未導入的變量
>>> mod_1.mod1echo(s)
Traceback (most recent call last):
 File "", line 1, in 
   mod_1.mod1echo(s)
NameError: name 'mod_1' is not defined

# 下面示例重啟python idle后執行
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
# 導入多個變量,用逗號“,”分隔,as 變量別名賦值
>>> from mod_1 import mod1print as m1print,mod1echo as m1echo
# 通過變量別名訪問模塊屬性
>>> m1print(s)
在mod1print:梯閱線條
>>> m1echo(s)
在mod1echo:梯閱線條
# 不可通過變量原名訪問模塊屬性
>>> mod1echo(s)
Traceback (most recent call last):
 File "", line 1, in 
   mod1echo(s)
NameError: name 'mod1echo' is not defined

2.3 from *導入模塊

用法

from module import *

描述

import *:導入模塊的全部頂層(全局)變量,可以直接訪問模塊屬性。

示例

# mod_1.py
def mod1print(val):
   print('在mod1print:{}'.format(val))
   
def mod1echo(val):
   print('在mod1echo:{}'.format(val))
   
def mod1show(val):
   print('在mod1show:{}'.format(val))
>>> import os
>>> path=r'E:\\documents\\F盤'
>>> s='梯閱線條'
>>> os.chdir(path)
>>> from mod_1 import *
# import * 導入全部頂層變量,直接訪問模塊屬性,不需模塊名。
>>> mod1print(s)
在mod1print:梯閱線條
>>> mod1echo(s)
在mod1echo:梯閱線條
>>> mod1show(s)
在mod1show:梯閱線條
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1950

    瀏覽量

    34900
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84945
  • import
    +關注

    關注

    0

    文章

    15

    瀏覽量

    1977
收藏 人收藏

    評論

    相關推薦

    python模塊安裝方法

    空間中,以上功能可寫成:#!/usr/bin/python# -*- coding: UTF-8 -*-from hello import World如果要將模塊中的所有內容全部導入當
    發表于 04-04 14:57

    python教程之如何使用XlsxWriter模塊創建aexcel表格

    本文檔的主要內容詳細介紹的是python教程之如何使用XlsxWriter模塊創建aexcel表格。
    發表于 01-18 17:01 ?10次下載
    <b class='flag-5'>python</b>教程之如何使用XlsxWriter<b class='flag-5'>模塊</b><b class='flag-5'>創建</b>aexcel表格

    python包、模塊和庫是什么

    有一個名為 demo.py 的文件,文件內容如下 name="Python編程時光"print("導入成功") 直接使用 import 語句就可以導入,導入之后,就可以使用 模塊名.變量名 的方式訪問
    的頭像 發表于 03-09 16:47 ?2350次閱讀

    python創建多線程的兩種方法

    1. 用函數創建多線程 在Python3中,Python提供了一個內置模塊 threading.Thread ,可以很方便地讓我們創建多線程
    的頭像 發表于 03-15 16:47 ?5335次閱讀

    python模塊相對導入fromimport介紹1

    無包文件**init**.py下,python通過import module導入模塊時,先搜索程序運行主目錄。 程序運行主目錄為運行的py文件所在目錄,而不是執行python.e
    的頭像 發表于 02-21 14:15 ?1055次閱讀

    python模塊相對導入fromimport介紹2

    python2.7先搜索當前包目錄,再搜索sys.path模塊搜索路徑。即先相對再絕對。 本示例在交互模式執行,非文件模式執行。
    的頭像 發表于 02-21 14:17 ?729次閱讀

    簡述python模塊importfrom及all

    python指定導入目錄路徑,稱為包導入。 通過importfrom導入包模塊。 通過**all**指定導入的模塊和導入的
    的頭像 發表于 02-21 14:20 ?1273次閱讀

    import模塊的導入方法

    import 加載的模塊分為四種類型: 使用python編寫的代碼 .py 文件 已被編譯為共享庫或 DLL 的C或C++擴展 一組模塊的包 使用C編寫并鏈接到
    的頭像 發表于 09-11 17:31 ?1268次閱讀

    rom…import導入代碼介紹

    rom…import導入 基本語法格式如下: from 模塊import 成員1,成員2,… 如果希望導入一個模塊中的所有成員,則可以采
    的頭像 發表于 09-11 17:35 ?971次閱讀

    如何實現__import__()動態導入

    python2和python3中有差異,會導致意外錯誤. 如果需要動態導入可以使用 importlib 模塊 import importliba = importlib.
    的頭像 發表于 09-11 17:38 ?1183次閱讀

    Isort:自動整理import的超實用工具教程

    ,但也支持格式化Python 2代碼。 在使用 isort 格式化你的 import 之前,你的代碼可能是長這樣的: from my_lib import Object
    的頭像 發表于 10-21 10:38 ?764次閱讀
    Isort:自動整理<b class='flag-5'>import</b>的超實用工具教程

    Isort:自動整理 import 的超實用工具教程

    ,但也支持格式化Python 2代碼。 在使用 isort 格式化你的 import 之前,你的代碼可能是長這樣的: from my_lib import Object
    的頭像 發表于 10-31 15:09 ?721次閱讀
    Isort:自動整理 <b class='flag-5'>import</b> 的超實用工具教程

    Python import Hook 實現遠程導入模塊

    所謂的模塊 導入,是指在一個模塊中使用另一個模塊的代碼的操作,它有利于代碼的復用。 也許你看到這個標題,會說我怎么會發這么基礎的文章? 與此相反。恰恰我覺得這篇文章的內容可以算是 Python
    的頭像 發表于 11-02 11:45 ?677次閱讀
    <b class='flag-5'>Python</b> <b class='flag-5'>import</b> Hook 實現遠程導入<b class='flag-5'>模塊</b>

    python如何import自己的模塊

    Python中,我們可以通過import語句來引入自己的模塊。導入自己的模塊可以提高代碼的可重用性,使代碼更加清晰和易于維護。在本文章中,我們將詳細介紹如何導入自己的
    的頭像 發表于 11-22 14:57 ?3268次閱讀

    如何使用Python編寫腳本來自動發送郵件

    發送電子郵件,我們需要使用smtplib和email模塊。smtplib模塊Python標準庫中的一部分,用于發送電子郵件。email模塊用于創建
    的頭像 發表于 12-07 11:36 ?1402次閱讀
    主站蜘蛛池模板: 男人大臿蕉香蕉大视频 | 在线天天看片免费视频观看 | 亚洲国产欧美国产综合在线 | 亚洲精品国偷拍电影自产在线 | youjizz护士| 伦理片天堂eeuss影院 | 久久伊人精品青青草原2021 | 日日干夜夜爽 | 日日干日日操日日射 | 久久高清内射无套 | 午夜AV内射一区二区三区红桃视 | 美女张开腿露尿口给男人亲 | 免费夜色污私人影院网站 | 成人精品视频99在线观看免费 | 欧美日韩亚洲综合2019 | 亚洲精品高清在线观看 | 冰山高冷受被c到哭np双性 | 99精品国产在热久久 | 伊人yinren6综合网色狠狠 | 国产欧美另类久久久品 | 欧美视频 亚洲视频 | 国产人妻人伦精品久久无码 | 久久偷拍人 | 全部免费特黄特色大片看片 | 毛片无码免费无码播放 | 日韩高清一区二区三区不卡 | 高清视频在线观看SEYEYE | 小SB几天没做SAO死了H | 四虎视频最新视频在线观看 | 国产精品97久久AV色婷婷综合 | 色播成人影院 | 快穿做妓女好爽H | 老头xxx| 一级性生活毛片 | 日本久久中文字幕 | 久久亚洲精品AV无码四区 | 国产精一品亚洲二区在线播放 | 国产精品亚洲精品久久品 | 午夜伦理一yy4480影院 | 成人在线视频观看 | 亚洲伊人精品综合在合线 |