import tkinter与from tkinter import *的区别

from tkinter import *

class DirList(object):
    def __init__(self,initdir=None):
        self.top= Tk()  ##可以不加tkinter前缀
        self.label = Label(self.top, text="Directory Lister V1.1") ##可以不加tkinter前缀
        self.label.pack()





import tkinter

class DirList(object):
    def __init__(self,initdir=None):
        self.top= tkinter.Tk()  ##必须加tkinter前缀
        self.label = tkinter.Label(self.top, text="Directory Lister V1.1") ##必须加tkinter前缀
        self.label.pack()

 from Tkinter import * 与 import Tkinter 的区别

1、如果是from Tkinter import *

那么你是导入Tkinter下的所有函数、等等(注意:如果package或者module下有__all__这样的一个全局变量的话,*中取的就是__all__中的元素,__all__是一个元组对象,每一个元素都是一个str,后面我看到__all__也可以用list,元素同样是str即可),你在使用的时候,可以省略掉Tkinter即可

进一步解释:__all__属于module的属性,它是一个全局变量

在Python中一切都是对象,全局变量则是module的属性,类变量则的类的属性,实例变量则是对象的属性,局部变量就可以认为是函数或方法的属性嘛

OptionMenu(self.root, variable, "one", "two", "three")
 

2、如果是 import Tkinter,那么不能省略掉模块名Tkinter

Tkinter.OptionMenu(self.root, variable, "one", "two", "three")
 

3、简单总结

from xxxx import *

a、如果没有__all__,则是module中所有的属性

b、如果有__all__,则为__all__中的元素(注意:__all__可以为tuple、也可以为list,看样子只要是线性表即可)
 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值