AskPython 博客中文翻译(八十二)

原文:AskPython Blog

协议:CC BY-NC-SA 4.0

Tkinter Messagebox 和 RadioButton:简单介绍

原文:https://www.askpython.com/python-modules/tkinter/tkinter-messagebox-and-radiobutton

在本文中,我们将研究 Tkinter Messagebox 和 Tkinter 的 Radiobutton 小部件。

tkinter 包(“Tk 接口”)是 Tk GUI 工具包的标准 Python 接口。它改进了 Python 应用程序的用户界面,并提供了大量可以从内置包中使用的小部件。

什么是 Tkinter messagebox?

messagebox 是应用程序的基本组件,用于向用户传达他/她的代码状态。基本上,它让编码者知道编码过程中的错误或成功。

它在许多内置函数的帮助下提供了这种功能。这些函数包括 showinfo、showwarning、showerror、askquestion、askokcancel、askyesno 和 askretryignore。

Tkinter Messagebox 的基础知识

首先,我们将导入 tkinter 模块以及 messagebox 函数。

然后,我们将指定窗口(框架),并使用 Tk()将其命名为root

from tkinter import *
from tkinter import messagebox

root =Tk()

然后,我们将通过在root对象上实例化geometry()来指定框架的尺寸。

root.geometry("400x400+120+120")
root.mainloop()

然后我们将使用 Tkinter Button()窗口小部件定义一个名为b的按钮,该窗口小部件显示消息“点击此处”,点击该按钮将触发call_me()功能。然后,我们将使用pack()将小部件放置在框架的几何图形上。

def call_me():
    messagebox.showinfo("Success","Welcome to our tutorial")

b = Button(root,text="Click here",command=call_me)
b.pack()

完整的代码如下所示:

from tkinter import *
from tkinter import messagebox

def call_me():
    messagebox.showinfo("Success","Welcome to our tutorial")

root =Tk()

b = Button(root,text="Click here",command=call_me)
b.pack()

root.geometry("400x400+120+120")
root.mainloop()

输出如图所示。因此,一旦你点击“点击这里”按钮,名为“成功”的警告框显示消息“欢迎来到我们的教程”。点击“确定”按钮,该框消失。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Output 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Success Message

Tkinter 单选按钮

单选按钮是一个 tkinter 小部件,用于在几个给定的多项选择中进行选择。还记得在多项选择题 GUI 中看到过这个吗?

为什么应该使用单选按钮?

  1. 它们对用户来说更快,因为他们可以通过一次点击而不是两次点击来做出更快的选择。典型的点击需要 1.2 到 2.4 秒。
  2. 它们提供了更好的控件自文档,无需点击任何东西。
  3. 对于触摸界面,点击单选按钮比浏览下拉列表更容易。
  4. 您可以一起提供所有的选择(就可访问性而言)

创建简单单选按钮

为了创建一个单选按钮,我们将使用 python 的 tkinter 模块。让我们看一下相同的编码。

from tkinter import *

root =Tk()

r1=Radiobutton(root, text="Yes", value=1)
r2=Radiobutton(root, text="No", value=2)
r1.pack()
r2.pack()

root.geometry("300x300+120+120")
root.mainloop()

在上面的代码片段中,我们首先导入tkinter模块,并使用Tk()初始化一个 tkinter 帧。在这个框架root中,我们使用Radiobutton()函数创建了两个单选按钮,该函数接受框架名称、文本和值等参数。然后我们使用pack()函数将这个小部件设置成行和列。

上述代码片段的输出如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Radiobutton Output

结论

这就是我们关于 Tkinter Messagebox 和 Radiobuttons 的教程的结尾。Tkinter 模块非常庞大,我们想让你很容易理解。因此,请关注 Tkinter 教程页面,了解更多信息!

参考

https://docs.python.org/3.9/library/tkinter.messagebox.html

Tkinter 教程-为你的窗户添加衬垫

原文:https://www.askpython.com/python-modules/tkinter/tkinter-padding-tutorial

嘿皮托尼斯!在本文中,我们将学习一些 GUI 基础知识。Python 有许多支持 GUI 开发并同时保持代码简单性的库。其中一个就是 Tkinter 。最棒的是 Python 也是由这个包驱动的。学习和实现都非常简单。我们可以制作很酷的 GUI 项目和应用程序。

Tkinter 中 GUI 应用的基本参数

  • Tkinter 中的 GUI 应用运行在三个方面:
  • 作为根的包的实例-“root = Tk()”
  • 应用程序的几何图形–屏幕宽度和屏幕高度-“root . geometry(宽度 x 高度)”
  • **主循环()–**保持应用程序在屏幕上运行,直到它被关闭。

创建一个简单的 Tkinter 窗口

在本节中,我们将使用 Tkinter 创建一个标题为**“Hello World”**的简单窗口。这样也就把上面的理论都搞清楚了。

代码:

from tkinter import * # importing the package
root = Tk() # creating a root that acts as an instance
root.title("Hello World") # setting up the title of window
root.geometry("400x400") # giving the window its height and width
root.mainloop() # the mainloop

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A basic Tkinter window

这只是一个标题为**“Hello World”**的空白窗口。所以,为了让它更漂亮,让我们添加一些小部件。

在 Tkinter 窗口中添加填充

**填充是将小部件放置在二维 GUI 根窗口中。**这有助于我们根据需要调整它们。

现在,我们必须考虑窗口是如何容纳所有小部件的。在计算机图形学中,在屏幕上表示一个点的最小单位是像素。如果我们能在空白屏幕上看到一个白点,那么它的度量就是一个像素。在手机、电脑、笔记本电脑上呈现在我们面前的图像是各种彩色像素的组合调整。

  • padx :将 widget 放置在 x 轴的窗口中。
  • pady :将 widget 放置在 y 轴的窗口中。

添加 padx 参数

Tkinter 中的标签是具有 padxpady 参数的部件之一。让我们看一个例子:

代码: 无任何填充

from tkinter import *

# basic setup
window = Tk()
window.title("Padding in Tkinter")
window.geometry("400x400")
window.config(background = "Light Blue") 

# creating a label widget
label_1 = Label(window, 
                text = "Label_1",
                bg = "white",
                fg = "black",
                font = ("Arial", 30))
label_1.pack()

# tkinter's mainloop 
window.mainloop()

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Placing the label widget without padding

说明:

  • 在前六行代码中,这是 Tkinter 的基本设置。
  • 下一步是我们创建一个标签小部件的实例。
    • 给显示器文本 as = "Label_1
    • 使用 bg 参数将背景颜色调整为白色。
    • 使用 fg 将前景或文本颜色作为块。
    • 设置字体样式为 Arial ,文字大小为 30
  • 若要显示标签,请调用 pack()方法。

因此,默认情况下,Tkinter 将标签放在窗口的中央。

代码:带 padx

from tkinter import *

window = Tk()
window.title("Padding in Tkinter")
window.geometry("400x400")
window.config(background = "Light Blue")

label_1 = Label(window, 
                text = "Label_1",
                bg = "white",
                fg = "black",
                font = ("Arial", 30))
label_1.pack(padx = (100, 0))

window.mainloop()

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Placing the label widget with padding

现在我们可以看到,当我们设置 padx = (100,0)时,它有点偏离中心。

添加 pady 参数

此选项会将我们的标签放置或移动到离窗口上边距稍远的地方。我们只需更改参数,其余代码保持不变。

代码:

from tkinter import *

window = Tk()
window.title("Padding in Tkinter")
window.geometry("400x400")
window.config(background = "Light Blue")

label_1 = Label(window, 
                text = "Label_1",
                bg = "white",
                fg = "black",
                font = ("Arial", 30))
label_1.pack(pady = 100)

window.mainloop()

输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Padding with “pady” parameter

这里我们可以看到 y 坐标发生了填充。标签在窗口上有了新的位置。

更多理解的示例代码

您可以使用 Tkinter 中的按钮尝试一些代码,并检查填充是否适用于它们。

代码 1:

from tkinter import *

window = Tk()
window.title("Padding in Tkinter")
window.geometry("400x400")
window.config(background = "Light Blue")

button = Button(window, 
                text = "Click me",
                bg = "white",
                fg = "red",
                border = 10,
                font = ("Arial", 30))

button.pack(padx = 100)

window.mainloop()

代码 2:

from tkinter import *

window = Tk()
window.title("Padding in Tkinter")
window.geometry("400x400")
window.config(background = "Light Blue")

button = Button(window, 
                text = "Click me",
                bg = "white",
                fg = "red",
                border = 10,
                font = ("Arial", 30))

button.pack(pady = 40)

window.mainloop()

结论

就这样,我们结束了。Tkinter 是 Python 中一个非常简单但功能强大的模块,随着 Python 新版本的推出,它有了很多改进。Padding 就是其中之一。我希望这有助于您编写 GUI 程序。

使用 Tkinter 缩放微件

原文:https://www.askpython.com/python-modules/tkinter/tkinter-scale-widget

大家好!在我们的 Tkinter 教程的这一部分,我们将介绍另一个小部件——Tkinter比例小部件

如果您想在应用程序上显示任何类型的比例,这是一个非常有用的小部件。

我们将通过一个简单的例子来演示如何使用这个小部件。我们开始吧!


基本 Tkinter 缩放微件选项

当我们希望用户输入一个限定在一定范围内的数值时,我们可以使用这个小部件。

用户可以在标尺上移动,并为输入选择合适的值。

要使用它,基本选项的格式如下:

scale_widget = tk.Scale(master, from_, to, orient)

这里,master是 Tkinter 主对象,它是任何 Tkinter GUI 应用程序运行所必需的。

from_to关键字参数指定滑块值的范围。

最后,方位orient可以是“水平”也可以是“垂直”。

还有一个名为resolution的可选参数,它指定值的数值分辨率。

例如,默认分辨率为 1,这将确保所有值都四舍五入为最接近的整数。您可以根据需要调整这个参数。

要使用 Tkinter scale 小部件的当前值,只需调用scale_widget.get()。而要设置 Tkinter scale 小部件,可以调用scale_widget.set(value)

现在让我们看一个例子来说明这意味着什么。


使用 Tkinter Scale 小部件–为我们的应用程序构建一个比例

让我们为我们的虚拟应用程序构建一个水平标度,它由从 0 到 100 的整数值组成。

这意味着数值分辨率为 1。

import tkinter as tk
from tkinter import messagebox

# Create the master object
master = tk.Tk()

# Create a Scale Widget
scale_widget = tk.Scale(master, orient="horizontal", resolution=1,
                        from_=0, to=100)

# And a label for it
label_1 = tk.Label(master, text="Scale")

# Use the grid geometry manager to put the widgets in the respective position
label_1.grid(row=0, column=0)
scale_widget.grid(row=0, column=1)

# The application mainloop
tk.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scale Example 1

好吧!这按预期工作,我们的 Tkinter scale 小部件显示从 0 到 100 的值。

现在让我们向应用程序添加一个按钮小部件。

当我们在设置比例值后单击按钮时,我们将调用一个函数来输出一个消息框警告,它将显示我们选择的值。

让我们将按钮小部件添加到程序中。

button = tk.Button(master, text="Click", command=buttonCallback)
button.grid(row=1, column=1)

这里,command参数指定了当这个按钮被点击时将被调用的函数。

我们将调用一个名为buttonCallback的函数,它为我们处理这个事件。

