日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python中import的用法

發(fā)布時間:2023/12/16 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python中import的用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

import的用法

  • import的作用
    • 作用一
    • 作用二
  • 絕對導(dǎo)入與相對導(dǎo)入
  • import的其他用法

import的作用

import語句用來導(dǎo)入其他的Python文件(簡稱模塊module),使用該模塊里定義的類、方法或者變量,從而達(dá)到代碼復(fù)用的目的

作用一

建立文件架構(gòu):

如上圖,建立一個test的工作目錄,并在其內(nèi)建立兩個文件m1.py和m2.py,在m1.py寫入代碼:

在m1.py中鍵入代碼:

''' import后面直接接模塊名''' import os #第一個是sys.path(通過運(yùn)行代碼import sys;print(sys.paht)查看) #OS所在的目錄在列表sys.path中,一般安裝在python庫的目錄都可以在sys.path中找到 #所以對于安裝好餓庫我們直接使用import即可 import m2 #運(yùn)行文件(這里是m1.py)所在的目錄,因為m2.py和運(yùn)行文件在同一目錄下,所以上述寫法沒有問題 m2.printSeqlf()

在m2.py中鍵入代碼:

def printSeqlf():print(" In m2")

運(yùn)行結(jié)果如下:

說明:用上述的方法導(dǎo)入原有的sys.path是沒有問題的,但是,最好不要使用上述方法導(dǎo)入同目錄下的文件!因為這可能會出錯!

作用二

在test目錄下新建一個目錄Branch,在Branch中新建文件m3.py
如下圖所示:

在m3中鍵入代碼:

import m4 def printSelf():print("In m3")

通過以下代碼在m1中導(dǎo)入m3.py。m1中的代碼如下:

from Branch import m3 #from package_name import imort module_name。 #一般吧模塊組成的幾何稱為包(package)。 m3.printSelf()

為了測試作用一在同一子目錄下m3.py能否調(diào)用同一子目錄下的m4.py,如上圖所示在branch目錄中建立了m4.py:
代碼如下:

def printa():print("In 4")

我們在m3.py中調(diào)用m4.py
調(diào)用的代碼如下:

import m4

會報以下錯誤:

錯誤原因:
根據(jù)導(dǎo)入流程可知:
m1使用的from Branch import m3導(dǎo)入m3,然后m3.py中import 4導(dǎo)入m4,這邊可知:m4.py和m1.py不在同一個目錄下,不能直接使用import m4導(dǎo)入m4。

絕對導(dǎo)入與相對導(dǎo)入

python2中運(yùn)行m1.py不會報錯,因為python2中,上面提到的import的兩種寫法屬于相對導(dǎo)入,而在python3中,卻屬于絕對導(dǎo)入,import中最關(guān)鍵的部分是相對導(dǎo)入和絕對導(dǎo)入!
對于sys.path中的包,這種寫法不存在問題;導(dǎo)入自己寫的文件,如果是非運(yùn)行入口文件(上面的m1.py是運(yùn)行入口文件,可以使用絕對導(dǎo)入),則需要相對導(dǎo)入。
如:上面中非運(yùn)行入m3.py,導(dǎo)入m4.py使用相對導(dǎo)入:

from .import m4

此時運(yùn)行m1.py是OK的。相對導(dǎo)入的寫法:
from. import module_name:導(dǎo)入和自己同目錄下的模塊
from.package_name import module_name:導(dǎo)入和自己同目錄的包的模塊
from …import module_name:導(dǎo)入上級目錄的模塊
from …package_name import module_name:導(dǎo)入位于上級目錄下的包的模塊
每多一個點多往上一層目錄

import的其他用法

①:import module_name as alias:某些的module_name名字較長,之后寫它比較麻煩,或者module_name會出現(xiàn)名字沖突,可以使用as進(jìn)行改名:import numpy as np
②:from module_name import function_name,variable_name,class_name,上面導(dǎo)入的整個模塊,有時候我們只想使用模塊中的某些函數(shù)、某些類。使用逗號,可以導(dǎo)入模塊中的多個元素。

總結(jié)

以上是生活随笔為你收集整理的Python中import的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。