下面介绍下Python import与from import使用,具体内容如下所示:
Python程序可以调用一组基本的函数(即内建函数),比如print()、input()和len()等函数。Python本身也内置一组模块(即标准库)。每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等。
一、import语句
在开始使用一个模块中的函数之前,必须用import语句导入该模块。
语法:
import module1[, module2[,... moduleN]]
实例:
1、使用random模块ranint() 函数:
1
2
3
4
5
|
# 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模块下的所有函数:
1
2
3
|
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
但今天遇到了问题了。
1
2
3
|
from sklearn import datasets
a = datasets.load_digits()
print (a)
|
这个代码没问题
但是下面这个代码居然提示错误
1
2
3
|
import sklearn
a = sklearn.datasets.load_digits()
print (a)
|
提示错误是:AttributeError: module 'sklearn' has no attribute 'datasets'
什么鬼,看不懂,不是说import sklearn 后应该可以通过点.来访问sklearn里的所有内容吗,就像numpy中那样。初学者,不懂,求大神解释下,不胜感激!!
这样也报错
1
2
3
4
|
import sklearn.datasets
a = datasets.load_digits()
print (a)
NameError: name 'datasets' is not defined
|
总结
以上所述是小编给大家介绍的Python import与from import使用及区别介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/Jimc/archive/2018/09/06/9597601.html