Python import与from import使用及区别介绍

yipeiwu_com7年前Python基础

下面介绍下Python import与from import使用,具体内容如下所示:

Python程序可以调用一组基本的函数(即内建函数),比如print()、input()和len()等函数。Python本身也内置一组模块(即标准库)。每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等。

一、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使用及区别介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python从sqlite读取并显示数据的方法

本文实例讲述了python从sqlite读取并显示数据的方法。分享给大家供大家参考。具体实现方法如下: import cgi, os, sys import sqlite3 as d...

Python3非对称加密算法RSA实例详解

本文实例讲述了Python3非对称加密算法RSA。分享给大家供大家参考,具体如下: python3 可以使用 Crypto.PublicKey.RSA 和 rsa 生成公钥、私钥。 其中...

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。 Contours : Getting Started 轮廓 简单地解释为连接所有连续点(沿着边界)的曲线,具有相同的颜色或...

在Python中进行自动化单元测试的教程

在Python中进行自动化单元测试的教程

一、软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件测试则是保证质量的关键措施。正像软件熵(so...

TensorFLow用Saver保存和恢复变量

本文为大家分享了TensorFLow用Saver保存和恢复变量的具体代码,供大家参考,具体内容如下 建立文件tensor_save.py, 保存变量v1,v2的tensor到checkp...