def buttonCallback():
    global scale_widget
    messagebox.showinfo("Message", "You have chosen value {}".format(scale_widget.get()))

我在全局范围内使用了scale_widget,这样我们就可以使用scale_widget.get()获得值。该值将打印在消息框上。

作为补充,我还将使用master.geometry()将默认的框架大小从标准的“200×200”增加到更大的“300×300”窗口。

master.geometry("300x300")

我现在将发布完整的代码。

import tkinter as tk
from tkinter import messagebox

# Create the master object
master = tk.Tk()

master.geometry("300x300")

# Create a Scale Widget
scale_widget = tk.Scale(master, orient="horizontal", resolution=1,
                        from_=0, to=100)

# And a label for it
label_1 = tk.Label(master, text="Scale")

# Use the grid geometry manager to put the widgets in the respective position
label_1.grid(row=0, column=0)
scale_widget.grid(row=0, column=1)

def buttonCallback():
    global scale_widget
    messagebox.showinfo("Message", "You have chosen value {}".format(scale_widget.get()))

button = tk.Button(master, text="Click", command=buttonCallback)
button.grid(row=1, column=1)

# The application mainloop
tk.mainloop()

现在,让我们看看输出。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tkinter Scale Example

的确,当你点击按钮,设置好刻度值后,显示的是正确的数字!


结论

在本教程中,我们学习了如何使用 Tkinter Scale 小部件。

在接下来的文章中,我们将介绍更多的小部件,请继续关注!


Tkinter Spinbox 和 Progressbar 小工具

原文:https://www.askpython.com/python-modules/tkinter/tkinter-spinbox-and-progressbar-widgets

大家好!在这个关于 Tkinter 的系列教程中,我们将学习 Tkinter Spinbox 和 Progressbar 小部件。我们将继续探索更多可以添加到应用程序中的小部件。

让我们使用说明性的示例,逐一查看它们!


使用 Tkinter Spinbox 小部件

Tkinter Spinbox 小部件是一个允许我们从一组固定值中进行选择的小部件。

还记得 Tkinter Entry widget 吗?假设您希望限制最终用户只能从有限的选项集中进行选择,这在这里没有多大用处!

您更希望有一组固定的选项可供选择,而这正是 Spinbox 小部件给我们提供的!

现在让我们来看看如何使用它。

这与我们的入口小部件几乎相同,但是您在名为values的可选参数下指定值列表,该参数是一个 元组

spin_box = tk.Spinbox(master, values)

如果您的值在整数/等之间,您也可以使用from_to参数指定一个值范围。

注意:由于from是一个保留的 Python 关键字,因此from_关键字参数的末尾有一个下划线。

spin_box = tk.Spinbox(master, from_, to)

现在让我们制作一个简单的应用程序,它有一个 spinbox 小部件,带有一些预定义的选项。

我们将使用网格几何形状管理器将我们的小部件放置在合适的位置。

我们还会给每个小部件一个标签,以便其他人可以使用一些文本来识别它。

import tkinter as tk

# Create the master object
master = tk.Tk()

# Create a spinbox widget
spinbox_1 = tk.Spinbox(master, values=("Python", "Java", "C++"))

# And a label for it
label_1 = tk.Label(master, text="Language")

# Create another spinbox widget
spinbox_2 = tk.Spinbox(master, from_=1, to=3)

# And a label for it
label_2 = tk.Label(master, text="Value")

# Use the grid geometry manager to put the widgets in the respective position
label_1.grid(row=0, column=0)
spinbox_1.grid(row=0, column=1)

label_2.grid(row=1, column=0)
spinbox_2.grid(row=1, column=1)

# The application mainloop
tk.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Spinbox Entry 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Spinbox Entry 2

如果您自己运行这个程序,您会发现您可以从我们上面提供的特定列表中调整 spinbox 小部件的值!

关于这个小部件的更多参数和调整,您可以查看官方文档。

现在让我们看看 ProgressBar 小部件!


使用 Progressbar 小部件

Progressbar 小部件显示任何长时间运行的操作的状态。

假设您想要可视化任何事情的进度需要多长时间,您可以使用 Progressbar!

这在tkinter.ttk模块中可用,因此您必须单独导入。

import tkinter as tk
# Necessary for the Progressbar widget
import tkinter.ttk as ttk

我们将通过简单的选项来看看如何使用它。你可以在这里看完整列表

progress_bar = ttk.Progressbar(orient, mode, maximum, value)

这里,orient指定了进度条的方向。它可以是“水平的”或“垂直的”

该小工具可以在两个mode秒内运行:

  • “确定”->显示相对于工作总量的完成量
  • “不确定”->简单地显示一个动画显示来表明工作正在进行。

进度条将一直持续到当前的value到达maximum为止。

要开始递增 progressbar 的值,我们必须使用progress_bar.start(interval),它会每隔interval毫秒自动为您递增。

我们将把它保持为None,它将被设置为默认值 50 毫秒

progress_bar.start(interval=None)

我们现在将使用step()方法确保该值以amount = 10递增。

progress_bat.step(amount=10)

我会把完整的代码张贴到现在。

import tkinter as tk
import tkinter.ttk as ttk

# Create the master object
master = tk.Tk()

# Create a progressbar widget
progress_bar = ttk.Progressbar(master, orient="horizontal",
                              mode="determinate", maximum=100, value=0)

# And a label for it
label_1 = tk.Label(master, text="Progress Bar")

# Use the grid manager
label_1.grid(row=0, column=0)
progress_bar.grid(row=0, column=1)

# Start auto-incrementing periodically
progress_bar.start()
progress_bar.step(10)

# The application mainloop
tk.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Progress Bar 1

你得到一个移动的进度条!

这使得value每 50 毫秒从 0 到 100 递增 10 个单位。

但是我们使用的方法正确吗?

但是这里的问题是进度条在到达maximum后再次重置为 0。

为了避免这种情况,我们必须stop()进度条。

但是我意识到这也产生了比我想象的更多的问题,因为那时,我不能得到一个更新的进度条。

最大的问题是我们的主应用程序运行在tk.mainloop()函数中。因此,所有这些都必须预先计算,以便实时运行。

所以,在谷歌搜索了几次后,我发现使用start()stop()而不是的正确方法,因为它从来没有说进度条是如何重绘的。

因此,唯一剩下的解决方案(可悲的)是我们自己手动更新 Progressbar 的value

这似乎确实是其他 Tkinter 程序员看到 StackOverflow 帖子上的内容后得出的结论。现在让我们继续!

我们自己修改小部件值

为此,所有 Tkinter 小部件都有字典属性,我们可以修改这些属性!是的,就这么简单。

只需更新 progressbar 值,使用:

progress_bar['value'] = 0
master.update()

然而,我们还必须使用master.update()告诉master对象这个小部件已经用新值更新了。

现在,我们将重写旧的和不正确的代码来考虑这些变化。

import tkinter as tk
import tkinter.ttk as ttk
import time

# Create the master object
master = tk.Tk()

# Create a progressbar widget
progress_bar = ttk.Progressbar(master, orient="horizontal",
                              mode="determinate", maximum=100, value=0)

# And a label for it
label_1 = tk.Label(master, text="Progress Bar")

# Use the grid manager
label_1.grid(row=0, column=0)
progress_bar.grid(row=0, column=1)

# Necessary, as the master object needs to draw the progressbar widget
# Otherwise, it will not be visible on the screen
master.update()

progress_bar['value'] = 0
master.update()

while progress_bar['value'] < 100:
    progress_bar['value'] += 10
    # Keep updating the master object to redraw the progress bar
    master.update()
    time.sleep(0.5)

# The application mainloop
tk.mainloop()

现在,当我们通过自己更新小部件的值来做所有艰苦的工作时,我们有了更多的控制权。

这段代码现在应该能够显示进度条的连续序列,当value达到 100 时停止。

下面是一个简单的 GIF 图,说明了这个程序的工作原理。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Progress Bar GIF


结论

最后,我们已经到了使用 Tkinter Spinbox 和 Progressbar 小部件的教程的末尾。希望您已经理解了为您的 GUI 应用程序添加更多功能的步骤!

更多 Tkinter 内容即将推出,敬请关注!


带有 Tkinter 滚动条的 Tkinter 文本小部件

原文:https://www.askpython.com/python-modules/tkinter/tkinter-text-widget-tkinter-scrollbar

大家好。在我们的 Tkinter 教程部分的这一部分,我们将看看 Tkinter 文本小部件。

虽然我在之前的教程中使用了面向对象的方法,但是现在我们将会看到单个的小部件示例,如果我直接使用这个模块的话会更简单。

因此,我将在这里直接使用 Tkinter,而没有显式的Application类。

现在,让我们开始吧!


Tkinter 文本小工具

这是一个允许我们在应用程序中轻松查看文本对象的小部件。例如,如果您想在 GUI 上显示一些行,我们可以很容易地使用文本小部件来实现我们的目标。

让我们看看怎么做。

要创建文本小部件,只需使用tk.Text(master, width, height)方法,其中master是 GUI 应用程序的主对象(使用tk.TK())。

然后我们可以使用text_widget.insert()方法添加文本。

import tkinter as tk

# Create our master object to the Application
master = tk.Tk()

# Create the text widget for two lines of text
text_widget = tk.Text(master, height=2, width=40)

# Pack it into our tkinter application
text_widget.pack()

# Insert text into the text widget
# tk.END specifies insertion after the last character in our buffer
text_widget.insert(tk.END, "First Line - Hello from AskPython\nSecond Line - Hi")

# Start the mainloop
tk.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tkinter Text Widget 1

事实上,我们的文本小部件中似乎有两行文本!

向我们的文本小部件添加滚动条

虽然上面的输出适用于较小的文本,但是如果我们的文本大小本身大于宽度呢?

我们可以使用 Tkinter 的滚动条,并将其添加到我们的文本小部件中。现在,添加滚动条后,我们应该能够正确显示更大的文本。

要创建滚动条对象,使用tk.Scrollbar()并将其添加到我们的应用程序中!现在,在您将它打包到应用程序之后,我们可以使用滚动文本小部件来显示更长的文本!

import tkinter as tk

# Create our master object to the Application
master = tk.Tk()

# Create the text widget
text_widget = tk.Text(master, height=5, width=40)

# Create a scrollbar
scroll_bar = tk.Scrollbar(master)

# Pack the scroll bar
# Place it to the right side, using tk.RIGHT
scroll_bar.pack(side=tk.RIGHT)

# Pack it into our tkinter application
# Place the text widget to the left side
text_widget.pack(side=tk.LEFT)

long_text = """This is a multiline string.
We can write this in multiple lines too!
Hello from AskPython. This is the third line.
This is the fourth line. Although the length of the text is longer than
the width, we can use tkinter's scrollbar to solve this problem!
"""

# Insert text into the text widget
text_widget.insert(tk.END, long_text)

# Start the mainloop
tk.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tkinter Scroll 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tkinter Scroll 2

您可以看到右边的滚动条,由左边的文本小部件支持。

希望您可以在此基础上向您的 GUI 应用程序添加更多的小部件,并使其更加有趣!


结论

在本教程中,我们学习了如何在 Tkinter 应用程序中添加简单的文本小部件,并添加滚动条来支持更大的文本。

在我们即将发布的 Tkinter 教程中,请继续关注更多的部件!


Tkinter TreeView 部件

原文:https://www.askpython.com/python-modules/tkinter/tkinter-treeview-widget

