鱼C论坛

 找回密码
 立即注册
查看: 1632|回复: 22

[已解决]最近在学easygui,关于导入

[复制链接]
发表于 2020-7-4 22:37:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
上网搜easygui发现有人From eastgui import*
这和import easygui有区别吗?
麻烦大伙了*是什么模块?
最佳答案
2020-7-4 22:43:00
https://www.cnblogs.com/jcjc/p/11553703.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-4 22:38:16 | 显示全部楼层
本帖最后由 Twilight6 于 2020-7-4 22:39 编辑



* 是导入模块内全部能导入的意思

from easygui import *


使用方法时候,不用带任何前缀

import easygui


使用方法时候,必须带上前缀 easygui

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:38:41 | 显示全部楼层
本帖最后由 青出于蓝 于 2020-7-5 08:06 编辑

from导入比直接import导入要全
*就是导入全部函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-4 22:39:14 | 显示全部楼层
Twilight6 发表于 2020-7-4 22:38
* 是导入模块内全部能导入的意思

有区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-4 22:39:45 | 显示全部楼层
青出于蓝 发表于 2020-7-4 22:38
from导入比直接import导入要全
*就是导入全部函数
甲鱼大力推荐from

仅仅又是from比import全吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:39:52 | 显示全部楼层

重新编辑了~ 你看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:40:19 | 显示全部楼层
青出于蓝 发表于 2020-7-4 22:38
from导入比直接import导入要全
*就是导入全部函数
甲鱼大力推荐from


甲鱼哥并不大力推荐 这种导入!

他推荐的是 用 as 来替代前缀的那种导入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:42:03 | 显示全部楼层
各有利弊吧,这from导入的全面啊,相对简洁。
但是from导入内部函数容易被当做函数覆盖。
而import有as,也相对好用。
我喜欢from,甲鱼在tkinter都用的from(我记得)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:43:00 | 显示全部楼层    本楼为最佳答案   
https://www.cnblogs.com/jcjc/p/11553703.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:43:26 | 显示全部楼层
pyrhon萌新# 发表于 2020-7-4 22:39
仅仅又是from比import全吗


from 可以从某个 模块单独导入某种方法,如果是 * 那么导入可以导入的方法,但是很有可能有许多方法还是没有导入比如 tkinter 的许多组件

import 比 from 导入的更多,但是就是前缀都要带上模块名,或者 as 后的替代名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:44:29 | 显示全部楼层
青出于蓝 发表于 2020-7-4 22:43
https://www.cnblogs.com/jcjc/p/11553703.html



自己的都查出来为什么了:

为什么不建议使用 “from * import ”
  在实战中, “from module import * ” 不是良好的编程风格,如果使用 from 导入变量,且那些变量碰巧和作用域中现有的变量名同名,那么变量就会悄悄覆盖掉,使用 import 语句时后就不会发生着中问题,因为我们是通过模块名才获取的变量名,像 module attr 不会和现有的作用域的 attr 冲突。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:45:20 | 显示全部楼层
Twilight6 发表于 2020-7-4 22:43
from 可以从某个 模块单独导入某种方法,如果是 * 那么导入可以导入的方法,但是很有可能有许多方法还 ...

tkinter第二课我记得非常清楚,甲鱼老湿说有些模块import导入不全,建议用from导入。
所以甲鱼老湿就用的from导入的tkinter
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:45:24 | 显示全部楼层
青出于蓝 发表于 2020-7-4 22:42
各有利弊吧,这from导入的全面啊,相对简洁。
但是from导入内部函数容易被当做函数覆盖。
而import有as, ...

import 导入全面,from 导入并不全面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:46:13 | 显示全部楼层
随个人喜好吧,这两个都行,利弊我也都说了。我建议推荐from导入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-4 22:46:38 | 显示全部楼层
青出于蓝 发表于 2020-7-4 22:45
tkinter第二课我记得非常清楚,甲鱼老湿说有些模块import导入不全,建议用from导入。
所以甲鱼老湿就用 ...




晕, 不多说了,总而言之 from xxx import * 这种导入方式不是不推荐,就是有些地方需要注意

评分

参与人数 1鱼币 +1 收起 理由
青出于蓝 + 1 谢谢啦,更喜欢from

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-5 00:40:10 | 显示全部楼层
    老版书第13章147页小甲鱼对from xxx import *说得很清楚:强烈要求大家不要使用这种方法,因为这样做会使得命名空间得优势荡然无存,一不小心还会陷入名字混乱的局面
    小甲鱼大陆推崇的是:import xxx as y 这种使用别名的方式,例如:
  1. import easygui as g
  2. g.msgbox()
复制代码

    之所以tkinter为什么用from tkinter import *,主要是因为tkinter是内置模块,在命名方面已经充分考虑到了重名冲突问题,所以这样用没什么问题,但是对于广大的第三方包以及自己写的代码,为了不必要的麻烦,避免这样导入。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-5 12:26:09 | 显示全部楼层
用from easygui import *时,调用函数直接 msgbox()就行
用import easygui,调用函数用easygui.msgbox()
用import easygui as g,调用函数用g.msgbox()

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-5 12:28:52 | 显示全部楼层
*不是模块,是一个通配符
表示匹配“所有”

from easygui import *
就是导入easygui的“所有”
同理,from easygui import msgbox就是导入easygui里的msgbox函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-5 13:11:06 | 显示全部楼层
_荟桐_ 发表于 2020-7-5 12:28
*不是模块,是一个通配符
表示匹配“所有”

from就是指文件夹对吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-5 13:35:55 | 显示全部楼层
pyrhon萌新# 发表于 2020-7-5 13:11
from就是指文件夹对吗

不是文件夹,就是一个命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 04:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表