python import 和from import 区别 10C

上网查了一下,貌似是一个简单问题,网上都是这么说的,我之前也是这么理解的:

假设有一个包名字叫 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

1

9个回答

module和package是不一样的,sklearn是package,一般导入是采用‘from sklearn import xxx',module是采用import module,这是因为package是单个或多个module组合而成,所以如果直接采用import package,终端会混乱导致error

4
xiaolinc
xiaolinc package里面可以有子包,package 与 package 是通过点的形式访问。本来这样设计的目的就是形成有层次的组织结构,把有联系的模块组合到一起。
一年多之前 回复
xiaolinc
xiaolinc 回复CSDN_black: package里面可以有子包,package 与 package 是通过点的形式访问。本来这样设计的目的就是形成有层次的组织结构,把
一年多之前 回复
daniaokuye
库页 可以查看库函数的文件结构,除非是自己写的,不然不会有太多文件夹的嵌套
一年多之前 回复
CSDN_Black
csdn_black 多谢回答,就是还有一个问题,是不是package里有可能还有package,我怎么区分呢?假设sklearn里还包括一个package B,B里面有module C,我是①from sklearn.B import C吗?若是的话,就是说明在from时候,package与package之间可以通过点的形式访问,是这样吗?感觉python这样弄好混乱,不好分清module与package。十分期望您的回答,万分感谢
一年多之前 回复

显然sklearn引用不正确

0
daniaokuye
库页 sklearn可以看成一个文件夹,dataset是里面的一个py文件
一年多之前 回复
weixin_41812046
weixin_41812046 能不能说的再详细点。。。sklearn不能直接improt吗??
一年多之前 回复
Chuang_Viss
Chuang_Viss 回复CSDN_black: sklearn是一个包,datasets是一个类, loaddigit是类里的一个函数,你要使用函数loaddigit就需要调用datasets而不是sklearn
一年多之前 回复
CSDN_Black
csdn_black 回复CSDN_black: sklearn 不能直接import,为什么可以from sklearn import *?感觉好奇怪啊
一年多之前 回复
CSDN_Black
csdn_black 能不能说的再详细点。。。sklearn不能直接improt吗??
一年多之前 回复

1.当模块test.py中没有类,只有方法add,此方法实现传入的数字+1功能

(1)如果使用import导入:import test

调用方法:test.add(1)

(2)使果用form...import导入:from test import *

调用方法:add(1)

2.当模块test.py中有类,类名为cal,类中有方法add,此方法实现传入数字+1功能

(1)如果使用import导入:import test

调用方法:test.cal().add(1)

(2)如果使用from...import导入:from test import *

调用方法:cal().add(1)

0

import 是导入整个模块,from import是从模块中导入指定的符号等内容

0

**import socket 的话要用socket.AF__INET

from socket import*是把socket下所有名字引入当前名称空间**

0

用点号访问的时候,需要用module,而sklearn 是包,datasets是模块。

0

import numpy是引入numpy模块包,from numpy import * 是从numpy中引入这个numpy的一部分

0

引包有这两种形式是有原因的

主要目的是为了防止内存溢出,也就是说你调的东西太多了都加载进来了,但是运行状态却不好,很多东西都没有用到

为什么会报错

其实原理很简单,拿工具箱来做比方,工具箱里有很多工具,我们想用一个特定的扳手,有两种方式,一种是把工具箱带上,工具箱里用,直接拿来用,另一种是我们只带上工具箱里的扳手,用到它的时候直接用了。
两者的主要区别是,前者带的东西多,里面内容丰富,想用什么拿什么,但是你带的工具箱也很重,后者只能用这个扳手,如果你还想用另一个型号的扳手,就需要把另一个扳手也带上。

从代码层面上说,后者写的代码多,前者写的代码少
在内存层面说,后者较前者能减少内存占用,运行不会出现内存溢出的情况。

如何解决

用到什么方法,就调什么包好了,如果一个包里只用几种方法,可以通过from 方法 import 方法1,方法2,方法3的形式来引用
##注意
如果在方法名的后面写上空格,则代表给这个方法起了一个别名,在程序里用的时候,既可以使用原名,也可以使用别名。