又见面了!作为我们的 Tkinter 教程系列的一部分,今天的帖子将涵盖 TreeView 小部件。

如果您想要显示项目的层次结构,并且所有属性都并排列出,那么 TreeView 小部件非常有用。

例如,如果您想构建一个看起来像 Windows 文件资源管理器的应用程序,我们可以使用 Tkinter 的 TreeView 小部件来实现。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows File Explorer 1

因此,TreeView 允许我们做的是构建一个类似树的结构,并相应地插入项目及其属性。

您可以在需要时动态地添加或删除树中的节点,因此这对于许多 GUI 应用程序非常有用。

我们可以根据自己的喜好来构造树。

如果您想要复制文件资源管理器,您应该创建一个包含文件及其属性的树形视图,并添加嵌套文件和文件夹作为父文件夹的子文件夹!

虽然我们不会做这个练习,但我建议你自己尝试一下,这样你就能很好地理解TreeView是如何工作的。

现在让我们看看如何构造一个树形视图小部件,并对其执行操作——比如插入和删除。


构建一个 TreeView 小部件

TreeView 小部件属于tkinter.ttk模块,所以我们必须导入它。

import tkinter.tk as ttk

现在,我们可以将小部件称为ttk.TreeView()

要创建新的 TreeView 小部件,语法很简单。

tree = ttk.Treeview(master, columns)

这里,tree对应新形成的树的根节点。这里,master 指的是主 Tkinter 应用主节点。

columns是一个元组,指的是列的名称。

例如,我们可以像这样构造一个 TreeView 小部件,具有“Name”和“ID”列:

tree = ttk.Treeview(master, columns=("Name", "ID"))

该树将使用master作为基础小部件来构建。通常,您会希望它成为应用程序的主要主对象:

master = tk.Tk()

现在,虽然我们有了一个 TreeView 小部件,但是显示它是没有意义的,因为它是空的。

让我们首先插入一些对象,这样我们就可以在实际应用程序中查看 TreeView。

请记住,TreeView 节点的行仅由字符串组成,如下所示:

"Label" , "Hello", "Second Col", "Third Col"

现在,让我们向新构建的树形视图中插入一些节点。

插入到树视图

插入语法非常简单。我们获取 TreeView 对象,并插入一些用text标记的values。我们还可以使用iid参数为节点指定一个惟一的 ID。

tree.insert(parent, index, iid, text, values)

