我知道什么是命名空间。但跑步时
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('bar')
parser.parse_args(['XXX']) # outputs: Namespace(bar='XXX')
Run Code Online (Sandbox Code Playgroud)
是什么样的物体Namespace(bar='XXX')?我觉得这完全令人困惑。
阅读 argparse 文档,它说“大多数 ArgumentParser 操作都会添加一些值作为 parse_args() 返回的对象的属性”。那么这个对象在运行时不应该出现吗globals()?或者说我该如何反省呢?
我正在使用 matplotlib 来更好地理解它的结构,但我对以下代码感到困惑:
import matplotlib as mpl
from mpl import pyplot as plt # ModuleNotFoundError : No module named 'mpl'
mpl.pyplot # AttributeError: module 'matplotlib' has no attribute 'pyplot'
Run Code Online (Sandbox Code Playgroud)
另一方面,如果我放弃导入as不同名称的 matplotlib 并执行
import matplotlib
from matplotlib import pyplot as plt #works!
Run Code Online (Sandbox Code Playgroud)
一切正常。
更疯狂的是,如果我“组合”这两个 import matplotlib as mpl from matplotlib import pyplot as plt #works!mpl.pyplot.get_backend() # 有效
pyplot即使我将其引用为 ,我也可以好奇地访问属性mpl.pyplot。
这是怎么回事,为什么
from mpl import pyplot as plt抛出一个ModuleNotFoundError?
import mpl.pyplot不行?由于错误消息表明mpl已正确解析为matplotlib,但仍然 …
我对这个简单的 tkinter 程序越来越绝望:我似乎无法更改背景颜色(或单个小部件的颜色)!这里出了什么问题?
以下是我的各种尝试以及收到的错误的要点
import tkinter
import tkinter.ttk as tk
root = tkinter.Tk()
frame= tk.Frame(root)
frame.grid(column=0, row=0)
tk.Button(frame, text="Open file", command=None).grid(column=0, row=1 )
lab=tk.Label(frame, text="test test test test test test ").grid(column=0, row=2 )
#root.config(background="black") # does nothing
#frame.config(background="black") # Error: unknown option "-background"
#lab.config(background="black") # Error: 'NoneType' object has no attribute 'config'
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我似乎无法在tkinter中更改字体的大小!无论选择哪种尺寸,按钮文本都将显示相同。如果我删除了整stlye行,它会显示得更小。
同样,无论选择哪种字体,字体始终看起来相同。
我想微调大小和字体,请您帮我=?
import tkinter
import tkinter.ttk as ttk
from tkinter import font
root = tkinter.Tk()
frame = ttk.Frame(root)
frame.grid(column=0, row=0)
style = ttk.Style(root)
ttk.Button(frame, text="Open file", command=None).grid(column=0, row=1)
ttk.Style().configure("TButton", font=font.Font(family='wasy10', size=80)) #I can choose any value here instead of "80" and any font like "Helvetica" - nothing will change
root.mainloop()
Run Code Online (Sandbox Code Playgroud)