0

数据库里面可以保存页面的html,图片在里面也只是以src存在,是网络路径,所以其实数据库里面没必要保存图片。只需要保存图片的地址即可。

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python基础 - from import方法与import方法的区别
比如我们导入一个数学计算的模块 math:>>> import math >>> print(math) <module 'math' (built-in)> >>> print(math.pi) #导出圆周率的值 3.14159265359 我们导入math模块,则会得到名math的对象,这个模块对象包含了pi这样的常量,以及一些其它的方法。我们如果直接访问 pi,不加math这个前缀
python下import 和from导入模块的区别
import导入模块时会把模块加载到内存中.当有一个程序再次使用import 导入模块时,会直接使用已经加载在内存中的模块.如果第一次导入模块修改了模块的数据, 那么第二次导入模块的时候,会是修改后的模块from 导入模块时会把模块加载到内存中,当有一个程序再次使用from导入模块时,会再次在内存中开辟空间导入模块.如果第一次导入模块修改了模块数据,那么第二次导入模块的时候不会是修改后的模块结论:...
python中import和from 。。。import。。。的区别
在python中导入模块时有两种方法: 1.import A A为模块名,直接使用import导入整个模块A,调用模块A其中的某个方法、变量B使用以下形式:  A.B 2.from A import B A为模块名,B为模块A中的某个类、方法或者变量等,调用B直接使用以下形式:  B 备注: from A import *: 导入模块A中的所有内容,这样的缺点是不清楚具体导入了A的哪些...
Python import与from import使用及区别介绍
https://www.jb51.net/article/146986.htm 下面介绍下Python import与from import使用,具体内容如下所示: Python程序可以调用一组基本的函数(即内建函数),比如print()、input()和len()等函数。Python本身也内置一组模块(即标准库)。每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,...
学习Python:import和import…from的区别
原文:http://www.note4u.info/archives/213 在python用import或者from…import来导入相应的模块。模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这 类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。 #
小米应用商城爬取
使用python爬取小米商城,import requests from multiprocessing import Queue from threading import Thread import json import time import urllib.parse
python2710.chm
源代码#!/usr/bin/env python import sys from lib2to3.main import main sys.exit(main("lib2to3.fixes")) #!/usr/bin/env python import sys from lib2to3.main import main sys.exit(main("lib2to3.fixes"))
注意import和from import 的区别
注意python中import和from import 的区别 首先明确:尽量不要为了图省事使用from xxx import * python中有两种导入模块的方式,一种是import xxx,另一种是from xxx import yyy,两者的区别在于,第一种仅仅导入一个模块,没有在当前的命名空间中导入变量,需要通过xxx.yyy的方式使用导入模块中的变量、函数、类等; 第二种则将模块中的变...
模块import导入与from-import导入的区别
模块import导入与from-import导入的区别首先展示import导入方式代码部分新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchar...
多线程腾讯招聘爬虫
使用多线程实现python爬取腾讯招聘信息 使用模块 import requests from bs4 import BeautifulSoup import threading from queue import Queue#引用队列 import time
pygame 2D 向量模块
下载到python安装目录下,使用时import vec2d 或from vec2d import Vec2d 或from vec2d import Vec2d as 平面
python的模块和包机制:import和from..import..
写python一段时间了,但是对import和from import却没有深刻的认识。借由官方文档https://docs.python.org/2/tutorial/modules.html,和stackoverflow上的回答对这两个导入语句有了一些了解。 一. 两个概念: 1.module A module is a file containing Python definitions
[第二章]Python中import引用函数库两种方式区别
使用import应用函数库有两种方式,但对函数的使用方式略有不同 第一种引用函数库的方法如下: import <库名> 此时,程序可以调用库名中的所有函数,使用库中函数的格式如下: <库名>.<函数名>(<函数参数>) 引入turtle 以绘制蟒蛇的代码为例: #e2DrawPython.py import turtleturtle.setup(650,350,200,200) turt
Python编程外星人
Python编程从入门到实践外星人 import sys import pygame from settings import Settings from ship import Ship def run_game(): #初始化pygame、设置和屏幕对象 pygame.init()
【Python】使用 multiprocessing.dummy 执行多线程任务
# -*- coding: utf-8 -*- from multiprocessing.dummy import Pool as ThreadPool import time import urllib2 urls = [ 'http://www.python.org', 'http://www.python.org/about/', 'http://www.onl
Django中urls与path的区别,启动Django报错400
启动django后,不能访问,报400错误。 原因:没有开启允许访问 处理:编辑HelloWorld目录下setting.py ,把其中的 ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*'] ##* 表示任意地址。     在使用Django的时候,多次遇到urls与path,不知道两者有什么区别。下面简单介绍一下两者 在django&amp;gt;=2.0的版本,u...
matplotlib的常用的两种方式以及pylab
pylab不推荐使用的原因:pylab更接近于MATLAB,这是毋庸置疑的,但是使用pylab会逐渐背离matplotlib的学习,这与初衷想反,当然,还有其他的原因,没有研究。 三种方式的实现代码 pyplot的方式 #!/usr/bin/python #coding: utf-8 import numpy as np import matplotlib.pyplot a
FM demodulation
python编写代码,库如下: #jis6cd #Jessica Shaughnessy from pylab import * #import Matplotlib import numpy as np #import scipy.signal as signal import sounddevice as sd import scipy.io.wavfile as writer
python中的绝对导入与相对导入,from __future__ import absolute_import的区别
python中的绝对导入与相对导入,from future import absolute_import的区别
从Python的两种导入模块(from import和import)方式谈命名空间与作用域
  在谈论python命名空间之前,首先介绍一个因为python命名空间引起的坑。 一、问题实例项目中使用pyqt编写gui,gui在处理文本文件时使用了10进制转16进制的hex函数代码片段:from PyQt4.QtCore import * print hex(10)期望的输出为0xa,但实际上运行的时候报错TypeError: hex(QTextStream): argument 1 h...