这里,我们将节点插入到parent。如果您想让parent小部件作为主(根)节点,我们可以将其设置为空字符串(")。否则,我们必须提到一个现有父节点的iid

使用index引用该节点的子编号。

例如,如果您想在第一个孩子处插入,您可以指定index=0。如果想插在最后,可以提一下特殊值'end'

tree.insert(parent='', index='end', iid=0, text="Label", values=("Hello", "Second Col", "Third Col"))

上面是一个插入到根节点末尾的示例,其值如下行所示:

"Label" , "Hello", "Second Col", "Third Col"

不幸的是,没有一种简单的方法来构建 TreeView,因为您需要其他小部件来正确地可视化输出。

在继续下一步之前,请确保您已经阅读了我们关于 Tkinter 按钮网格管理器Tkinter 入口小部件的教程部分。

我将提供一个示例应用程序来可视化输出,使用这些小部件:

import tkinter as tk
import tkinter.ttk as ttk

class Application(tk.Frame):
    def __init__(self, root):
        self.root = root
        self.initialize_user_interface()

    def initialize_user_interface(self):
        # Configure the root object for the Application
        self.root.title("Application")
        self.root.grid_rowconfigure(0, weight=1)
        self.root.grid_columnconfigure(0, weight=1)
        self.root.config(background="green")

        # Define the different GUI widgets
        self.name_label = tk.Label(self.root, text="Name:")
        self.name_entry = tk.Entry(self.root)
        self.name_label.grid(row=0, column=0, sticky=tk.W)
        self.name_entry.grid(row=0, column=1)

        self.idnumber_label = tk.Label(self.root, text="ID")
        self.idnumber_entry = tk.Entry(self.root)
        self.idnumber_label.grid(row=1, column=0, sticky=tk.W)
        self.idnumber_entry.grid(row=1, column=1)

        self.submit_button = tk.Button(self.root, text="Insert", command=self.insert_data)
        self.submit_button.grid(row=2, column=1, sticky=tk.W)

        self.exit_button = tk.Button(self.root, text="Exit", command=self.root.quit)
        self.exit_button.grid(row=0, column=3)

        # Set the treeview
        self.tree = ttk.Treeview(self.root, columns=('Name', 'ID'))

        # Set the heading (Attribute Names)
        self.tree.heading('#0', text='Item')
        self.tree.heading('#1', text='Name')
        self.tree.heading('#2', text='ID')

        # Specify attributes of the columns (We want to stretch it!)
        self.tree.column('#0', stretch=tk.YES)
        self.tree.column('#1', stretch=tk.YES)
        self.tree.column('#2', stretch=tk.YES)

        self.tree.grid(row=4, columnspan=4, sticky='nsew')
        self.treeview = self.tree

        self.id = 0
        self.iid = 0

    def insert_data(self):
        self.treeview.insert('', 'end', iid=self.iid, text="Item_" + str(self.id),
                             values=("Name: " + self.name_entry.get(),
                                     self.idnumber_entry.get()))
        self.iid = self.iid + 1
        self.id = self.id + 1

app = Application(tk.Tk())
app.root.mainloop()

在这里,我为输入创建了一些标签和条目。我还创建了一个树形视图,由两部分组成:

  • 树形视图标题(显示列名)
  • TreeView 列和insert_data()方法

每当我们按下“插入”按钮时,就会在 TreeView 小部件上调用insert_data()方法。

现在,说够了。现在让我们测试我们的程序插入!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Treeview Example

好的,这看起来很有效!现在让我们添加一个删除按钮,这样我们就可以删除选中的行。


从树视图中删除行

有一种方法我们可以利用。这将从 TreeView 小部件中删除相应的节点(在我们的例子中是行)。

tree.delete(iid)

这只是获取节点的iid标识号,并将其从 TreeView 中删除!

我们将用一个叫做delete_data()的方法来总结这一点。

现在,最大的问题是我们如何从 TreeView 小部件中获得我们的行的 id 号。

嗯,这取决于你将如何执行删除操作。

每当我们用鼠标选中某一行时,我们就会删除该行。在该行突出显示后,我们可以按 delete 按钮,这将把它从TreeView小部件中删除。

为此,我们将使用TreeView.focus()方法来获取行的iid(作为一个字符串)。我们可以用这个直接删除那一行!

    def delete_data(self):
        row_id = int(self.tree.focus())
        self.treeview.delete(row_id)

让我们添加一个删除按钮,并使用这个方法作为回调函数!

添加后,应用程序将如下所示:

import tkinter as tk
import tkinter.ttk as ttk

class Application(tk.Frame):
    def __init__(self, root):
        self.root = root
        self.initialize_user_interface()

    def initialize_user_interface(self):
        # Configure the root object for the Application
        self.root.title("Application")
        self.root.grid_rowconfigure(0, weight=1)
        self.root.grid_columnconfigure(0, weight=1)
        self.root.config(background="green")

        # Define the different GUI widgets
        self.name_label = tk.Label(self.root, text="Name:")
        self.name_entry = tk.Entry(self.root)
        self.name_label.grid(row=0, column=0, sticky=tk.W)
        self.name_entry.grid(row=0, column=1)

        self.idnumber_label = tk.Label(self.root, text="ID:")
        self.idnumber_entry = tk.Entry(self.root)
        self.idnumber_label.grid(row=1, column=0, sticky=tk.W)
        self.idnumber_entry.grid(row=1, column=1)

        self.submit_button = tk.Button(self.root, text="Insert", command=self.insert_data)
        self.submit_button.grid(row=2, column=1, sticky=tk.W)

        self.delete_button = tk.Button(self.root, text="Delete", command=self.delete_data)
        self.delete_button.grid(row=100, column=100)

        self.exit_button = tk.Button(self.root, text="Exit", command=self.root.quit)
        self.exit_button.grid(row=0, column=3)

        # Set the treeview
        self.tree = ttk.Treeview(self.root, columns=('Name', 'ID'))

        # Set the heading (Attribute Names)
        self.tree.heading('#0', text='Item')
        self.tree.heading('#1', text='Name')
        self.tree.heading('#2', text='ID')

        # Specify attributes of the columns (We want to stretch it!)
        self.tree.column('#0', stretch=tk.YES)
        self.tree.column('#1', stretch=tk.YES)
        self.tree.column('#2', stretch=tk.YES)

        self.tree.grid(row=4, columnspan=4, sticky='nsew')
        self.treeview = self.tree

        self.id = 0
        self.iid = 0

    def insert_data(self):
        self.treeview.insert('', 'end', iid=self.iid, text="Item_" + str(self.id),
                             values=("Name: " + self.name_entry.get(),
                                     self.idnumber_entry.get()))
        self.iid = self.iid + 1
        self.id = self.id + 1

    def delete_data(self):
        row_id = int(self.tree.focus())
        self.treeview.delete(row_id)

app = Application(tk.Tk())
app.root.mainloop()

输出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Treeview Delete

现在,我们已经完成了 TreeView 的基本结构,并且实现了基本的插入和删除操作。

我建议您通过处理其他操作,比如更新一些行,为这个应用程序添加更多的功能。您可能还会注意到,删除后项目编号没有正确排序。

这里有一个简单的update()模板函数,可以作为参考:

def update(self):
    for idx, node in enumerate(self.treeview.get_children()):
        self.tree.item(node, text="Updated_Item_" + str(idx))

这将更新您的TreeView的所有行,并更改您的text标签。您可以类似地修改其他属性。

这些是您可以对应用程序进行的各种改进。


结论

希望您已经使用TreeView让这个简单的应用程序工作了。我们简要地看了如何使用这个小部件来显示应用程序的行和列,结构像一棵树。


使用 NLTK 在 Python 中进行标记化

原文:https://www.askpython.com/python-modules/tokenization-in-python-using-nltk

让我们学习使用 NLTK 库在 Python 中实现标记化。作为人类,我们很大程度上依赖语言来相互交流。人工智能也需要计算机理解我们的语言。

让计算机理解和处理语言属于自然语言处理的范畴。NLP 被广泛定义为通过软件对自然语言如语音和文本的自动操作。

标记化是 NLP 下执行的常见任务。记号化是将一段文本分解成称为记号的更小单元的过程。这些令牌构成了 NLP 的构造块。

为什么我们需要标记化?

LSTM 和 RNN 等 NLP 中的深度学习架构以令牌的形式处理文本。

通过在文本语料库上运行标记化,我们可以形成词汇表。然后,以适合于相应语言模型的方式来表示这些标记。

这种表示被称为单词嵌入。最常见的单词嵌入模型有 SkipgramOne-Hot-Encoding

在本教程中,我们将学习如何标记我们的文本。

让我们编写一些 python 代码来标记一段文本。

用 NLTK 在 Python 中实现标记化

我们将使用 NLTK 模块来标记文本。NLTK 是自然语言工具包的简称。这是一个用 Python 编写的用于符号和统计自然语言处理的库。

NLTK 使得处理文本数据变得非常容易。让我们从安装 NLTK 开始。

1.正在安装 NLTK 库

在你的控制台上运行 pip 命令来安装 NLTK。

pip install nltk

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

要安装 NLTK 的组件,请使用:

import nltk
nltk.download() 

在本教程中,我们将讨论两种类型的标记化:

  • 句子标记化
  • 单词标记化

2.在 Python 中设置标记化

让我们从导入必要的模块开始。

from nltk.tokenize import sent_tokenize, word_tokenize

sent_tokenize 负责基于句子的分词, word_tokenize 负责基于单词的分词。

我们要标记的文本是:

"Hello there! Welcome to this tutorial on tokenizing. After going through this tutorial you will be able to tokenize your text. Tokenizing is an important concept under NLP. Happy learning!"

将文本存储在变量中。

text = "Hello there! Welcome to this tutorial on tokenizing. After going through this tutorial you will be able to tokenize your text. Tokenizing is an important concept under NLP. Happy learning!"

3.使用 sent_tokenize()在 Python 中实现句子标记化

要根据句子进行标记,请使用:

print(sent_tokenize(text))

我们得到的输出是:

['Hello there!', 'Welcome to this tutorial on tokenizing.', 'After going through this tutorial you will be able to tokenize your text.', 'Tokenizing is an important concept under NLP.', 'Happy learning!']

它返回一个列表,列表中的每个元素都是文本中的一个句子。

4.使用 word_tokenize()在 Python 中进行单词标记化

根据我们使用的单词来标记:

print(word_tokenize(text))

我们得到的输出是:

['Hello', 'there', '!', 'Welcome', 'to', 'this', 'tutorial', 'on', 'tokenizing', '.', 'After', 'going', 'through', 'this', 'tutorial', 'you', 'will', 'be', 'able', 'to', 'tokenize', 'your', 'text', '.', 'Tokenizing', 'is', 'an', 'important', 'conceot', 'under', 'NLP', '.', 'Happy', 'learning', '!']

它返回一个列表,列表中的每个元素都是文本中的一个单词。这些现在可以作为标记进入语言模型进行训练。

使用 NLTK 完成标记化的 Python 代码

完整的代码如下:

from nltk.tokenize import sent_tokenize, word_tokenize

text = "Hello there! Welcome to this tutorial on tokenizing. After going through this tutorial you will be able to tokenize your text. Tokenizing is an important concept under NLP. Happy learning!"

print(sent_tokenize(text))
print(word_tokenize(text))

结论

本教程是关于在 python 中标记文本的。我们还讨论了使用 NLTK 在 Python 中标记化及其实现的需要。

在对文本进行标记化之后,您还可以在 Python 中识别文本的情感。看看这个用 Python 进行情感分析的教程。

改善 K8s 故障排除体验的 4 种工具

原文:https://www.askpython.com/python/tools-to-improve-k8s-troubleshooting-experiences

Kubernetes 是一个开源的容器编排工具。它是目前的市场领导者——任何使用容器的企业都已经在使用 Kubernetes 或者考虑在不久的将来使用它。然而,帮助自动化容器的部署、伸缩和管理使 Kubernetes 成为一个复杂的系统。开发人员需要专业知识来管理节点和 pod,并对其进行故障排除。

为什么我们需要故障排除工具?

即使在小型环境中,也很难在控制器或控制面板中对单个 pod 中的问题进行故障排除。在大型环境中,Kubernetes 部署在多节点集群中,有许多移动部件来支持在 pod 中运行的应用程序的弹性和高可用性。因此,IT/DevOps 团队需要多种工具来管理或排查 Kubernetes 环境中的问题。

在 Kubernetes 环境中很难排除故障。工具可以节省您识别和解决问题的时间。它们还可以帮助您监控性能,跟踪 pod 和堆栈中发生的变化,并生成 pod 的崩溃报告。

1. Komodor

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Komodor 是一款 Kubernetes 本地故障排除工具,通过提供丰富的功能集,消除了 Kubernetes 故障排除的复杂性。Komodor 跟踪整个 K8s 堆栈的变化,分析它们的连锁反应,并为管理员提供排除堆栈故障所需的上下文。作为一个混合应用,web UI(服务视图)和 Komodor 代理安装在 K8s 集群中。这使得管理员很容易理解跨服务的变化。

Komodor 帮助管理员获得对 Kubernetes 堆栈的控制和完全可见性。Komodor 是一个集中式的工具,可以端到端地跟踪系统:版本控制系统中的代码、配置、K8stack 以及监控和警报工具。Komodor 时间线允许管理员看到环境中发生的变化,包括什么代码被推送,是谁推送的。

它的注释允许管理员在本地 K8 YAML 文件中配置与 Komodor 相关的所有内容。Komodor 配置更改 API 允许管理员将其配置中的更改发送到中央服务器,并作为 Komodor 服务视图的一部分进行查看。Komodor 代理支持与 Kubernetes 集群的交互,并允许管理员加快故障排除过程。

2.编织范围

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weave Scope 是对 Kubernetes 集群进行故障排除的工具。它生成基础设施拓扑的报告,帮助部署和管理团队识别在 Kubernetes 基础设施中运行的应用程序的性能瓶颈。

Weavescope 有两个组件:应用程序和探针。两者都可以使用 scope 脚本部署在单个容器中。探测器负责收集运行它的主机的信息,并将指标发送到应用程序并形成报告。

编织范围需要零配置或集成。管理员只需启动并运行。它与 Docker、K8s 和 AWS ECS 无缝集成。它有一个 Kubernetes 中运行的容器的实时视图,管理员可以使用它轻松地识别和纠正与容器化应用程序的性能相关的问题。

3.Crashd

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

崩溃诊断( Crashd )是一款工具,可帮助开发人员管理员对 Kubernetes 基础架构进行故障排除和自动化诊断,使他们能够轻松地与基础架构进行交互并从基础架构中收集信息。

Crashd 使用星际语言。Starlark 是 Python 的一种方言,旨在用作一种配置语言。Crashd 脚本具有普通的编程结构,如变量声明、函数定义、数据类型、复合类型等。Crashd 执行与特定应用程序和集群资源交互的 Starlark 脚本文件。

Crashd 脚本由存储在一个文件中的 Starlark 函数集合组成。它包含交互和收集诊断数据以及集群中节点和应用程序的其他信息的功能。

Crashd 可以轻松地自动与运行 K8s 的基础设施进行交互。它通过一个安全外壳与计算集群节点进行交互,并从其中捕获信息。它从 Kubernetes API 服务器捕获集群日志,并轻松地从集群 API 管理的集群中提取数据。

4.强力密封

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对于像网飞这样实施了混沌工程的团队来说,PowerfulSeal 就是工具。PowerfulSeal 是一个用于 Kubernetes 集群的混沌测试工具。它通过将故障注入集群而给基础架构带来混乱,因此 DevOps 管理员可以尽早检测到问题。管理员可以写豆荚的自毁。销毁 pod 后,他们检查服务是否继续响应 HTTP 探测。这是管理员验证其系统恢复能力的方法之一。

强力封印灵感来自网飞研发的混沌猴。它随机终止运行在亚马逊网络服务上的虚拟机。混沌猴会移除开发人员认为没有它软件也能运行的节点。PowerfulSeal 提供了一种简单的方法来编写 YAML 场景,并为管理员提供了一种交互模式,同时提供了强大的制表支持。

PowerfulSeal 也有一个运行在 OpenStack 上的 K8s 的 Kubernetes 驱动程序,并有支持不同云提供商的驱动程序:Azure、AWS 和 GCP。

结论

当你有一件很复杂很难预测的事情时,真正的问题不会如期发生,问题也不会以已知的模式发生。测试、排查和调试问题的最佳方式是使用适合该环境的工具。在本帖中,我们看到了四个 Kubernetes 故障排除工具,以及它们如何帮助管理员轻松有效地排除 Kubernetes 环境中的故障。

十大 Python 编程作业帮助网站

原文:https://www.askpython.com/resources/top-10-python-programming-homework-help-sites

每一个想在编程方面取得好成绩的学生,如果他们想在学术研究中取得真正的成功,就必须应对持续的家庭作业挑战。编程中的类也不例外。关于编程的事情是,有时你可能在没有完全理解导致解决方案的整个过程的情况下应付它。

理解你的一系列行为是这一当代且具有挑战性的研究课题中最困难的部分。经常,如果不是总是,这条教育道路上最困难的部分归结为抵制“盲目”处理一切的冲动,并花时间完全理解自己的所有方面。如果你没有一个可以向你解释一切的私人老师,这篇文章为你提供了 10 个网站,专业人士可以在这些网站上扮演这个老师的角色,帮助你完成编程作业。尤其是在 Python 中。

1。书虫枢纽

网址:BookwormHub.com

BookwormHub 是一群在许多科学领域有资格的专业人士。他们的专业清单包括核心领域,包括数学、化学、生物、统计学和工程作业帮助。然而,它的主要焦点是提供包括 python 在内的编程作业帮助。

订购编程工作的整个组件是一个非常简单明了的过程,包括 4 个步骤:

  1. 在网站上提交你的学术请求;
  2. 选择一个你个人最喜欢的合适的专家;
  3. 在您的专家工作时,跟踪您的订单进度;
  4. 评价所提供援助的水平。

除了家庭作业服务,BookwormHub 还有一个博客部分,主要致力于 python 语言和包括大量数学的各种科学分支。最重要的是,该网站有一个全天候的客户支持系统。

2。做我的编码

网址:DoMyCoding.com

及时、高质量的专业编程作业帮助的最佳去处之一是 DoMyCoding 网站。这项服务拥有 5 个关键编程领域的专家,他们可以处理和解决任何程度的编程问题。这些字段包括:

  • 计算机编程语言
  • Java 语言(一种计算机语言,尤用于创建网站)
  • C
  • 超文本标记语言
  • java 描述语言

在你的浏览器书签中加入 DoMyCoding 从来都不是一个坏主意,因为你永远不知道当你将来获得一个具有挑战性的家庭作业项目时,你会遇到什么样的困难。如果你有期末要交的编程作业,这可能会特别有用。

3。分配代码

网址:AssignCode.com

一项名为 AssignCode 的成熟服务可以处理任何复杂程度的编程作业,它的创建是为了保证提高你的 GPA。他们成功的原因是除了编程的 5 个主要分支之外,他们还精通数学、化学、物理、生物和工程。

  1. 计算机编程语言
  2. Java Script 语言
  3. 矩阵实验室
  4. 超文本标记语言
  5. 服务器端编程语言(Professional Hypertext Preprocessor 的缩写)

您可以通过滚动专家列表,从 Assign Code 中选择成就和里程碑最符合您个人需求的专家。因此,您将对解决编程问题的过程有更多的控制权。此外,作为客户,如果您对任何订单不满意,该服务的退款保证是您的理想选择。

4。CW 任务

网址:CWAassignments.com

CWAassignments 主要是一个狭隘的编程写作服务网站,为 IT 专业的学生提供家庭作业帮助。就其专业能力而言,它大有可为。以下是他们向编程客户提供的众多产品中的几个类别:

  • 计算机编程语言
  • Java 语言(一种计算机语言,尤用于创建网站)
  • C++
  • 服务器端编程语言(Professional Hypertext Preprocessor 的缩写)
  • 超文本标记语言
  • 结构化查询语言
  • java 描述语言
  • 计算机科学
  • r 编程
  • 数据科学
  • 计算机网络

除了涵盖与 IT 相关的所有内容,CWAassignments 还提供其他密切相关或无关的主题,如数学、微积分、代数、几何、化学、工程、航空、Excel、金融、会计、管理、护理、视觉基础等。

5。任务核心

网址:AssignmentCore.com

另一个出色的服务是 AssignmentCore,它主要专注于编程帮助,但也可以处理其他领域的写作任务。特别是,它涵盖了建筑和设计,以及商业和管理,工程,数学和自然科学的几个子领域。

具体规划的援助服务清单包括以下几个部分:

  • 计算机和网络编程
  • 移动应用程序开发
  • 计算机网络和网络安全
  • 数据科学和分析

与编程关系不大的帮助服务包括:

  • 数字设计、UX 和视觉设计
  • 数据库设计和优化
  • 质量保证和软件测试

6。可爱的编码

网址:LovelyCoding.com

LovelyCoding 的专家们随时准备接受你抛给他们的任何编程问题,想办法解决它们,让整个事情看起来简单、清晰、容易掌握。该服务提供了一个三步质量控制流程和一个持续的客户援助机制。请求流程由三个步骤组成:提交标准、支付费用,以及在任务完成后接收任务。

关于他们的专业,网站分为三个部分的编程帮助。

软件开发帮助

  • 系统软件
  • 应用软件
  • 编程语言

编程帮助

  • 计算机编程语言
  • Java 语言(一种计算机语言,尤用于创建网站)
  • java 描述语言
  • C
  • C++
  • 服务器端编程语言(Professional Hypertext Preprocessor 的缩写)
  • Perl 语言
  • 红宝石
  • HTML 和 CSS
  • 数据库ˌ资料库
  • 机器学习和研究

项目帮助

  • 软件开发
  • Web 开发
  • 应用程序开发
  • 计算机科学

7。FAV 导师

网址:FavTutor.com

FavTutor 是另一个严格意义上的专门面向编程帮助的网站,值得在本文中提及。它与以前网站的主要区别在于它以另一种形式提供帮助。它不是一个任务处理服务,而是一个规程解释服务。

这里有 Java 和 Python 的现场导师,他们会亲自详细解释这个主题。这个过程可以归结为三个步骤:

  1. 分享你的问题
  2. 我们指派最好的导师
  3. 现场和一对一会议

由于实时会议和他们的全天候可用性,您可以在一天中的任何时间与他们的老师联系。除了在线辅导,它还为您提供一套三个完整的编程课程,可以帮助您变得更加知识渊博和 it 独立。

  • 数据科学
  • 面向初学者的 Python
  • Java 编程

8。让我们接触一下

网址:LetsTacle.com

LetsTacle 是一个专门为帮助学生解决大学课程或个人学习过程中可能出现的任何编程问题而创建的网站。它有积极的评论,主要是因为可爱的设计和每个编程领域的高素质专家的数量简单。他们擅长的科目包括:

  • 实时编程帮助
  • 计算机科学作业帮助
  • Python 作业帮助
  • Java 家庭作业帮助
  • C++家庭作业帮助
  • r 家庭作业帮助
  • PHP 家庭作业帮助
  • HTML 家庭作业帮助
  • JavaScript 家庭作业帮助
  • SQL 作业帮助
  • 做我的编程作业
  • Android 分配帮助

除了标准的家庭作业帮助服务包,LetsTacle 还提供文章和学术服务,这是购买个人在线 Python 导师服务的一个选项。

9。作业在线帮助

网址:HomeworkHelpOnline.net

HomeworkHelpOnline 是一个独特的编程家庭作业帮助网站,它为您提供订购完整作业的方式,但它也在自助部分指导您如何自己处理任务。HomeworkHelpOnline 在 4 个方向上工作:

  • 物理学
  • 数学
  • 编程;编排
  • 经济学

每个方向都由大量分支组成。编程包括以下内容:

  • R /统计
  • 计算机编程语言
  • 矩阵实验室
  • Java 语言(一种计算机语言,尤用于创建网站)
  • 擅长
  • 接近
  • SQL 数据库
  • 神经网络
  • C/C++/C#

10。所有作业帮助

网址:AllAssignmentHelp.com

学术辅助网站 AllassignmentHelp 专注于几个数学相关和 IT 相关的学科。除了帮助完成包括 Python 编程在内的任务,该网站还提供了许多有用的工具和资源。列表中的资源包括:

  • 博客
  • 免费样品
  • 题库
  • 学院课程

此外,它还提供参考生成器、字数统计、语法检查和免费剽窃报告等资源。所有这些对任何类型的学术写作都非常有帮助和有益。

使用 Python 的五大工作

原文:https://www.askpython.com/python/top-5-jobs-that-use-python

你在考虑学习 Python 吗?你想知道每周投入的数百小时是否值得吗?有多少工作机会需要使用 Python?它们真的像人们声称的那样有利可图吗?我必须单独使用 Python 才能成为顶级程序员吗?所有这些涉及与编程平台的使用相关联的职业选择的问题将很快被讨论。我们开始吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Python Jobs

1.Python 开发者

对于那些花费大量时间练习编程语言的人来说,成为 Python 开发人员是最好的职业选择之一。自从几年前技术集成的价值上升以来,Python 开发人员的职位在组织中几乎是不可避免的。公司为 Python 开发人员提供了现成的工作,使他们的前端和后端开发保持最新。

Python 编程给你一份负责优化数据算法的工作——主要是从头开始创建后端和前端功能。Python 开发人员拥有解决主要数据分析问题和管理一般数据安全的技能。凭借出色的 Python 编程技能,你可以领导一个前端开发团队。独自负责保证高性能和更快的响应速度。

2.软件工程师

作为一名经验丰富的 Python 开发人员,你也可以扩展你的操作范围,从而在软件工程中获得更多的机会。当然,在使用其他操作系统和编程语言时,您需要更加灵活。然而,当您必须通过测试和调试代码来监督项目时,扩展的知识是有回报的。您需要理解 Python 脚本来定位和修复代码中的错误。

“丰富的 Python 知识让软件工程师在浏览其他编程语言时毫无压力,”—papersowl.com的首席数据科学作家 John Smith 解释道。这份工作也让你负责代码文档,这需要你跟踪项目的细节。像 C++和 Java 这样的其他语言会更好,因为你需要它们来编译、监控和修复数据。

3.数据科学家

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据科学家主要从事结构化和非结构化数据的分析工作。然而今天,在统计学、计算机科学和数学方面的知识有助于获得高价值的个人资料。数据科学家在需要数据提取、分析和处理的组织中工作,以设计结构化模型来实现可操作的计划。他们还帮助管理机器学习程序的数据。

数据科学领域的 Python 工作需要对数据管理有正确的理解,以便准确使用 Python 的丰富功能。仅在过去十年中,对数据科学家的需求就已经超出合理怀疑的范围。如今,成为一名使用 Python 的专业人士可能会让你跻身于世界上薪酬最高的数据科学家之列。现在学 Python,大学毕业拿到 13 万美元的工资中位数,还不晚。

4.数据分析师

网上看的、看的、听的一切都是以数据为基础的。无论您在互联网上创建或消费任何规模的信息,数据都会被无缝地整理和存储。数据专家通过互联网整理数据,以解码模式和含义。然后,这些信息被用于公司的优势,以创建更加用户友好的服务内容。

Python 提供了强大的分析和报告功能,使得数据分析变得轻而易举。该编程平台可以轻松定位互联网上的数据模式、趋势和搜索峰值,并给出清晰的信息报告。他们在所有行业工作,包括金融、银行、医疗保健、汽车、零售商店等。作为一名 Python 开发人员,您的分析技能使您的服务在各种工作中都受到欢迎。

5.机器学习工程师

当今科技界另一个高需求的 Python 工作描述是将数据输入机器。我们现在让机器学习并应用这些知识来创造看似不可能的成就,并取得了证明的结果。机器依赖于统计数据,主要是由 Python 程序员编译并输入系统的数据。像脸书、网飞和亚马逊这样的领先网站使用机器学习来运营。

所有物联网产品都使用人工智能来提供我们今天看到的惊人结果。人工智能是机器学习的一个方面,它允许系统整理用户偏心数据,以获得更好的用户体验。Python 在数据自动化方面的分析特性使编程平台成为将数据整合到机器中的完美工具。理想情况下,它是实现数据科学最有效的工具之一。

结论

还有其他工作机会,比如成为产品经理、教育家或财务顾问,来利用你的 Python 库。Python 作为一个编程平台并不仅仅意味着计算机程序员。如今,销售人员、金融分析师和数字营销专业人士对 Python 课程的需求激增。这些字段需要使用 Python 的分析要素和结果。

值得庆幸的是,要成为一名熟练的 Python 用户,你不必经过哥伦比亚大学这样的高等院校。有高质量的在线 Python 训练营和课程来获得最好的辅导和指导技巧。Python 编程为准备让世界变得更美好的专业人士提供了许多职业机会。即使在大学里,你也可以开始练习产生重大影响。现在就开始!

Python 在现实世界中的 10 大应用

原文:https://www.askpython.com/python/top-applications-of-python

今天我们来谈谈 Python 的顶级应用。Python 简单易学。这种语言促进了应用程序原型的快速开发,因为它的语法简单明了,调试功能强大。


Python 的顶级应用

Python 支持多平台操作系统,这使得应用程序的构建和实现更加容易。一些广为人知的平台有 DropBox、Instagram 等。

现在,让我们来看看 Python 的应用。

1。网络开发

  • Python 可以用来快速开发各种 web 应用。
  • 用 Python 开发一个 web 应用程序要容易得多,因为它提供了许多框架——参见 FlaskDjango
  • Python 框架以其确定性、可靠性和灵活性著称。
  • 这些网络框架简化了诸如内容管理、数据、通信和链接到互联网进程(如 HTTP、SMTP、XML、FTP、POP 和 JSON)的任务

2。桌面图形用户界面应用程序

  • Python 不仅拥有与英语相似的语法,还将架构格式和功能整合到许多操作系统中。
  • 这些特性与它们丰富的文本处理工具相结合,使 Python 成为构建基于桌面的 GUI 应用程序的绝佳选择。
  • Python 提供的一些库有 wxWidgets、PYQT 或 Pyside、Kivy 和 Tkinter

推荐阅读——Top 5 Python GUI 库

3 软件开发

  • 从最简单的程序到为机器学习和人工智能解决问题的复杂数学脚本,Python 全都做了。
  • 这就是为什么软件开发人员使用 Python 作为支持语言来控制构建、测试和管理。

4。商业应用

  • 商业级软件或商业计划明显不同于标准应用程序,因为它们需要可伸缩、可扩展和易读的应用程序,而这正是 Python 所提供的。
  • 由于业务应用程序是在考虑到组织的操作模型的定制需求的情况下开发的,所以整个开发过程变得很复杂。这就是 Python 可以发挥重要作用的地方。

Python 用于业务应用开发的一些工具有:

  • Odoo,一款一体化的管理软件,构建了一套完整的业务管理应用。
  • Tryton 是一个三层、高级、通用的应用程序平台,是另一个创建业务应用程序的神奇工具。

5。基于音频或视频的应用

  • 我们使用 Python 开发可以处理多媒体的应用程序。
  • TimPlayer、Cplay 等视频和音频应用程序都是使用 Python 库构建的。
  • 与其他媒体播放器相比,它们提供了更好的稳定性和性能。
  • 几个多媒体库有:Gstreamer,Pyglet,QT Phonon

6。游戏开发

  • Python 打包了许多有用的扩展,有利于开发交互式游戏。
  • 例如, PyGame 和 PySoy(一个支持 Python 3 的 3D 游戏引擎)等库就是两个广泛用于游戏开发的基于 Python 的库。
  • Python 是流行游戏的基础,如《战地 2》、《坦克世界》、《织女星打击》和《文明 4》。
  • 除了游戏开发之外,游戏创作者还可以使用 Python 来开发这种机制,这将简化许多具体的操作,如关卡设计等。

7。数学和科学应用

  • Python 广泛的库基础已经成为计算机科学中的重要工具。
  • Python 提供了各种科学和数学库,这使得解决许多复杂问题变得更加容易。

下面提到了一些用于科学和数字应用的流行 Python 框架/包:

8。机器学习和人工智能

  • AI 和 ML 的模型和项目自然不同于传统的软件模型。
  • 当涉及到 AI/ML 项目时,所使用的工具和技术以及所需的技能与标准软件项目的构建完全不同。
  • Python 拥有开发人员创建人工智能算法所需的所有功能,因此,Python 已经成为数据科学专家最流行的语言之一。

Python 的简单性、一致性、平台独立性、大量知识丰富的库和工作社区使其成为开发 AI 和 ML 程序的理想工具。一些最好的 Python AI 和 ML 包是:

  • 用于通用数据分析的熊猫
  • Keras, TensorFlow, and Scikit-learn for ML
  • 高级计算科学

9。教育计划和培训课程

  • 如果有任何编程语言,首先,它是 Python。
  • Python 简单的学习曲线和简单性是它成为教育项目中使用最广泛的语言之一的两个重要原因,无论是在小学还是在大学。

10。语言发展

  • 多年来,Python 设计和模块开发一直是许多编程语言(如 Boo、Swift、Coffee-Script、Cobra 和 OCaml)开发的驱动力。
  • 由于对象模型、语法和缩进等原因,所有这些语言都与 Python 有许多相似之处。

最后的话…

在了解了所有这些丰富多样的应用程序之后,可以有把握地得出结论,Python 能够管理几乎任何开发需求。

在过去的几年里,Python 程序在数据科学领域也获得了新的发展空间,尤其是在机器学习领域。

Python 的 5 大最佳 ide

原文:https://www.askpython.com/python/top-best-ides-for-python

我们 AskPython 热爱这门语言!Python 是我们的最爱,今天我们将讨论 Python 的最佳 ide。作为一名程序员,我们花了太多时间在文本编辑器或 IDE 上,我们需要它成为最适合我们需求的。

因此,在开始列出 ide 之前,让我们先回答两个简单的问题。

什么是 Python IDE,我们为什么需要它?

IDE 代表集成开发环境,是一个功能丰富的软件工具,配有调试器。它们具有自动完成的特性,允许轻松编码,因此使它们成为沉重的包。ide 比文本编辑器需要更多的系统资源,占用更多的内存。

文本编辑器与 IDE 有什么不同?

文本编辑器是 IDE 的简化版本,占用较少的内存空间,用户可以安装必要的插件来简化编码和提高性能。因此,代码编辑器更适合不太先进的机器。

Python 的 5 大最佳 ide

这里有一个最好的 Python IDEs 的快速列表:

  1. py charm IDE-最流行的 Python IDE!

  2. 崇高的文本(Sublime Text)–一个可扩展的文本编辑器,可以在文本编辑器中轻松运行 Python 脚本

  3. VS 代码–微软开发的代码编辑器是 Python 的完美 IDE。它非常光滑,非常稳定,而且非常轻便。

  4. Atom 编辑器–另一个非常可扩展的文本编辑器,完全有能力成为 Python 的最佳 IDE。非常光滑和现代的界面与美丽的主题。

  5. VIM 编辑器——这是给 Python 爱好者的。这是一个基于命令行的文本编辑器,具有高度的可定制性,超过了列表中的其他编辑器。它有一个入门的学习曲线。

1.PyCharm IDE——最流行的 Python IDE

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PyCharm IDE

PyCharm 是专门为 Python 开发设计的 IDE。尽管它与其他语言兼容,但它对于处理 Python 代码以及 Python 模块和像 Django 这样的框架非常强大。它使用 PEP8 风格的动态编码验证建议,并与 Anaconda 和其他版本控制系统无缝集成。

与 VS 代码编辑器非常相似,它也是一个强大的调试器。它有能力安装各种插件和软件包。

PyCharm 提供的数据库和服务器连接特性非常通用和高效。

PyCharm 的一个缺点是使用了大量的系统资源,从而使其成为一个沉重的 IDE。它在索引文件时停止加载。

PyCharm 有两个版本,即社区版和专业版。然而,对于新开发人员,我们建议使用社区版,因为它是免费的,在各种网站上都有大量的支持。

PyCharm 可在https://www.jetbrains.com/pycharm/download/下载

2.sublime Text——Python 的最佳文本编辑器集成开发环境

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sublime Text

Sublime Text 是一个轻量级编辑器,用于小型项目和一些轻量级脚本。用户界面简单,简约,直观,容易适应程序员。它非常快,很少遇到任何问题。

软件包控制功能允许安装必要的插件。这确保了仅由用户挑选并应用于工作空间的附加组件,并因此确保了用户不会被任何其他附加组件及其建议分散注意力。

编辑器可在https://www.sublimetext.com/下载

3.VS 代码——微软为 Python 和其他语言开发了 IDE

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Visual Studio Code By Microsoft

VS Code 是微软公司维护的一个 IDE,并不断获得许多附加特性。与其他 IDE 相比,它是一个轻量级的 IDE。它包括一个调试器和一个内置的编译器和解释器。

由于兼容每一种编程语言,许多程序员更喜欢 VS 代码用于 web 开发和更大的项目。

用户界面非常好,尽管许多用户觉得它过于拥挤。然而 Python 不是 VS 代码中的默认语言,需要安装在编辑器上才能得到支持。

此外,VS 代码包含 Zen 模式,它将完整模式的 IDE 变成了一个极简编辑器。

IDE 可在https://code.visualstudio.com/download下载

4.atom——一个现代化的文本编辑器,有许多插件来增加功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Atom Editor

Atom 是一个时尚、轻量级的编辑器,受到很多开发人员的喜爱。这是免费的,易于安装。它最初由 GitHub 开发,包含许多插件,可以用来实现类似 IDE 的功能。

用户界面非常好,默认设置下不会占用很多系统资源。Atom 是高度可定制的,并带有许多插件。对于新手来说是一个很棒的选择。对于 Atom,您可能会错过的一个特性是调试器

atom 编辑器可在https://atom.io/下载

5.Vim 编辑器 Python 的最佳 CLI 文本编辑器,具有高度的可定制性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Vim Editor

Vim 是一个非常轻量级但非常强大的命令行文本编辑器。它可以在任何操作系统上运行。它也可以从命令行打开和使用。Vim 有强大的键盘快捷键,但定制有限。

它有大量可用的插件。VIm 的一个警告是其陡峭的学习曲线!对于许多只想开始使用 Python 脚本的程序员来说,这可能是一个障碍。

但是对于爱好者、黑客和极客来说,这个文本编辑器可以满足你对文本编辑器的所有需求,甚至更多!

Vim 编辑器可在https://www.vim.org/download.php下载

我们的裁决

我们喜欢所有这 5 个!但是作为一群完全的 Python 爱好者,我们大多数人坚持将 VIM 作为 Python 代码的首选编辑器/解释器。

如果您喜欢 GUI,我强烈建议尝试一下 Atom。它非常漂亮,你实际上想继续使用它,只是因为它看起来如此光滑。

最后,如果您想让 Python 编程开箱即用,PyCharm 是您的最佳选择。

最后…

仅此而已。是的,这是一个很短的列表,但是我们只想列出那些我们个人在团队中使用过的编辑器或 ide。我们非常喜欢所有这些 IDEs 编辑器,尤其是 Atom 和 VIm。

但是现在聚光灯对准了你。你最喜欢的 Python IDE 是什么?请在下面的评论中告诉我们!

Python:顶级机器学习库

原文:https://www.askpython.com/python-modules/top-best-machine-learning-libraries

你好,初学者!你是机器学习爱好者吗?

机器学习让你兴奋吗?!如果你的答案是肯定的,那么你一定知道我下面列出的库。

Library 1: Python Keras

模块的目的

Keras 是一个开源库,主要用于在 CPU 和 GPU 上实现深度学习概念和模型。它主要用于以更快更有效的方式实现神经网络

优势

  1. 它能够直接、快速和有效地实现深度神经网络。
  2. 它还支持 TensorFlow 的大多数核心库(python 中的另一个库)
  3. 它也带来了巨大的社区支持。

不足之处

  1. 有时,它的用户友好性甚至使它在 GPU 上运行缓慢。
  2. Keras 中的错误日志很难调试,这有时会很烦人。

程式库 2: Python Matplotlib

模块的目的

Matplotlib 库主要用于图像、各种类型的绘图和图像的可视化。它不受平台限制,可以在 Windows、Mac OS 和 Linux 网络上运行。

Matplotlib 已经成为与 Python 编程语言一起使用最广泛的图形库之一,用于数字和数据图形绘制。

优势

  1. 这是一个开源库,这意味着人们不需要通过游戏来获得使用该库的许可
  2. 这是一个非常可定制和可扩展的库
  3. 非常便携。

要深入图书馆,请查看本教程。

库 3: Python NLTK

模块的目的

NLTK 是最受欢迎的用于教育和研究目的的图书馆之一。这是精确文本分析的最佳选择之一。

该库附带了许多预先训练好的模型和语料库(大量数据),这使得数据分析对我们来说更加容易。

优势

  1. 与 Python 中的其他库相比,该库支持更多的语言
  2. 在 NLTK 下,Python 程序员可以使用各种各样的开源 NLP 库

不足之处

  1. 它是缓慢的,最初难以使用和理解
  2. 不支持神经网络实现

要深入了解图书馆,请查看下面提到的教程:

  1. 使用 NLTK 的标记化
  2. Python 中的词干化和词汇化

库 4: Python NumPy

模块的目的

NumPy 代表 Numerical Python,它帮助程序员以数组的形式有效地存储和处理大量数据。这是一个开源库,你可以免费使用。

优势

  1. 与列表和元组相比,占用更少的内存空间和运行速度。
  2. 非常适合数据分析
  3. 支持阵列上的复杂操作

不足之处

  1. 对于 numpy 数组来说,插入和删除操作的成本会很高
  2. 处理 NaN(非数字)值

要快速了解 numpy 模块的实现,请点击这里查看教程右侧的。

库 5: 熊猫

模块的目的

Pandas library 负责处理数据加载、处理和分析,包括数据集的加载、准备、操作、建模和分析。这是一个非常灵活和高效的库。

优势

  1. 用更少的代码完成更多的结果
  2. 使用熊猫可以有效处理大量数据

不足之处

  1. 熊猫的一些指令比其他指令更复杂
  2. 有一个非常陡峭的学习曲线

要从 pandas 模块实现开始,请点击这里查看教程右侧

库 6: Scikit-Learn

模块的目的

Sklearn 或 scikit-learn 库是最有用的开源库之一,可用于在 Python 中实现机器学习模型。一些模型包括回归、分类、维数减少和聚类。

优势

  1. 使用方便
  2. 非常通用和方便
  3. 提供详细的 API 文档

不足之处

这个库并不是深度学习算法的最佳选择。

Library 7: TensorFlow

模块的目的

Tensorflow 是 Google 构建和开发的开源机器学习框架。它提供了一种抽象和高级的方法,用于在低级上安排计算编程。

该库还包括支持库,可以允许我们的软件在常规 CPU 上运行而无需更改。它也受到各种设备的支持。

优势

  1. 更好的图形表示
  2. 可扩展且高效
  3. 出色的社区支持
  4. 高性能

不足之处

  1. 很难发现错误,也很难调试
  2. 非常低的水平,学习曲线很陡
  3. 找不到对 OpenCL 的支持。

结论

在本文中,您了解了一些用 Python 编写的用于机器学习的顶层库。库/模块有助于程序员避免反复编写一些代码。
敬请期待阅读更多!

感谢您的阅读!

6 种编程语言将在 2021 年占据主导地位

原文:https://www.askpython.com/python/top-best-programming-languages-dominate

我们生活在一个相当不可预测的时代,然而,编程行业仍然相当稳定,我们已经可以看到今年的编程趋势。让我们仔细看看最有可能在 2021 年占据主导地位的 6 种编程语言。

让我们开始吧!

2021 年的 6 种主流语言

在这一部分,我们将揭示 6 种相互竞争的编程语言。它们没有特定的顺序,所以如果你看到你最喜欢的语言列在其他语言下面,不要担心。

1.Java 语言(一种计算机语言,尤用于创建网站)

通常,Java 似乎正在离开主屏幕,但是当我们看一下统计数据时,Java 设法在所有其他语言中占据了最高的位置。正如你所知道的,我们在全球有 800 万 Java 开发人员,仅仅这个数字就足以计算出这种编程语言的其余部分。

下面是一些可靠的资源,您可以从中学习 Java 开发:

一个游戏化的交互式 Java 学习平台,拥有 1200 多个任务和一个超级活跃的开发者社区。CodeGym 非常容易理解,通过 500 多个小时的练习,你可以从高质量专家创建的课程中获得你真正期望的东西。

CodeChef 是另一个很好的学习门户,旨在满足有抱负的 Java 开发人员的需求。

Pluralsight 提供了一个相当打包的交易,其中包含了 Java 编程语言各个主题的课程。这个平台提供了一种实用的方法,让你理解如何用 Java 编码。

2.计算机编程语言

Python 的 Redmonk 排名真的很例外。当谈到人工智能系统的开发时,Python 是想到的一个,并且肯定会在今年大放异彩。

如果您想学习这种编程语言,请浏览以下资源开始学习:

这确实是一个非常丰富的 Python 学习门户,它提供了一些专题讲座,您可以参与其中并发展所需的技能。如果你在某个地方陷入困境,一个超过 50 万开发人员的庞大社区会帮你摆脱困境。

这一系列的 Python 学习是为了教授和测试您的能力。如果你选择使用这个平台,你会得到代码来猜测输出,这样,你就可以一直提高解决问题的能力。

这个平台的座右铭是“火箭科学用编程,但编程不是火箭科学”!当谈到 Python 相关的东西时,这个在线门户是得天独厚的。

3.我的锅

Kotlin 也被称为 JVM 家族的语言,被广泛用于 Android 编程,对这种语言的普遍看法是非常积极的。特别是由于它能够在各种系统环境中运行,Kotlin 是函数式编程特性和过程式编程特性的完美结合。

想学科特林?请参考以下资源:

如果您已经是一名 Java 开发人员,学习 Kotlin 就像吃一块馅饼一样简单!等你注册了“面向 Java 开发人员的 Kotlin”课程,你就能亲眼看到了。

到目前为止,您已经知道 Kotlin 与 Java 有些关系。记住这一点,这个完整的开发者课程将告诉你两种语言之间的细微差别。如果你想充分利用你的编程生涯,一定要报名参加这个课程。

顾名思义,这门课程从科特林的基础开始教你。您将了解导致高级 Kotlin 初始阶段的基本结构、构造、循环和变量。

4.迅速发生的

iOS 移动开发者需求的快速增长,让 Swift 语言的图形暴涨。它基本上是由苹果公司推出的,你可以掌握它,开始作为一名 iOS 开发人员的职业生涯。以下是您可以用来掌握这门语言的资源:

本课程将通过让您了解 Swift 基础知识,让您掌握创建与增强现实领域相关的应用的艺术。通过苹果新的 ARKit 框架,你还将学习如何利用机器学习来使用 AR。

Udemy 的这门课程是最热门的销售课程之一。这是一个 3 合 1 的一揽子交易,在这个交易中,你将学习 iOS 应用程序的设计、开发和 UI/UX。

这是另一门很棒的课程,提供了大量学习 iOS 应用程序的整个 SDLC 的机会。从通向高级知识的基础开始,你将学习关于 iOS 框架范例和应用程序开发的一切。

5.C/C++

毫无疑问,C/C++是最古老的编程语言之一,但它们从未失去可信度和可用性。事实上,这两种语言都是当今流行的许多高级编程语言的基础。

以下是一些可以用来学习这些语言的资源:

  • Udemy: C 和 C++编程:分步教程

使用本教程启动您的学习过程将在许多方面对您有所帮助,因为它从非常基础的代码示例开始,并以超越数据结构的方式结束。

  • Udemy: C,C++,Java 面向初学者的编程大词典

这是一门相当复杂的课程,如果你已经对这些语言中的每一种有了基本的了解,你就应该去学。本课程充满了互动环节,讲师将让您参与到积极的学习训练营中。

  • Udemy: 掌握 C++编程——从零到英雄

你需要上这门课,因为它是基础知识、中间概念和高级数据结构的混合计算。要跟上这门课的进度,你需要做的就是在教学过程中保持警惕。

6.JavaScript (JS)

如果有一个奖项颁发给一种如此通用的语言,它现在涵盖了后端和前端,JS 将会是最终的赢家。JavaScript 用包括 React、Vue.js 和 Angular 在内的前端框架和包括 Node.js 和 Electron.js 在内的后端框架杀死了它!

当学习 JS 在队列中时,以下资源是必须遵循的:

  • Udemy: 现代 JavaScript 从头开始

凭借 4.7 星的评级和超过 11,000 名满意的 JS 学习者,该课程无疑是最优秀的课程之一。它有大约 22 小时的点播视频和 100 多个可下载的视频。有了这门课程,你可以很容易地理清你的 JS 概念,成为一名狂热的 JS 程序员。

  • Udemy: JavaScript:理解奇怪的部分

本课程大约有 12 个小时的点播视频讲座,可以自学完成。此外,它还包括 7 篇关于这个主题的文章和 50 多篇资源丰富的下载资料。然而,给你一个额外的建议是,如果你对 JS 有中等水平的了解,就报名参加这个课程,只有这样,它才会让你受益。

  • Udemy: 高级 JavaScript 概念

到目前为止,我们相信您已经完成了基础知识,现在您希望掌握更高级的概念。“高级 JavaScript 概念”课程包括 24 小时的点播视频讲座、24 篇关于该主题的可下载文章以及其他可靠资源,利用这些资源,您可以成为发展迅速的受尊敬的学习者社区的一员。

包扎

既然我们已经列出了将在 2021 年占主导地位的 6 种编程语言,那么我们就把选择哪种语言的决定权交给你了!做出最好的决定,继续学习这门语言,今天就开始学习吧!

前 5 名最佳 Python GUI 库

原文:https://www.askpython.com/python-modules/top-best-python-gui-libraries

在本文中,我们将介绍可以在项目中使用的前 5 个 Python GUI 库。请继续阅读,了解它们。

什么是图形用户界面?

GUI 或图形用户界面是一种交互式环境,用于在各种情况下(如表单、文档、测试等)接收用户的响应。它为用户提供了一个比传统命令行界面(CLI)更好的交互式屏幕。

最佳 Python GUI 库列表

让我们进入正题,看看 Python 的顶级 GUI 库。

1.PyQT5

PyQT5 是 Python 的图形用户界面(GUI)框架。它在开发人员中很受欢迎,GUI 可以通过编码或 QT 设计器来创建。QT 开发框架是一个可视化框架,允许拖放小部件来构建用户界面。

它是一个免费的开源绑定软件,是为跨平台应用开发框架而实现的。在 Windows、Mac、Android、Linux、树莓 PI 上使用。

对于 PyQT5 的安装,您可以使用以下命令:

pip install pyqt5

这里演示了一个简单的代码:

from PyQt5.QtWidgets import QApplication, QMainWindow
import sys

class Window(QMainWindow):
   def __init__(self):
       super().__init__()

       self.setGeometry(300, 300, 600, 400)
       self.setWindowTitle("PyQt5 window")
       self.show()

app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())

