python ttk_python-3.x – 为什么导入*然后ttk?
当您从some_package import *执行操作时,python将导入包选择导出的任何内容.它选择导出的内容可能是实际存储在包文件夹中的一部分.这是为什么?没有特别的原因,这就是包裹作者决定如何做事.
有关导出内容的信息在程序包内的__init__.py文件中定义(在本例中为 tkinter/ init
.py
).如果查看该文件,您会注意到它不会导入ttk本身,因此不会导出ttk,因此无法使用通配符导入导入.
再说一次,除了tkinter和ttk的作者选择做事之外,没有特别的理由.
导入tkinter的更好方法
您可能认为它是标准的,因为许多教程都是这样做的,但这通常是一种不好的做法. IMO的更好方法是给tkinter库一个明确的名称:
# python 3.x
import tkinter as tk
from tkinter import ttk
# python 2.x
import Tkinter as tk
import ttk
这将使您的代码更容易阅读,因为您必须明确说明您正在使用的 工具 包:
b1 = tk.Button(...) # uses a standard tk button
b2 = ttk.Button(...) # uses a ttk button
我认为没有任何其他理由可以做到这一点.每次调用tkinter函数时,执行全局导入会为您节省几个字节,但代价是清晰度.此外,它强化了一种可能会影响您使用其他库的不良做法.
真正的权威,IMO,是 PEP8
,这就是这个问题:
Wildcard imports (from import *) should be avoided as they make it unclear which names are present in the namespace, confusing both readers and many automated tools. There is one defensible use case for a wildcard import, which is to republish an internal interface as part of a public API (for example, overwriting a pure Python implementation of an interface with the definitions from an optional accelerator module and exactly which definitions will be overwritten isn’t known in advance).
python ttk_python-3.x – 为什么导入*然后ttk?相关推荐
- python不同层级模块的导入和文件的读写
python不同层级模块的导入和文件的读写(2-201812103) 1 python 在不同层级目录import 模块的方法 2 python中文件的读写 1 python 在不同层级目录impor ...
- python模块与包的导入
python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...
- Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略
Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径
- 成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入
成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入 目录 解决问题 解决思路 解决方法 解决问题 .pyx格式文件,在window ...
- 【Python3】Python模块与包的导入
[Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内 ...
- python读取matlab矩阵_matlab、python中矩阵的互相导入导出方式
还有一种最流行的h5py.. 过几天更新 ------------在python中导出矩阵至matlab------------ 如果矩阵是mxn维的. 那么可以用 : np.savetxt('dev ...
- python标准库不需要导入即可使用其中的所有对象和方法_2021智慧树网课答案创业基础考试期末答案...
加入塞利凡诺夫试剂并加热能迅速出现红色的物质为(). A design career might be a good choice forsomeone who likes art.A. TrueB. ...
- python标准库不需要导入即可使用其中的所有对象和方法_Python程序设计-中国大学mooc-题库零氪...
<Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...
- python标准库不需要导入即可使用其中的所有对象和方法_Python编程及应用-中国大学mooc-题库零氪...
<Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...
最新文章
- 上周热点回顾(6.20-6.26)
- 服务器win2008 R2 x64 部署ASP.net core到IIS 并解决 HTTP Error 502.5 的问题
- MAC版CRT使用心得
- 指针的理解 -- java程序员学C语言日记二
- C#.NET验证码智能识别学习笔记---06 解决java jre问题:JTessBoxEditor.jar打开的时报找不到或无法加载主类 com.sun.tools.javac.Main错误
- VC++网络安全编程范例(2)-创建自签名证书
- SQL Server 数据库做读写分离
- slots游戏html5开发,unity自定义游戏框架Custom Slots fr amework 1.4
- 机器学习中优化算法论文合集
- c语言gga字符串校验和代码,NEMA-0183(GPGGA,GPRMC,GPGSA,GPGSV,GPVTG)详解,并附解析代码(C语言版)...
- OBS 电脑推流直播指南
- Python转换图片大小格式
- linux分区表导出与恢复,linux下磁盘分区表的备份和恢复
- c语言课程设计成型代码,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- 1023 GPA计算
- 小红书流量红利词「0基础」实操手册
- window10 20H2安卓模拟器VT检测不到问题解决方法
- 让脂肪起内讧?从内部全面瓦解脂肪
- c#获取公网的ip,本机ip 以及当前城市以及运营商
- 15-责任链模式Quarkus实现
热门文章
- 计算机基础内容相关的论文,有关于计算机基础论文范文
- 如何用计算机自动求和,如何在excel中自动求和 自动求和的解决方法及步骤
- android 解决ScrollView中的子布局不能够填充整个ScrollView
- audit linux mysql_MySQL审计工具Audit Plugin安装使用
- oracle audit_actions,Oracle Audit 功能的使用和说明
- TCP/IP协议各层的网络设备
- html修改progress背景色,html5 progress标签如何更改进度条颜色?progress进度条详解...
- Sublime Text2 好用技巧备忘
- mysql的user表被清空_不小心删除掉了mysql user表无法登陆进mysql解决方法
- [CVPR2022] A Dual Weighting Label Assignment Scheme for Object Detection