溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 中import與from import有什么區別

發布時間:2021-02-04 17:48:04 來源:億速云 閱讀:337 作者:Leah 欄目:開發技術

這篇文章給大家介紹Python 中import與from import有什么區別,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、import語句

在開始使用一個模塊中的函數之前,必須用import語句導入該模塊。

語法:

import module1[, module2[,... moduleN]]

實例:

1、使用random模塊ranint() 函數:

# printRandom.py
import random
for i in range(5):
  print(random.randint(1, 10))
# result:

說明:因randint()函數屬于random模塊,必須在函數名稱之前先加上random,告訴Python在random模塊中尋找這個函數。

2、導入多個模塊:

import math, sys, random, os

二、from import語句

這是導入模塊的另一種形式,使用這種形式的 import 語句, 調用 模塊中的函數時不需要  moduleName. 前綴 。但是,使用完整的名稱會讓代碼更可讀,所以最好是使用普通形式的 import 語句 。

語法:

from moduleName import name1[, name2[, ... nameN]]|*

實例:

導入random模塊下的所有函數:

from random import *
for i in range(5):
  print(randint(1, 10)) # 這里就不需要random.前綴了

導入random模塊下的randint, random函數:

from random import randint, random

下面看下python import 和from import 區別

上網查了一下,貌似是一個簡單問題,網上都是這么說的,我之前也是這么理解的:

假設有一個包名字叫 numpy, 里面有一個函數 zeros

1、 from numpy import zeros

那么你可以直接調用 zeros()函數

2、import numpy.zeros

那么你只能使用全名 numpy.zeros

但今天遇到了問題了。

from sklearn import datasets
a=datasets.load_digits()
print(a)

這個代碼沒問題

但是下面這個代碼居然提示錯誤

import sklearn
a=sklearn.datasets.load_digits()
print(a)

提示錯誤是:AttributeError: module 'sklearn' has no attribute 'datasets'

什么鬼,看不懂,不是說import sklearn 后應該可以通過點.來訪問sklearn里的所有內容嗎,就像numpy中那樣。初學者,不懂,求大神解釋下,不勝感激??!

這樣也報錯

import sklearn.datasets
a=datasets.load_digits()
print(a)
NameError: name 'datasets' is not defined

關于Python 中import與from import有什么區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女