上述代码的输出如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PyQt5

ScienceSoft 的团队 Python 开发者 强调了使用 PyQt 的好处:

PyQt 是一套成熟的 Python 绑定到 Qt,用于桌面应用的跨平台开发。它提供了丰富的内置小部件和工具,用于定制小部件的创建,以形成复杂的 GUI,以及强大的 SQL 数据库支持,以连接到数据库并与之交互。

2.Python Tkinter

另一个 GUI 框架叫做 Tkinter 。Tkinter 是用于开发桌面应用程序的最流行的 Python GUI 库之一。它是 TK 和 python 标准 GUI 框架的组合。

Tkinter 提供了各种各样的小部件,比如在图形用户界面应用程序中使用的标签按钮、文本框、复选框

按钮控件小部件用于显示和开发应用程序,而画布小部件用于绘制线条、多边形、矩形等形状。在应用程序中。再者,Tkinter 是 Python 内置的,不需要像其他 GUI 框架一样安装。下面给出了一个使用 Tkinter 编码的例子。

from tkinter import *

class Root(Tk):
    def __init__(self):
        super(Root,self).__init__()

        self.title("Python Tkinter")
        self.minsize(500,400)

root = Root()
root.mainloop()

上述代码的输出如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Tkinter

3.PySide 2

我们将要讨论的第三个 Python GUI 库是 PySide2,或者你可以称之为 Python 的 QT。Qt for Python 提供了 Qt 的官方 Python 绑定(PySide2),支持在 Python 应用程序中使用其 API,以及一个绑定生成器工具(Shiboken2),可用于将 C++项目公开到 Python 中。