turtle模块不能正常使用的解决方法,和 python中import turtle 和 from turtle import*的分别
import 导入模块,每次使用模块中的函数都要是定是哪个模块。 from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了; 但是在实际应用中遇到了问题:我用的是python3.6版本,开发工具pycharm 当导入 from turtle import *时出错,改为import turtle 就正常了,但是问题来了,此时代码的格式这时候就要改变了。 ...
python爬虫系列(2)—— requests和BeautifulSoup库的基本用法
本文主要介绍python爬虫的两大利器:requests和BeautifulSoup库的基本用法。
python中的random模块中的randint模块和numpy中random模块的randint的区别
今天从网上down了一个代码下来看看,结果发现运行结果不一样,最后才发现是随机数的问题。在这里Mark一下、 在Python中,通过import random,然后调用random.randomint(a,b)的到的数为(a 在numpy中的random模块中,调用random.randint(a,b)得到的是 ( a 话不多说,上代码: >>> from numpy import r
Python_使用smtplib和email模块发送邮件
SMTP (Simple Mail Transfer Protocol)   邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件。大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP协议。SMTP协议的默认TCP端口号是25。   SMTP协议的一
dnn房价预测
# coding: utf-8 import tensorflow as tf from sklearn.datasets import load_boston import matplotlib.pyplot as plt from sklearn.preprocessing import scale from sklearn.model_selection import train_test_split
python 经验: from x import * 影响全局变量使用
最近写 python 程序, 发现一个比较 trick 的地方 -------------------------   a.py ------------------------- PWD = None def func1():     global PWD     PWD="pwd"     print "PWD in func1 is: " + PWD -----
关于python2与python3一些导包的区别
python2   ----------------------------------------------------&amp;gt;&amp;gt;  python3 import urlparse import urllib.parse urllib2 import urllib.request robotparser urllib.robotpa...
from 和 import 导入的区别
from 和 import 导入的区别 import 导入一定能实现变量的全局共享 from 导入不一定能实现变量的全局共享,只有定义的是可变类型才能全局共享,不变类型无法全局共享,类似于全局变量和局部变量 在实际开发中,应该选择使用 from xx import yy 这种精准的导入方式 不推荐使用 from xx import * 这种导入方式 缺点一 :如果导入的模块变量太多则会占用大量...
import 模块和from 模块 import 函数名的区别
使用import引用模块,在调用的时候需要先写文件名称再写哪一个函数:Add.addAdd.py def add(a): print(sum(a)) -------------------- use.py import Add Add.add([1,2]) &amp;gt;&amp;gt;&amp;gt;3使用from...import...调用函数时就无需使用句点。由于我们在import语句中显式地导入了函数...
import自定义函数中,python2 和python3的不同
一种情况:假如你有一个脚本函数a.py和b.py存放在file文件夹中。当你想调用a函数时。写作:import file.a。但如果a.py需要调用b.py函数的话,在python2环境下a.py文件中直接用import b即可。但python3文件中a.py要调用b文件需要改写成import file.b。否则会出现no module named b
26 动态import,只是可以在config直接修改import 哪个模型了,挺好的
https://github.com/lfz/DSB2017 这里面用到的其实就是相当于import了一下from config_submit import config as config_submitconfig_submit['detector_model'].split('.py')[0]'net_detector' from importlib import import_modulen
from与import之间的区别
实例: 模块foo.py的内容: yuqiu@w1-01-11-0492:~$ cat foo.py #!/usr/bin/python # Filename: foo.py bar='hello' print bar 先用from导入模块: >>> from foo import bar hello  #说明模块已经被执行了一次,from和import都会对模块里的语句
python中Iterable类型调用时包导入时from collections import Iterable执行报错问题解惑
最近刚刚接触python,找了一些资料,在慢慢学基础,今天遇到一个问题,其实是介绍关于用 Iterable中isinstance方法判断一个对象是否可以迭代时,要先导入包,好多资料介绍的都是from collections import Iterable,可是我执行的时候报错,必须用from collections.abc import Iterable才可以。这个报错提示还是比较明显的,根据这个...
Python天气爬虫代码
from bs4 import BeautifulSoup import requests import re import os
详解Python中的from..import绝对导入语句
相对或者绝对import 更多的复杂部分已经从python2.5以来实现:导入一个模块可以指定使用绝对或者包相对的导入。这个计划将移动到使绝对的导入成为默认的细节在其他版本的python中。我们假设你有一个包目录,像下面这样:1234pkg/pkg/__init__.pypkg/main.pypkg/string.py上面定义了一个包称为 pkg 包含 pkg.main 和pkg.string 两...
python xlrd
python excel必备模块 import sys, zipfile, pprint from . import timemachine from .biffh import ( XLRDError, biff_text_from_num, error_text_from_code, XL_CELL_BLANK, XL_CELL_TEXT, XL_CELL_BOOLEAN, XL_CELL_ERROR, XL_CELL_EMPTY, XL_CELL_DATE, XL_CELL_NUMBER )
【python学习笔记】45:认识Matplotlib和pyecharts数据可视化
学习《Python3爬虫、数据清洗与可视化实战》时自己的一些实践。 Matplotlib数据可视化 数据准备 import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv(&quot;E:/Data/practice/taobao_data.csv&quot;) # 求不同位置的产品的数值字段(价格,成交量)的均值,然后按成交量降序 df...
python小程序:excel/csv数据入库
python处理excel或csv数据入库;处理csv需要引入相应的包import csv;处理excel则引入import xlrd;from Sqlhelper_excel(python文件名) import SqlHelper(类)
python的包导入问题(一)from . import 的使用
必备知识:from . import,“.”  代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数一、问题描述:工作项目内的__init__文件初始化一个函数func,同一工作目录的 ccc模块 调用该函数,可以用:(1)from file03 import func(2)from . import func然后执行func(),让ccc执行时,打印‘----’但是使用 第(2)种方法调用...
Python之路——input、import和函数
今天主要说三个东西,一个是用户输入,一个是函数,一个是import关键字的使用,函数是重点。 输入语句: input(“提醒用户输入的语句:”) 一般定义变量保存用户输入的内容方便以后使用 name = input(&quot;请输入你的名字:&quot;) 注意: Python2.7中,输入用 raw_input() 默认情况下,python获取用户输入的是一个字符串 怎么转数值呢?举个例子: height =...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据与深度学习区别 机器学习和大数据区别