Python 的 Qt 可以在 LGPLv3/GPLv3 和 Qt 商业许可下获得。

现在让我向您展示安装过程和一个例子。因此,对于安装,您可以简单地使用:

pip install PySide2

下面是一个使用 PySide2 建立 GUI 框架的例子。

from PySide2.QtWidgets import QtWidgets, QApplication
import sys

class Window(QtWidgets):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Pyside2 Window")
        self.setGeometry(300,300,500,400)

app = QApplication(sys.argv)
window=Window()
window.show()
app.exec_()

上述代码的输出如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pyside2

4. Kivy

我们将要讨论的另一个 GUI 框架叫做 Kivy。Kivy 是一个开源 Python 库,用于快速开发利用创新用户界面的应用程序,如多点触摸应用程序。

Kivy 可以在 Linux、Windows、OS X、Android、iOS 和 Raspberry Pi 上运行。您可以在所有支持的平台上运行相同的代码。它可以本机使用大多数输入,协议和设备,包括 WM_Touch,WM_Pen,Mac OS X 触控板和 Magic Mouse,Mtdev,Linux 内核 HID。

在麻省理工学院的许可下,Kivy 可以 100%免费使用。

该工具包是专业开发、支持和使用的。你可以在商业产品中使用它。该框架是稳定的,有一个记录良好的 API,外加一个编程指南来帮助您入门。

Kivy 的图形引擎是在 OpenGL ES 2 上构建的,使用了一个现代化的快速图形管道。

该工具包附带了 20 多个小部件,都是高度可扩展的。许多部分都是使用 Cython 用 C 语言编写的,并用回归测试进行了测试。

来到 Kivy 的安装,需要安装依赖项“glew”。您可以使用如下的 pip 命令:

pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

输入这个命令并按回车键,它将被安装。之后,您需要键入以下命令来安装 Kivy:

pip install Kivy

所以在安装之后,让我给你看一个简单的 Kivy 的例子来说明它有多简单。

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text= " Hello Kivy World ")

TestApp().run()

上述代码的输出如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Kivy

5.wxPython

所以我们要讨论的最后一个 GUI 框架是 wxPython。wxPython 是 Python 编程语言的跨平台 GUI 工具包。

它允许 Python 程序员简单方便地创建具有健壮、高功能图形用户界面的程序。它是作为一组 Python 扩展模块实现的,这些模块包装了流行的 wxWidgets 跨平台库的 GUI 组件,该库是用 C++编写的。

与 Python 和 wxWidgets 一样,wxPython 也是开源的。

wxPython 是一个跨平台的工具包。这意味着同一个程序无需修改就可以在多个平台上运行。目前,支持的平台是微软视窗系统,苹果 OS X 和苹果操作系统,以及 Linux。

现在,我将向您展示安装过程,并创建一个简单的示例。因此,对于安装,只需键入以下命令:

pip install wxPython

这里有一个例子:

import wx

class MyFrame(wx.Frame):
    def __init__(self,parent,title):
        super(MyFrame,self).__init__(parent,title=title,size=(400,300))

    self.panel=MyPanel(self)

class MyPanel(wx.Panel):
    def __init__(self,parent):
        super(MyPanel,self).__init__(parent)

class MyApp(wx.App):
    def OnInit(self):
        self.frame=MyFrame(parent=None, title= "wxPython Window")
        self.frame.show()
        return True

app = MyApp()
app.MainLoop()

上述代码的输出如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

WxPython

结论

现在我们已经看到了 5 个 Python GUI 库,在我看来,PySide2 和 pyQt5 是更强大的 GUI 框架。但是它们有商业许可证,这解释了为什么它们功能丰富。Tkinter、Kivy 和 wxPython 是 Python 的免费 GUI 库。

Python 中你最喜欢的 GUI 库是什么?

你必须知道的 Python 中的 5 大机器学习算法

原文:https://www.askpython.com/python/examples/top-machine-learning-algorithms

下面是五个最适合初学者的机器学习算法。机器学习已经发展到用复杂的方法解决当前挑战的最流行的方法。


算法 1:神经网络

我们最优秀的成就之一是一个 人工神经网络 。如图所示,我们开发了一个节点网络,这些节点相互连接,类似于我们大脑中的神经元。

通俗地说,每个神经元从另一个神经元接收信息,进行处理,然后作为输出发送给另一个神经元。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Neural Network Demonstration

每个圆形节点代表一个人工神经元,每个箭头象征一个神经元的输出和另一个神经元的输入之间的联系。

神经网络不是预测购买或出售决策,而是在用于发现不同资产类别之间的相互依赖性时更有效。

如果你想了解更多关于神经网络的知识,请查看下面提到的教程:


算法 2:朴素贝叶斯

朴素贝叶斯分类器 是一个众所周知的概率分类器,可以区分众多项目。

由于其速度和精度,它以其实时分类而闻名。贝叶斯定理主要确定事件发生的可能性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Naive Bayes Demonstration

预测测试数据集的种类既简单又快捷。它还擅长多类预测。

由于其优越的数学方法,朴素贝叶斯模型易于实现,并且对于非常大的数据集特别有用。

由于其实时分类的能力,该方法优于另一种算法。

如果你想了解更多关于朴素贝叶斯的知识,请参考下面的教程:

朴素贝叶斯分类器与 Python


算法 3: K 均值聚类

这些机器学习算法的目的是基于数据点的相似性来标记数据点。因此,我们在运行该方法之前没有定义集群;相反,算法在运行时会发现这些聚类。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

KMeans Demonstration

k-均值聚类可能对那些相信不同资产之间可能存在表面上看不到的共性的交易者有利。

如果您想了解更多关于 KMeans 的知识,请查看下面提到的教程:


算法 4:逻辑回归

对于二元分类,逻辑回归是最适合的。逻辑回归是 f(x)= 1/(1+ex)的函数。这个函数是一个衰减的指数函数,最大值为 1。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Logistic Regression Demonstration

回归的基本目标是识别最佳系数。我们可以用这些系数来减少结果中的误差。


算法 5:主成分分析

通过减少变量,主成分分析(PCA)用于使数据更容易分析和显示。

在一个新的坐标系中捕捉数据的最大方差,该坐标系的轴称为“主分量”每个正交分量都是原始变量的线性组合。

成员之间正交性的存在意味着这些组件之间没有相关性。

第一个主成分捕获了数据中最大的变化量。第二个主成分代表数据中的剩余变量,但包含与第一个无关的变量。

类似地,所有随后的主成分捕获剩余的变化,同时保持与先前的成分无关。


结论

恭喜你!您刚刚了解了 Python 编程语言中最值得学习的 5 种机器学习算法。希望你喜欢它!😇

感谢您抽出时间!希望你学到了新的东西!!😄


如果你想了解更多关于逻辑回归的知识,请查看下面提到的教程:

将 WordPress 网站转换成移动应用的顶级插件

原文:https://www.askpython.com/python/top-plugins-to-convert-a-wordpress-site-into-a-mobile-app

你想把你的 WP 网站转换成应用程序吗?你可以选择一个 WP 应用插件来帮助你做到这一点,而不必支付昂贵的开发费用。

在这篇文章中,我们将详细讨论八个最好的 WordPress 应用构建器插件,它们为你的 WordPress 站点提供了两种不同类型的应用:

  • 原生 app 是大多数人听到 app 这个词想到的。你的访问者通过他们设备上的应用商店下载它。
  • 渐进式网络应用程序允许在网站上与访问者互动,而无需安装自己的应用程序。访问者仍然可以在他们的主屏幕上添加这样的应用程序,并且你可以启用离线功能和推送通知。

在我们进入插件列表之前,重要的是要提到,即使是特殊插件的使用也只能委托给专业人员。如果你的网站是由 WordPress 开发者团队开发的,那么最好也把插件的工作委托给 pros。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.app presser——Android 和 iOS 的原生应用

AppPresser 是最著名的 WordPress 应用程序创建工具之一。它是这样工作的:使用单独的 AppPresser 应用程序接口创建应用程序。然后你使用 WordPress 上的一个免费插件,通过 REST API 将你的 WordPress 站点连接到 AppPresser。这个连接允许你同步你的应用程序数据和你的 WP 站点。

AppPresser 拥有比你能找到的许多其他插件更深入的功能。它特别支持以下插件:

  • Woocommerce,
  • 巴迪出版社,
  • LearnDash。

该插件还允许您:

  • 从你的手机相机里拍照,然后上传到 WordPress。
  • 以几种有趣的方式使用地理定位。
  • 发送推送通知。
  • 通过应用程序登录 WordPress/注册。

总的来说,如果你想为你的用户提供更个性化的体验,AppPresser 是一个很好的选择。

2.WordPress Mobile Pack——用于渐进式网络应用程序

这是一个免费的插件,可以很容易地把你的 WP 网站变成一个进步的网络应用程序。WordPress Mobile Pack 附带了几个主题,可以快速建立一个设计美观的网站。您可以选择应用程序中应包含哪些内容,以及是否从 Google Ad Manager 添加广告。

总的来说,如果您想快速、轻松地创建一个优秀的渐进式 web 应用程序,这是一个不错的选择。虽然 WordPress.org 上有一个基本的免费版本,但您可能需要付费版本,因为它将提供:

  • 更多可用主题,
  • 弹出通知,
  • 离线模式,
  • HTTPS 支持。

3.Android app——Android 和 iOS 的本地应用

它非常擅长组织本地应用。而且,尽管名字如此,它在 Android 和 iOS 上都可以做到。您可以从几个应用程序主题中进行选择,您的应用程序可能包括:

  • 弹出通知,
  • 通过 Admob 或 Appnext 货币化,
  • 社会交换,
  • 评论支持,
  • 无尽滚动。

在定制应用程序时,你有相当多的选择,包括包含你自己代码的空间。然而,这个插件不提供像 AppPresser 这样的内置集成。

4.超级渐进式网络应用

正如你从名字中可以猜到的,超级渐进式网络应用程序是一个很好的工具,可以将你的 WP 网站转换成渐进式网络应用程序。

这很容易设置:

  • 选择多种颜色,
  • 选择起始页,
  • 选择一个方向。

如果你需要更多的功能,两个免费的插件可以让你添加 UTM 跟踪和安装苹果触摸图标。

5.WP-app kit——灵活的本地或渐进式 Web 应用

WP-AppKit 提供功能集成,让你最大限度地控制你的应用程序的工作方式。如果您正在寻找即插即用的解决方案,这不是一个好的选择。但是,如果你想定制你的应用程序的功能,并控制它显示的信息,WP-AppKit 给了你正确的控制水平。

例如,当您要构建应用程序时,您将能够添加单个组件,然后将这些组件添加到菜单中。组件可以是页面、文章类型等。如果您是开发人员,您可以使用钩子创建自己的组件。

除了您在上面看到的免费功能之外,还有两个付费附加组件:

  • 谷歌分析整合,
  • Pushwoosh 用于推送通知。

这个插件肯定更侧重于开发者和有经验的用户。但是如果那是你想要的,试着掌握这个提供更多控制的好插件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.WAP press/iwapp press—Android 和 iOS 的原生应用

Wapppress 和 iWappPress 是来自同一个开发者的两个插件。如果你一起使用它们,这允许你为 Android 和 iOS 创建本地应用。

两者的独特卖点是创建一键式应用程序。换句话说,他们可以把你的 WordPress 站点变成一个本地应用,而不需要任何技术知识或者详细的配置。它们都是 CodeCanyon 的优质解决方案。他们有详细的演示,您可以在做出选择之前使用。

您只需运行一些基本的配置选项,单击一个按钮,然后等待应用程序被创建。其他功能包括:

  • 弹出通知,
  • 在 Google AdMob 中整合广告,
  • 多个应用程序主题可供选择。

7.MobiLoud——WordPress 应用构建器服务

根据创建者的说法,MobiLoud 是“一个专门为 WordPress 设计的应用创建服务。”这并不便宜,但服务包括:

  • App 创作,
  • 在应用程序商店中发布应用程序,
  • 应用支持。

所以,如果你不想深究将 WP 网站转换成应用的细节,这可能是你的一个好选择。你只是为了方便而付钱!

8.frontity——为高流量网站定制的 WordPress 渐进式网络应用程序

Frontity 肯定不适合所有人,因为他们只接受最低流量的网站。但是,如果你是一个大型网站的所有者,并且想开发一个 WordPress 渐进式网络应用程序,这可能是一个不错的选择。

我们希望上述推荐的应用程序中至少有一个能够满足您的需求和期望。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值