PythonGuides 博客中文翻译(五十九)
原文:PythonGuides Blog协议:CC BY-NC-SA 4.0如何在 Python 中从路径中获取文件名原文:https://pythonguides.com/python-get-filename-from-the-path/在这个 Python 教程中,我们将讨论如何从路径中获取文件名,我们也将看到如何在 Python 中获取文件大小。Python 从路径中获取文件名Python
如何在 Python 中从路径中获取文件名
原文:https://pythonguides.com/python-get-filename-from-the-path/
在这个 Python 教程中,我们将讨论如何从路径中获取文件名,我们也将看到如何在 Python 中获取文件大小。
- Python 从路径中获取文件名
- Python 获取文件大小
- Python 从文件名中获取文件扩展名
- Python 获取不带扩展名的文件名
目录
Python 从路径获取文件名
为了从 Python 中的路径获取文件名,我们需要导入 os,然后添加路径。
举例:
import os
print()
print(os.path.basename('E:\project-python\string\list.py'))
print()
在编写了上面的代码(python 从 path 中获取文件名)之后,您将打印这些代码,然后输出将显示为 " list.py "
。你可以参考下面的截图从路径创建一个 python get 文件名。
Get filename from the path in Python
上面的代码,我们可以用 Python 中的从一个路径中获取文件名。
你可能也喜欢,如何使用 Python 中的熊猫 drop()函数?
Python 获取文件大小
在 python 中,为了获得文件大小,我们将使用 os 模块,python os 模块具有 getsize()
函数,其中文件名作为参数传递,并以字节为单位返回文件的大小。
import os
file_size = os.path.getsize('E:\project-python\datafile.txt')
print('Size of file is', file_size, 'bytes')
写完上面的代码(Python 获取文件大小),你将打印出 "file_size"
,然后输出将显示为**“文件大小为 78 字节”**。这里,我们使用 getsize()函数来获取文件的大小。你可以参考下面的截图 Python 获取文件大小。
Get file size in Python
这就是我们如何在 Python 中获得文件大小。
Python 从文件名中获取文件扩展名
为了从文件名字符串中获取文件扩展名,我们将导入 os 模块,然后我们可以使用方法 os.path.splitext()
。它会将路径名分成一对根和扩展名。
举例:
import os
f_name, f_ext = os.path.splitext('file.txt')
print(f_ext)
写完上面的代码(Python 从文件名中获取文件扩展名),你将打印出**“f _ ext”,然后输出将显示为。txt "** 。这里,文件名将被分成两部分,当我们打印 f_ext 时,它将给出文件名的扩展名。你可以参考下面的截图 Python 从文件名中获取文件扩展名。
Python get file extension from filename
这就是我们如何在 Python 中从文件名中获取文件扩展名。
Python 获取不带扩展名的文件名
为了在 python 中获取不带扩展名的文件名,我们将导入 os 模块,然后我们可以使用 os.path.splitext()
方法获取名称。
举例:
import os
f_name, f_ext = os.path.splitext('file.txt')
print(f_name)
写完上面的代码(Python 获得不带扩展名的文件名),你将打印出**“f _ name”,然后输出将显示为“文件”**。这里,文件名将被分成两部分,当我们打印 f_name 时,它将删除扩展名。你可以参考下面的截图 Python 获取不带扩展名的文件名。
Python get filename without extension
这就是如何在 Python 中获得不带扩展名的文件名。
您可能会喜欢以下 Python 教程:
- 使用 Visual Studio 代码用 python 创建一个 hello world 程序
- Python 字符串函数
- Python 类型错误:“列表”对象不可调用
- 如何在 python 中把整数转换成字符串
- 如何在 python 中连接字符串
- Python 命名约定
- 如何在 python 中使用正则表达式拆分字符串
- 如何在 Python 中创建字符串
在本 Python 教程中,我们将讨论如何从 Python 的路径中获取文件名,以及以下内容:
- 如何在 Python 中从路径中获取文件名
- 如何在 Python 中获取文件大小
- 如何在 Python 中从文件名中获取文件扩展名
- 如何在 Python 中获得不带扩展名的文件名
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python GUI 编程(Python Tkinter)
想了解更多关于 Python GUI 编程?在这个 Python 教程中,我们将讨论关于 python gui 编程,基本上我们会看到什么是 Python GUI,什么是 Python TKinter
。如何在 Python 中使用 Tkinter。同样,我们将把下面这些东西看作:
- 如何在 Python 中下载和安装 Tkinter
- 使用 Tkinter 创建第一个程序
- 什么是 Python Tkinter 小部件
- 什么是几何管理(包、网格、位置)
- 包装、网格和位置之间的差异
- 使用 Python Tkinter 的迷你项目
- 使用 python Tkinter 的 10 个最佳项目创意
目录
- 使用 python 的 Gui
- Python tkinter 安装
- 使用 Tkinter 创建第一个程序
- Python Tkinter widgets
- 几何管理
- 包装、网格和位置之间的差异
- 使用 Python Tkinter 的迷你项目
- 使用 python Tkinter 的 10 个最佳项目创意
使用 python 的 Gui
- 如果你是一名 Python 开发者,并且想要创建支持图形用户界面的酷应用程序,那么你来对地方了。在这里,我们将学习如何使用
Python Tkinter
创建基于GUI
的应用程序。单词“Tkinter
”读作**“T-kin-ter”**。我们将阅读所有关于 Python gui 编程的内容。 - 在 python 中,Tkinter 用于创建软件,而
Turtle
&Pygame
用于创建基于图形的动画&游戏。
Python tkinter 安装
- Python 自带了一个内置的 Tkinter
- 如果你想知道,如何安装 python,那么查看 Python 下载安装步骤。
- 在命令提示符下键入
python -m tkinter
来快速检查Tkinter
。如果出现下面这种窗口,意味着 tkinter 已安装&,您可以跳过这一步。
python gui programming
- 如果这些窗口没有出现,请遵循以下步骤:(Macintosh 和 Linux 用户也可以遵循这些步骤)
第一步:
检查系统中安装的 python 版本:python --version
第二步:
去python.org下载相同版本的 python。在我的情况下,我已经下载了 64 位的 python 3.7.9
。
第三步:
点击安装文件>>会出现窗口>>点击修改。
python gui programming
第四步:
选择显示 tcl/tk 和 IDLE 的第三个选项,然后点击下一个,接着点击安装。
Python tkinter installation
第五步:
在命令提示符下键入python -m tkinter
。如果此窗口出现,意味着 tkinter 现在已安装。
Python GUI Programming
使用 Tkinter 创建第一个程序
让我们试着多理解一点关于 Python gui 编程的知识。
在引入任何命令之前,我们希望您将代码复制并粘贴到代码编辑器中,并尝试一次。这是一个简单的“你好”程序,将给出一个关于我们将要做什么的想法。
代码:
# import modules
from tkinter import *
# configure workspace
ws = Tk()
ws.title("First Program")
ws.geometry('250x150')
ws.configure(bg="#567")
# function territory
def welcome():
name = nameTf.get()
return Label(ws, text=f'Welome {name}', pady=15, bg='#567').grid(row=2, columnspan=2)
# label & Entry boxes territory
nameLb = Label(ws, text="Enter Your Name", pady=15, padx=10, bg='#567')
nameTf = Entry(ws)
# button territory
welBtn = Button(ws, text="ClickMe!", command=welcome)
# Position Provide territory
nameLb.grid(row=0, column=0)
nameTf.grid(row=0, column=1)
welBtn.grid(row=1, columnspan=2)
# infinite loop
ws.mainloop()
- 本节目仅供参考。本博客结束时,你将能够编写基于图形用户界面的软件。
- 在继续之前,让我们了解一下基于 tkinter 的应用程序的流程。
python tkinter example
上面提到的程序是以同样的顺序完成的&这个顺序在每个 Tkinter 初学者程序中都要遵循。这保持了代码的整洁和有序。
- 导入必要的模块或库。
- 工作区是使用
ws = Tk()
创建的,这里的ws
可以替换为任意名称。最常见的ws
替换有根、窗、**赢、主、**等。这完全是你自己的参考,在我们的情况下,它意味着工作空间。 - 需要一个无限循环来支撑屏幕。如果没有这个循环,屏幕将会立即飞溅&消失。
- 标签、输入框和按钮是部件。我们将在课程的后面详细研究它们。
- 按钮区域包含所有的按钮。
- 如图所示,小部件有 3 个部分。
python gui programming.
- 变量是分配给小工具的名称。在小部件上执行的所有活动都将存储在这个名称下。这个名称可以在以后用来指代这个小部件。
Widgets
是标签、条目、按钮、消息、复选按钮、单选按钮等。他们有专门的任务要完成。除了这个任务之外,它们还可以配置额外的工具,如颜色、字体等。- 几何指的是小部件的位置。Tkinter 有 3 种类型的几何图形(包装、网格、位置)。它们中的每一个都有不同的放置小部件的方式。会在后面的课程中详细介绍。
Python Tkinter widgets
- GUI 完全是关于小部件的,因为 Python Tkinter 小部件为我们提供了控件,用户使用这些控件与我们的应用程序进行交互。
- 标签、文本框、列表框、按钮、菜单、等被称为控件。每个小部件都有自己的属性。
- 有 10 种类型的 Python Tkinter 小部件,我已经逐一解释过了(有例子)。
ws
代表父窗口。
Python tkinter 标签
- 一个 Python tkinter 标签是一段简单的文本或信息。
- 标签是一个非常常见且广泛使用的小部件。
- 标签是创建任何应用程序之前使用的第一个小部件。
语法:
Label(ws, text=value )
举例:
这是 Label 的实现。在这里,文本被赋值为“输入名称”。
代码:
from tkinter import *
ws = Tk()
nameLb = Label(ws, text="Enter Name")
nameLb.pack()
ws.mainloop()
输出:
输入名称是在标签中分配的值,因此它显示在此处。
python tkinter example
Python tkinter 条目
让我们来讨论一下 Python tkinter 入口。
- 输入框用于接收用户输入。
- 这是另一个广泛使用的小部件。
语法:
Entry(ws)
举例:
这是输入框的实现。它将显示一个空框,准备由用户填充。
代码:
from tkinter import *
ws = Tk()
nameTf = Entry(ws)
nameTf.pack()
ws.mainloop()
输出:
输出显示一个空文本框,在这里输入文本!”是用户写的。
Python tkinter Entry
Python tkinter Button
让我们来讨论一下 Python tkinter 按钮。
- 按钮触发动作。
- Button 将 command 作为一个参数,这很神奇。
语法:
Button(ws, command=<action>)
举例:
这是 Button 的实现。提供的显示文本是“提交,传递的命令是函数:提交。点击按钮将触发功能。
代码:
from tkinter import *
ws = Tk()
def submit():
return Label(ws, text="Submitted!").pack()
submitBtn = Button(ws, text="submit", command=submit)
submitBtn.pack()
ws.mainloop()
输出:
该功能是创建另一个标签,其文本为“已提交”。因此输出显示了按钮下面的小文本。它是在单击按钮后创建的。
Python tkinter Button
Python tkinter 消息框
- Python 消息框是一个带有消息的弹出框。
- 要使用消息框,导入消息框模块。
- 有六种类型的消息提示,例如:
- showinfo : 用声音显示消息。返回“确定”
- **显示警告:**用声音显示警告信息。返回“确定”
- **显示错误:**用声音显示错误信息。返回“确定”
- askquestion : 提示“是”、“否”选项。返回是或否
- **询问是否:**提示“是”、“否”选项。是返回 1,否返回 0
- askretrycancel : 提示选择“重试或“取消。带声音重试返回
1
和取消返回0
语法:
messagebox.function(title, message)
举例:
下面是使用 python tkinter 的所有消息框的例子。所有类型的消息都放在一个功能下,只需一个按钮即可触发。
代码:
from tkinter import *
from tkinter import messagebox
ws = Tk()
def prompts():
messagebox.showinfo("showinfo", "Hi there!")
messagebox.showwarning("showinfo", "Hi there!")
messagebox.showerror("showinfo", "Hi there!")
messagebox.askquestion("showinfo", "Hi there!")
messagebox.askyesno("showinfo", "Hi there!")
messagebox.askretrycancel("showinfo", "Hi there!")
Button(ws, text="Click Me!", command=prompts).pack()
ws.mainloop()
输出:
点击我的那一刻!按下按钮,这些提示开始按顺序出现。
python tkinter message box
Python tkinter 复选框
- Python 复选框是一个选择小部件。
- 可以选择多个项目。
- 返回类型可以是字符串或整数。
- 对于整数,我们可以用
IntVar()
。 - 对于字符串,我们可以使用
StringVar()
。
语法:
var = IntVar()
Checkbutton(ws, text= , variable=var).pack()
举例:
这是 check 按钮的实现。这里提供了备茶的多种选择。用户可以根据自己的喜好选中它们。
from tkinter import *
ws = Tk()
Label(ws, text="Tea", font=(24)).pack()
var1 = IntVar()
Checkbutton(ws, text="Milk", variable=var1).pack()
var2 = IntVar()
Checkbutton(ws, text="Sugar", variable=var2).pack()
var3 = IntVar()
Checkbutton(ws, text="Ginger", variable=var3).pack()
var4 = IntVar()
Checkbutton(ws, text="Lemon", variable=var4).pack()
ws.mainloop()
输出:
在这个输出中,用户选择只用牛奶、糖和姜来泡茶。既然柠檬没有被选中,那么就不考虑了。
Python tkinter checkbox
Python tkinter 单选按钮
- Python tkinter Radiobutton 是另一个类似复选框的选择部件
- 它只允许单项选择。
- 返回类型可以是字符串或整数。
- 对于整数值,我们可以使用
IntVar()
。 - 对于字符串值,我们可以使用
StringVar()
。 - 相同的变量被分配给所有的单选按钮,以便将它们放在一个组中。
语法:
var = IntVar()
Radiobutton(ws, text= ,variable=var, value= ).pack()
如果值是字符串,那么用字符串变量()替换整型变量()。
举例:
Radiobutton 仅用于单项选择。所以这里我们假设一个候选人已经收到了所有提到的公司的聘书,但是问题是他只能加入一家公司。所以他有很多选择。
代码:
from tkinter import *
ws = Tk()
var = IntVar()
Label(ws, text="Choose one", font=(18)).pack()
Radiobutton(ws, text="Google", variable=var, value=1).pack()
Radiobutton(ws, text="Facebook", variable=var, value=2).pack()
Radiobutton(ws, text="Amazon", variable=var, value=3).pack()
Radiobutton(ws, text="Microsoft", variable=var, value=4).pack()
ws.mainloop()
输出:
所以候选人选择了谷歌。Google 单选按钮被选中。
Python tkinter radiobutton
Python tkinter 列表框
Python tkinter listbox
也是一个选择小部件。- 项目显示在小部件框中。
- 它提供了滚动功能。
语法:
var_name = Listbox(ws)
var_name.pack()
var_name.insert(index, value)
举例:
在这个军队字母表使用列表框列出。
代码:
from tkinter import *
ws = Tk()
ws.geometry("300x300")
alphabets = Listbox(ws)
alphabets.pack()
alphabets.insert(0, "Alpha")
alphabets.insert(1, "Bravo")
alphabets.insert(2, "Charlie")
alphabets.insert(3, "Delta")
ws.mainloop()
输出:
显示军队字母表列表。用户可以选择单个或多个选项
Python tkinter listbox
Python tkinter 选项菜单
让我们来看一个关于 Python tkinter optionmenu
的例子。
- OptionMenu 按钮类似于列表框。
- 它以下拉格式显示项目。
- 可以放在更小的空间里。
语法:
var-name = StringVar()
alphabets = Optionmenu(ws, var-name, "item-1", "item-2", "item-n")
alphabets.pack()
举例:
这是 optionmenu 的实现,其中军队字母用于以下拉形式显示。
代码:
from tkinter import *
ws = Tk()
ws.geometry("200x100")
items = StringVar()
items.set("Alpha")
alphabets = OptionMenu(ws,items, "Alpha", "Bravo", "Charlie", "Delta")
alphabets.pack()
ws.mainloop()
输出:
在 Optionmenu 的这个实现中。Alpha 设置为默认值。当用户点击这个框时,选项显示如下。
python tkinter optionmenu
Python tkinter 标签帧
让我们看看如何使用 Python tkinter labelframe
。
- 它向当前窗口添加一个框架。
- 它用于创建区段或组。
- 它改进了 gui。
语法:
var-name = LabelFrame(ws, text=value)
var-name.pack()
举例:
这是 LabelFrame
的实现。这里的性别&食物是几节。
代码:
from tkinter import *
ws = Tk()
genF = LabelFrame(ws, text="Gender")
genF.pack()
var = IntVar()
Radiobutton(genF, text="Male", variable=var, value=1).pack()
Radiobutton(genF, text="Female", variable=var, value=2).pack()
food = LabelFrame(ws, text="Food")
food.pack()
Checkbutton(food, text="snacks").pack()
Checkbutton(food, text="Drinks").pack()
Checkbutton(food, text="Meal").pack()
ws.mainloop()
输出:
LabelFrame
已经使这个输出不言自明。现在我们既然有两节性别&的食物。&每个部分都有项目。
Python tkinter labelframe
Python tkinter Menu
- Python tkinter 菜单是窗口左上角的选项
- 这些选项提供了各种各样的控制。
- 文件、编辑、帮助等是每个窗口中的一些基本选项。
语法:
var-name = Menu(ws, command=<action>)
ws.config(menu=var-name)
举例:
这是 Python 菜单栏的实现。创建了三个流行的菜单(文件、编辑、帮助),当用户点击它们时,会在终端或命令行上显示一条消息。
代码:
from tkinter import *
ws = Tk()
def fileSec():
print("File section")
def editSec():
print("Edit section")
def helpSec():
print("Help section")
mb = Menu(ws)
mb.add_command(label="File", command=fileSec)
mb.add_command(label="Edit", command=editSec)
mb.add_command(label="Help", command=helpSec)
ws.config(menu=mb)
ws.mainloop()
输出:
这是菜单栏的实现。在左上角,你会看到菜单。文件、编辑和帮助。
Python tkinter Menu
几何管理
有三种类型的 Python 几何管理如:
- 打包
- 网格
- 地点
1.打包
- 该包是一个几何管理器。
- 它填满了空间&粘在中间,
- 这对于小型应用程序来说很好。
- 人们可以很快从这个包开始,因为它不需要参数。
语法:
widget.pack()
举例:
这是包的实现。这里使用了 4 个标签来显示消息。
代码:
from tkinter import *
ws = Tk()
Label(ws, text="Placing").pack()
Label(ws, text="Text ").pack()
Label(ws, text="using ").pack()
Label(ws, text="Pack is fun").pack()
ws.mainloop()
输出:
Pack 在屏幕中央自动调整,因此在下一张图像中,您可以看到,即使在调整图像大小后,pack 文本仍在中央。
python gui programming with tkinter
2.网格
- Grid 以表格形式维护小部件。
- 如果调整了窗口的大小,它会停留在左上方。
- 网格需要 2 个必要的参数:行 & 列。
- 以下是行和列的解释。
python gui programming with tkinter
语法:
widget.grid(row= value ,column= value )
所以在这里,值等于您想要提供给行 & 列的数字。
举例:
这是网格的实现。 Python 网格以行&列格式工作。
代码:
from tkinter import *
ws = Tk()
Button(ws, text="These buttons").grid(row=0, column=0)
Button(ws, text="are positioned").grid(row=0, column=1)
Button(ws, text="using Grid").grid(row=0, column=2)
Button(ws, text="This is ").grid(row=1, column=0)
Button(ws, text="another line").grid(row=1, column=1)
Button(ws, text="using Grid").grid(row=1, column=2)
ws.mainloop()
输出:
使用网格显示六个按钮。每个按钮都有其行和值。
3.地点
- Place 用于为小部件提供固定位置。
- 它为用户提供最大限度的控制。
- 微件保持在指定的位置
x
&y
值带有锚。- 锚有 8 种变化
- 东北方向
- 北:北
- 西北方向:西北方向
- 东:东
- 西方
- 东南 : 东南
- 西南方:西南方
- 南方:南方
语法:
widget.place(x = value, y = value, anchor=location )
举例:
这是执行的地方。地点需要 x 和 y 坐标。
代码:
from tkinter import *
ws = Tk()
ws.geometry("300x300")
Button(ws, text="North-West").place(x=50, y=20, anchor="center")
Button(ws, text="North").place(x=148, y=20, anchor="center")
Button(ws, text="North-South").place(x=250, y=20, anchor="center")
Button(ws, text="East").place(x=50, y=148, anchor="center")
Button(ws, text="West").place(x=250, y=148, anchor="center")
Button(ws, text="South-East").place(x=50, y=250, anchor="center")
Button(ws, text="South").place(x=148, y=250, anchor="center")
Button(ws, text="South-West").place(x=250, y=250, anchor="center")
Button(ws, text="Center").place(x=148, y=148, anchor="center")
ws.mainloop()
输出:
这里,屏幕上实现了九个按钮。每一个都放在方向上,即北、南、东、西等。
python gui programming with tkinter
包装、网格和位置之间的差异
下表显示了 Python 包、网格和位置之间的区别。
打包 | 网格 | 地方 |
---|---|---|
Pack 在序列中定位小部件。 | ||
一个接一个。 | 网格以行和列的方式放置小部件 | 将点部件放在用户想要的地方。 |
包不需要强制参数 | 网格要求用户将行和列作为参数 | Place 需要 x & y 坐标作为参数 |
调整窗口大小时,窗口小部件会保持居中。 | 当窗口调整大小时,窗口小部件贴在左上角 | 一切都保持在它的位置。如果窗口缩小到小于,窗口小部件将开始消失。 |
小部件定位没有手动控制 | 它提供了对小部件定位的更多控制 | 它允许将小工具准确地放置在用户想要的位置。 |
place 便于快速使用,因为它易于实现。它不允许控制部件的位置。 | 它以表格的形式工作。因此,行和列中提供的值可以定位小部件。 | Place 最擅长将小部件定位在 x & y 坐标中定义的精确位置 |
使用 Python Tkinter 的迷你项目
让我们开发一个小的 Python 项目。
这是一个使用 Python Tkinter
的简单登录和注册机制。您可以使用代码进行进一步开发。该计划基于您在上面学到的主题。
**第一步。**这是将出现的第一页。在您继续之前,需要用户名&密码。默认用户名为“python
”&密码为“导游”。
python tkinter control
第二步。 如果您输入了错误的凭证,即用户名或密码,则会出现错误消息框。如果您没有电子邮件和密码,您可以使用注册按钮创建一个。
python tkinter tutorial
第三步。 填写表格并按下注册键。它提示的信息消息说注册成功,这意味着你现在注册。
python tkinter example
第四步。 如果凭证即用户名&密码正确,信息消息框将显示消息“登录成功”。
python tkinter examples
代码:
# import module
from tkinter import *
from tkinter import messagebox
# configure
ws = Tk()
ws.title("Login Page")
ws.geometry("300x250")
# functions
def checkCred():
email = email_tf.get()
pwd = pwd_tf.get()
print(email, pwd)
if email == "python" and pwd == "guides":
return messagebox.showinfo("Login", "Login Sucessfully!")
else:
return messagebox.showerror("Login", "Login Failed!")
def success_msg():
return messagebox.showinfo("Signup", "Sign-up Successfully")
def register():
ws = Tk()
ws.title("Register")
ws.geometry("300x250")
Label(ws, text="Enter Name").place(x=50, y=20, anchor="center")
nTf =Entry(ws).place(x=170, y=20, anchor=CENTER)
Label(ws, text="Enter Email").place(x=50, y=60, anchor=CENTER)
eTf = Entry(ws).place(x=170, y=60, anchor=CENTER)
Label(ws, text="Password").place(x=50, y=100, anchor=CENTER)
pTf = Entry(ws).place(x=170, y=100, anchor=CENTER)
Label(ws, text="re-enter Password").place(x=50, y=140, anchor=CENTER)
rpTf = Entry(ws).place(x=170, y=140, anchor=CENTER)
Button(ws, text="Register", command=success_msg).place(x=100, y=180, anchor=CENTER)
# write code
email_lb = Label(ws,text="Enter Email")
email_tf = Entry(ws)
pwd_lb = Label(ws,text="Enter Password")
pwd_tf = Entry(ws)
login_btn = Button(ws, text="Login", command=checkCred)
reg_btn = Button(ws, text="Register", command=register)
# placeholders
email_lb.place(x=50, y=40, anchor=CENTER)
email_tf.place(x=170, y=40, anchor=CENTER)
pwd_lb.place(x=50, y=80, anchor=CENTER)
pwd_tf.place(x=170, y=80, anchor=CENTER)
login_btn.place(x=100, y=120, anchor=CENTER)
reg_btn.place(x=180, y=120, anchor=CENTER)
# infinite loop
ws.mainloop()
使用 python Tkinter 的 10 个最佳项目创意
下面是使用 tkinter 的 Python 项目列表。
- 使用 python Tkinter 的石头剪刀布游戏
- 使用 Python Tkinter 的基本小部件的电子邮件界面
- 带有太阳图像的数字时钟,每小时变化一次。
- 密码管理器,使用 Python Tkinter & SQLite 数据库
- 使用 Python Tkinter 的密码生成器。
- 使用 python Tkinter 的彩票系统。
- 投掷系统可以选择任意数量的赢家。
- 使用 Python Tkinter 的井字游戏
- 使用 Python Tkinter 的计费管理系统
- 带有数据库的秒表稍后使用机器学习执行数据分析。
您可能会喜欢以下 Python 教程:
- Python 中的递增和递减运算符
- Python 中的构造函数
- 面向对象编程 python
- Python 匿名函数
- Python 访问修饰符+示例
- Python 类型错误:“列表”对象不可调用
- Python For 循环示例
- 在 Python 中创建一个元组
- Python 关键字与示例
在这个 Python 教程中,我们学习了 Python Gui 编程。
- 使用 python 的 GUI
- 下载并安装 Tkinter
- 使用 Tkinter 创建第一个程序
- Python Tkinter 小部件
- 几何管理(包装、网格、位置)
- 包装、网格和位置之间的差异
- 使用 Python Tkinter 的迷你项目
- 使用 python Tkinter 的 10 个最佳项目创意
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python Hello World 程序(逐步使用 Pycharm + Visual Studio 代码)
在本 python 教程中,我们将使用 Pycharm 和 Visual studio 代码构建我们的第一个传统的 Python Hello world 程序。如果你想让作为初学者学习 Python,那么让我们使用 vscode 和 pycharm 用 Python 创建一个 hello world 程序。
任何编辑器(Pycharm 或 Visual Studio 代码),您都可以用它来编写 Python 代码。
这是一个循序渐进的教程,使用 Pycharm 和 Visual Studio 代码用 Python 创建你的第一个 hello world 程序。
如果你想学习 Python 和机器学习,加入 Python 和机器学习培训班。
目录
- 使用 Python 3.8 和 Pycharm 2020 的 Python Hello World 程序
- 在命令提示符下运行 Python 文件
- 使用 Visual Studio 代码用 Python 创建一个 hello world 程序
- 在 Windows 10 中下载并安装 Visual Studio 代码
- 结论
使用 Python 3.8 和 Pycharm 2020 的 Python Hello World 程序
我已经安装了 python 版本 3.8.2 和 Pycharm 版本 20201 作为代码编辑器,我们将使用它们来构建第一个程序。
现在我们的 python 安装好了,代码编辑器( Pycharm
)也安装在我的机器上。两者都是截至 2020 年 4 月的最新版本。让我们开始第一个节目。
第一步:
打开 Pycharm 代码编辑器
“Hello world in python”)
Python Hello World program
第二步:
现在接下来是点击“创建新项目按钮。
“Hello world in python 3.8”)
pycharm hello world
第三步:
在这一步中,首先给项目起一个有意义的名字。我给它起了个名字“Helloworld”。您也可以更改您的首选位置。基本解释器将自动填充。现在请点击“创建”按钮。
Python Hello World Program
第四步:
现在下面的弹出窗口将会出现,你可以关闭弹出的每日提示窗口。
python hello world pycharm
第五步:
现在下面的弹出窗口显示了一些有用的信息。见过一次。其中更重要的一点是,你可以将文件拖放到那里,这样它就可以打开了。
hello world python pycharm
第六步:
在这一步中点击文件–>–新建暂存文件。
Python Hello World Program
第七步:
现在从弹出的新暂存文件中选择“ Python
”。
hello world program in python using pycharm
第八步:
现在看下面一个名为 scratch.py
的 python 文件被创建。
hello world in pycharm
第九步:
现在给文件起一个有意义的全名。所以我们需要重命名这个文件。右键点击 Scratch.py
,选择重命名文件。
print hello world in pycharm
第十步:
下面会出现重命名弹出框,给一个合适的名字。在本例中,我将名称命名为 Helloworld.py。
Python Hello World Program
第十一步:
现在,看到文件名已经被重命名为“Helloworld.py”。所以现在我们的空 python 文件已经准备好了。
python 3.8 hello world
第十二步:
现在将下面的代码写入 Helloworld.py
文件,然后点击运行–>运行选项。你也可以使用键盘快捷键 Alt+Shift+F10
来运行文件。
Print("Hello world!!")
python hello world program
第十三步:
糟糕,在执行上面的代码时,它抛出了下面的错误
Traceback (most recent call last):
File "C:/Users/Bijay/AppData/Roaming/JetBrains/PyCharmCE2020.1/scratches/Helloworld.py", line 1, in <module>
Print('Hello world!!')
NameError: name 'Print' is not defined
任何猜测为什么上述错误。这是因为我们输入了 print 作为 Print(caps P)。正确的应该是 print()。
注意: Python 区分大小写。
正确的代码如下所示。
print(Hello world!!)
现在输入上面的代码并运行文件。让我们看看发生了什么。现在,如果你注意到这里的运行选项是运行“HelloWorld ”,这意味着运行“文件名”。
现在当我把 Print(caps P)改成 Print()时。如果您看到下面的自动建议框显示打印功能。
pycharm hello world program
现在让我们运行程序。
Python Hello World Program
第 14 步:
恭喜,是的,这次我得到了预期的输出,没有任何错误。见下文。
hello world pycharm
在命令提示符下运行 Python 文件
如果您的机器上没有安装 Pycharm,还有一种方法可以从命令提示符下运行 python 文件。
第一步:
打开命令提示符,转到 python 文件所在的路径。为此,请使用下面的命令并按回车键。
cd C:\Users\Bijay\AppData\Roaming\JetBrains\PyCharmCE2020.1\scratches
注意:C:\ Users \ Bijay \ AppData \ Roaming \ JetBrains \ pycharmce 2020.1 \ scratches 是我的 HelloWorld.py 文件所在的路径。所以我需要去那个路径并执行代码。
第二步:
现在输入文件名,即 Helloworld.py,然后按回车键。如下所示,我们得到了预期的输出。
Run your Python file from the command prompt
这就是我们如何在 Pycharm 中使用 Python 创建第一个 hello world 程序的方法。
使用 Visual Studio 代码用 Python 创建一个 hello world 程序
现在,让我们看看如何**用 python 创建一个 hello world 程序,**并且,我们还将看到如何在 windows 10 中下载和安装 visual studio 代码。
什么是 Visual Studio 代码?
微软提供了一个 Visual Studio 代码的免费开源代码编辑器。它又快又简单。Visual Studio 代码支持所有三种操作系统,如 Windows、Linux 和 macOS。
它有许多内置功能,如 GitHub、调试和嵌入式 Git 控件、语法高亮、代码片段和智能代码完成。此外,您可以根据需要添加扩展来创建 Python 开发环境。
VS 代码是轻量级的,它有许多强大的特性。这就是它在 Python 开发者中流行的原因。Visual studio 代码是一个代码编辑器,可以用于 python 开发。这不仅对 python 有意义,它也支持其他语言。
在 Windows 10 中下载并安装 Visual Studio 代码
我们来看看如何下载安装免费的 visual studio 代码 (VS 代码)。
第一步
首先下载 visual studio 代码。基于操作系统,可以下载 VS 代码。
visual studio code
第二步
- 下载后打开 VS 代码然后接受协议点击下一步。
- 单击“下一步”后,将出现一个默认位置。如果您不想更改默认位置,则点击下一个的**。**
download and install vs code
第三步
现在点击**“创建桌面图标”**,以便可以从桌面访问它,然后点击下一步。
visual studio code
第四步
之后,点击安装按钮。它将开始安装 VS 代码。
visual studio code for python
第五步
最后,安装完成,默认情况下, Launch Visual Studio 代码将带有复选标记。点击完成按钮,visual studio 代码将打开。
visual studio code for python
第六步
现在你可以看到 Visual Studio 代码已经在 windows 10 上启动了。
Python Extension for Visual Studio Code
安装 Visual Studio 代码的 Python 扩展
要安装扩展,打开左侧的扩展菜单,在搜索空间**“Python”**上写。
然后选择弹出的第一个,可以点击安装对应的扩展。
Python Extension for Visual Studio Code
阅读人工智能完全指南
使用 Visual Studio 代码用 python 创建 hello world 程序
现在,我们将看到如何用 vs 代码在 python 中创建 hello world 程序。
打开 visual studio 代码。然后档->-新档。
然后在文件中编写以下代码:
msg = "Hello World"
print(msg)
然后保存文件 Ctrl+S 然后用给一个文件名。py 扩展并将类型保存为 Python。
visual studio code python hello world
该文件将如下所示:
hello world python visual studio code
要运行代码,在编辑器窗口的任意位置右键单击并选择在终端中运行 Python 文件。
vscode python hello world
输出:
您可以在终端中看到如下输出:
python hello world visual studio code
你也可以使用命令行手动运行代码,只需在终端中编写文件的 python
和路径。
vs code python hello world
下面你可以看到,我写完 python 后复制了文件的路径。
python E:\project-python\HelloWorld.py
create hello world program in python
现在,如果你输入,你将会看到输出。
python hello world vscode
我们可以按照上面的步骤用 visual studio 代码用 python 创建 hello world 程序。以及如何在 windows 10 中下载并安装 Visual Studio 代码,同时我们也看到了如何在 vs 代码中安装 Python 扩展。
您可能会喜欢以下 Python 教程:
- Python 将变量写入文件+示例
- Python 中的排序算法
- 在 Python 中使用 JSON 数据
- Python GUI 编程
- 面向对象编程 python
- Python 中的构造函数
- Python 匿名函数(Lambda 函数)
- Python 访问修饰符+示例
- Python 中的函数
结论
我希望这篇文章能帮助你用 Python 创建一个 hollo world 程序。
- 用 Python 创建一个 hello world 程序
- 使用 python 3.8 和 Pycharm 2020 的 Python Hello World 程序
- 从命令提示符运行 Python 文件
- 使用 Visual Studio 代码用 Python 创建一个 hello world 程序
- Visual studio 代码下载和安装
- 为 Visual Studio 代码安装 Python 扩展
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python if else 示例
在这个 Python 教程中,让我们讨论一下 Python 中的 if else 语句,以及 if else 语句在 Python 中是如何工作的。
我们还将检查:
- Python if 语句
- Python else 语句
- Python elif 语句
- Python 嵌套 if 语句
目录
Python if 语句
在 python 中, if 语句用于检查语句是真还是假,只有当语句为真时才运行代码。
举例:
x = 10
y = 150
if y > x:
print("y is greater than x")
编写上述代码(python if 语句)后,您将打印这些代码,然后输出将显示为**“y 大于 x”**。这里,if 语句检查条件,如果条件为真,则运行代码。
可以参考下面 python if 语句的截图。
Python if statement
这是 Python if 语句的一个简单例子。
你可以查看一下,如何使用 Python 中的 Pandas drop()函数。
Python else 语句
在 python 中, else 语句包含当 if 条件语句为假时执行的代码块。
举例:
x = 34
y = 30
if y > x:
print("y is greater than x")
else:
print("y is not greater than x")
写完上面的代码(python else 语句)后,你要打印的代码输出将显示为**“y 不大于 x”**。这里,当 if 条件为假时,else 语句执行,然后 else 语句执行。
你可以参考下面 python else 语句的截图。
Python else statement
Python elif 语句
在 python 中, elif 语句用于检查多个表达式,如果前面的条件不为真,那么试试这个。
举例:
x = 21
y = 21
if y > x:
print("y is greater than x")
elif x == y:
print("x and y are equal")
在编写完上述代码(python elif 语句)后,您将打印这些代码,然后输出将显示为**“x 和 y 相等”**。这里,当前面的条件不为真时,执行 elif 语句,然后执行 elif 语句。
你可以参考下面 python elif 语句的截图。
Python elif statement
Python 嵌套 if 语句
在 python 中,我们使用嵌套的 if 语句来检查第一条语句的计算结果是否为真,以及嵌套语句的计算结果是否为真。
举例:
x = 25
if x > 12:
print("Above 12,")
if x > 20:
print("and also above 20")
else:
print("but not above 20")
在编写了上面的代码(python 嵌套 if 语句)之后,您将打印这些代码,然后输出将显示为大于 12 的**“以及大于 20 的”**。这里,我们在 if 语句中有 if 语句。
可以参考下面 python 嵌套 if 语句的截图。
Python nested if statement
您可能会喜欢以下 Python 教程:
- Python For 循环示例
- Python 中的阿姆斯特朗数
- Python 读取 excel 文件并在 Python 中写入 Excel
- 在 Python 中创建一个元组
- Python 创建空集
- Python 关键字与示例
- Python While 循环示例
- Python 中的字符串方法及示例
- 名称错误:Python 中没有定义名称
在本 python 教程中,我们学习了 Python 中的各种 if else 语句,例如:
- Python if 语句
- Python else 语句
- Python elif 语句
- Python 嵌套 if 语句
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 输入和 raw_input 函数
原文:https://pythonguides.com/python-input-and-raw_input-function/
在本 python 教程中,您将了解到 Python input()和 raw_input()函数,input()和 raw_input() 之间的区别以及示例,我们还将看到 python 名称错误:名称 raw_input 未定义。
目录
- 为什么我们在 python 中需要 input()和 raw_input()函数?
- Python 输入()函数
- Python raw_input()函数
- python 中 input()和 raw_input()函数的区别
- Python raw_input 示例
- Python raw_input 超时
- Python raw_input 默认值
- Python raw_input 转义键
- Python raw_input 不工作
- Python raw_input argv
- Python raw_input 隐藏密码
- Python 名称错误:名称 raw_input 未定义
为什么我们在 python 中需要 input()和 raw_input()函数?
主要原因是交互式的用户友好代码。它使代码具有交互性,而不是硬编码。我们使用 input()
和 raw_input()
函数根据用户自己的值接受用户输入。
Python 输入()函数
python input()函数从用户处获取值。调用这个函数来告诉程序停止并等待用户输入值。它读取输入并返回 python 类型,如 int、list、tuple 等。
**举例:**python 2 中的程序
value = input("Enter your name:")
print(type(value)
print(value)
写完上面的代码(python input()函数),你将打印出 " value "
,然后输出将显示为**“输入你的名字:娜萨< class ‘str’ >娜萨”**。这里,它要求用户输入值,然后读取输入并返回用户输入的输入类型。我们不需要显式地改变 python2 中的变量类型。
可以参考下面截图 python input()函数
Python input() function
在 python 2.x 和 3.x 版本中都使用了 Python input()函数。在 Python 3.x 中,input 函数明确地将您给定的输入转换为字符串类型,否则在 Python 3 中,输入函数存储的值总是字符串。但是在 python 2.x 中,函数接受值,您输入的输入将照原样接受,而不修改其类型。
**举例:**python 3 中的程序
value = input("Enter the roll: ")
value = int(value)
print(type(value)
print(value)
写完上面的代码(python input()函数)后,一旦你将打印 " value "
那么输出将显示为**"输入你的掷骰子:23065 <类’ int’ > 23065 "** 。这里,它要求用户输入 roll,然后它读取输入并返回用户输入的输入类型。此外,我们将变量的类型指定为整数。
可以参考下面截图 python input()函数
Python input() function
Python raw_input()函数
Python raw_input()函数读取输入并返回一个字符串。它用于从用户那里获取价值。该输入函数仅在 Python 2.x 版本中使用。
Python 2.x 有两个函数从用户那里获取值。第一个是 input,第二个是 raw_input 函数。raw_input()函数类似于 python3 中的 input()函数。
**举例:**python 2 中的程序
value = raw_input("Enter your name: ")
print(type(value))
print(value)
在输出中,你可以看到它的类型是一个字符串。对于 raw_input()
函数,存储的值的类型始终是字符串。
输出:
Enter your name: Trisha
<type 'str'>
Trisha
在这里,在 python2
中,我们将看到我们是否想要整数形式的输出,然后,我们必须使用 raw_input()
函数中的 "int"
将类型转换为整数。
举例:
value = raw_input("Enter the roll: ")
value = int(value)
print(type(value)
print(value)
这里,值 "20564"
取自用户,但是我们使用 int()
将类型转换为整数。一旦你打印出**“值”**,你将得到变量及其类型。您可以看到下面的输出。
输出:
Enter the roll: 20564
<type 'int'>
20564
python 中 input()和 raw_input()函数的区别
让我们讨论一下 python 中 input()和 raw_input()函数的区别。
- raw_input 函数是在 python 2 中构建的。但是在 python3 中我们没有。
- raw_input 函数的工作方式与 python3 中的 input 函数相同。
- 在 python 2 中, input()函数首先用于获取 raw_input(),然后在其中执行 eval()。
- 在 python 2 中,
raw_input()
返回一个字符串,而 input()返回一个求值结果。而在 python 3 中,input()返回一个字符串,但可以转换成任何类型。
Python raw_input 示例
- 让我们看看如何在 Python 中使用 input 和 raw_input 函数。
- 在 python 中有两个从用户那里获取输入的函数,即 input 和 raw_input 函数。这两个函数都用于获取用户的输入。
- 在 python 2 版本中使用 raw_input()函数,在 Python 3 版本中使用 input()函数
举例:
以下是 raw_input 函数的示例
new_val = raw_input("Enter name:") # raw_input function
print(type(new_val)) #python version 2.7
print(new_val)
Python raw_input function
Python raw_input 超时
在这里,我们可以检查我们是否需要用户输入,我们将使用 input()函数。在这个例子中,我们将给出条件,如果没有输入,那么它将显示结果“超时”。
源代码:
import sys
from select import select
raw_timeout = 5
print ("Enter the string:",)
new_lis, _, _ = select([sys.stdin], [], [], raw_timeout)
if new_lis:
val = sys.stdin.readline()
print (val)
else:
print ("No string.....timeout")
首先在上面的代码中,我们将导入一个“sys”库,因为这是从用户那里获取输入的标准方式。现在创建一个变量**‘raw _ time out’**,并给它们赋值。
下面是以下给定代码的执行过程
Python raw_input timeout
Python raw_input 默认值
要获取 raw_input 并设置默认值,我们可以使用 try-except 块和 import readline 模块。在本例中,用户按下**‘enter’关键字,直到 Python 编程’值存储在‘最佳语言’**变量中。
举例:
import readline
def new_input(new_tex, fill_val=''):
readline.set_startup_hook(lambda: readline.insert_text(fill_val))
try:
return raw_input(new_tex)
finally:
readline.set_startup_hook()
new_def_val = "Python Programming"
output = new_input("language: ", new_def_val)
print("best langauge: " + output)
下面是以下给定代码的执行过程
Python raw_input default value
Python raw_input 转义键
- 在本例中,用户输入一个字符并按下“enter”关键字。现在,我将允许用户通过简单地按下键盘上的**‘escape’**键来退出输出。
- 为了完成这项任务,我们将导入一个**‘pynput’**模块。该模块允许用户控制和监控输入设备。它包含像键盘和监听器这样的子包。
import pynput
from pynput import keyboard
def initialize():
print("Enter name: Java")
def on_press(new_key):
if new_key == keyboard.Key.esc:
return False
else:
initialize()
with keyboard.Listener(
on_press=on_press) as listener:
listener.join()
输出:
Python raw_input escape key
Python raw_input 不工作
- 在 Python 3 版本中,Raw_input 不起作用。您可以使用 input()函数代替 raw_input()。input 函数具有相同的功能来接受用户的输入。
- 如果您正在使用 raw_input()函数,那么请安装 Python 的先前版本,即 python 2.7。
代码:
new_variable = raw_input("Enter name:")
print(type(new_variable)) # python3 version
print(new_variable)
实施:
Python raw_input not working
正如您所看到的,输出中有一条错误消息,这意味着 raw_ input 在 Python 3 中不起作用。
解决方案:
Solution for raw_input not working in python
Python raw_input argv
- 让我们看看如何在 Python 中使用 argv。基本上,argv 是一个命令行参数列表。为了计算脚本中参数的数量,我们可以使用这个函数。
举例:
from sys import argv
new_script, emp_name, emp_id, emp_code = argv,raw_input("Enter the employee name: "), raw_input("Enter the employee id: "), raw_input("Enter the employee code: ")
print ("script is called:", new_script)
print ("first value is:", emp_name)
print ("second value is:", emp_id)
print ("third value is:", emp_code)
下面是以下给定代码的执行过程
Python raw_input argv
Python raw_input 隐藏密码
让我们看另一个 Python raw_input 隐藏密码的例子。
程序:
res = True
while res:
print("""(a).close!
(b). numbers!""")
res=raw_input("""Enter a Value: """)
if res == "a":
exit()
elif res == "b":
new_pas=raw_input("""Enter the Password: """)
if new_pas == "Pythonguides":
print("""(a). password (b).close""")
paswr=raw_input ("""Again Enter a Value: """)
if paswr == "a":
print ("""Password Is Spguides""")
import time
time.sleep(1)
exit()
elif paswr == "b":
exit()
else:
print("""You Have Entered the Incorrect value. Not executing the Programm""")
import time
time.sleep(1)
exit()
else:
print("""You Have Entered the Incorrect Password. Not executing the Programm""")
import time
time.sleep(1)
exit()
下面是以下代码的截图
Python raw_input hide password
Python 名称错误:名称 raw_input 未定义
我们得到这个名
错误是因为 python 版本。在 python3.x 中, input()
代替了 raw_input()
,用于控制台的输入。所以我们得到这个错误名称‘raw _ input’没有在 python3 中定义。
举例:
value = raw_input("Enter the name: ")
print(type(value))
print(value)
写完上面的代码后(python nameerror: name raw_input 未定义),你会打印出**“value”然后错误会显示为“name error:name raw _ input 未定义”**。这里,我们得到这个错误,因为它在 python3 中没有 raw_input()。
您可以参考下面的 python 名称截图错误:名称 raw_input 未定义
Python NameError: name raw_input not defined
为了解决这个错误,我们可以使用 input()
代替 python3 中的 raw_input()来避免这个错误。否则,如果你想使用 raw_input()
函数,我们有 python2。
举例:
value = input("Enter the name: ")
print(type(value))
print(value)
写完上面的代码后,一旦你打印出 " value "
,那么输出将显示为一个**"输入名字:John < class ‘str’ > John "** 。这里,错误是通过使用 python3 中的**“input()”**函数解决的,该函数的工作方式与 python2 中的 raw_input()类似。
可以参考下面截图名称 raw_input 未定义
Python NameError: name raw_input not defined
您可能会喜欢以下 Python 教程:
- Python 中的排序算法
- 在 Python 中使用 JSON 数据
- 使用 Python 发送电子邮件
- Python 访问修饰符+示例
- Python 读取 CSV 文件并写入 CSV 文件
- Python 数组与示例
- python 中的哈希表
在本教程中,我们学习了**、Python input()和 raw_input()函数**、input()和 raw_input() 之间的关键区别以及以下主题:
- python 中为什么需要 input()和 raw_input()函数?
- Python 输入()函数
- Python raw_input()函数
- python 中 input()和 raw_input()函数的区别
- Python raw_input 示例
- Python 原始输入超时
- Python raw_input 默认值
- Python raw_input 转义键
- Python 原始输入不起作用
- Python raw_input argv
- Python 原始输入隐藏密码
- Python 名称错误:未定义名称 raw_input
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
Python 接口介绍
在这个 Python 教程中,我们将讨论 python 接口,并且我们将通过例子检查什么是 Python 中的接口。让我们学习:
- Python 中的接口是什么?
- 如何用 Python 创建接口?
- Python 中的正式和非正式接口是什么?
- Python 接口示例
- Python 接口 vs 抽象类
目录
什么是接口?
- 接口是应该由实现类提供的方法签名的集合。
- 接口包含本质上抽象的方法。抽象方法将只有声明,因为没有实现。
- python 中的接口是使用 python 类定义的,是 interface 的子类。作为所有接口的父接口的接口。
- 实现将由继承接口的类来完成。Python 中的接口与 Java、C#或 C++等其他语言略有不同。
- 实现接口是编写有组织的代码的一种方式。
让我们用几个例子来理解一下 Python 接口。
如何在 Python 中声明接口
在这里,我们将看到如何在 Python 中声明接口模块。
语法:
class MyInterface(zope.interface.Interface)
- 首先,我们将导入 zope.interface 模块。
- zope.interface 是一个模块,用于在 python 中实现对象接口。
- zope.interface 库是当事情不清楚时的出路。
- 接口充当设计类的蓝图。这里, **@zope.interface.implementer(午餐)**是使用类中的 implementer decorator 实现的。
- 这个包直接导出属性和接口。
- 为了克服接口的不确定性,实现了 zope 模块。
implementation by(class)–该函数返回一个布尔值。如果这个类实现了这个接口,它将导致真否则假。
示例:
import zope.interface
class Lunch(zope.interface.Interface):
northindian = zope.interface.Attribute("chocolate")
def food(self, northindian):
pass
def colddrinks(self, beverages):
pass
@zope.interface.implementer(Lunch)
class Lunch(zope.interface.Interface):
def food(self, northindian):
return northindian
def colddrinks(self,beverages):
return beverages
colddrinks = Lunch['colddrinks']
food = Lunch['food']
print(Lunch.implementedBy(Lunch))
print(type(colddrinks))
print(type(food))
在这里,我们可以看到该类是在接口中实现的。因此,布尔值真被返回。同样,我们可以看到两次返回 **<类‘Zope . interface . interface . method’>**的输出,因为我在一个类中定义了两个函数 def food
和 def colddrinks
。
下图显示了输出:
Python interface module
创建一个 Python 接口
在 python 中有两种方法来创建和实现接口
- 非正式界面
- 正式接口
python 中的非正式接口
Python 中的非正式接口是一个类。它定义了可以被重写但不强制执行的方法。python 中的非正式接口被称为协议,因为它是非正式的,不能正式实施。用于执行某些操作的常用方法有:
- _ _ ITER _ _–此方法返回对象的迭代器。
- _ _ len _ _–此方法返回字符串、列表、字典、元组的长度。
- _ _ contain _ _–此方法用于检查它是否包含另一个字符串。
示例:
class Chocolate:
def __init__(self, items):
self.__items = items
def __len__(self):
return len(self.__items)
def __contains__(self, items):
return items in self.__items
fav_chocolate = Chocolate(["kitkat", "diarymilk", "munch","5star"])
print(len(fav_chocolate))
print("kitkat" in fav_chocolate)
print("munch" not in fav_chocolate)
print("dirymilk" not in fav_chocolate)
print("5star" in fav_chocolate)
- 在这个例子中,我实现了 len 和 contain。我们可以直接在 chocolate 实例上使用 len()函数,然后我们必须检查一个条目是否出现在列表中。
- 在运算符中使用**,
print(len(fav _ chocolate))
用于查找列表的长度。** - 在这里,我们可以看到它返回一个布尔值。如果项目出现在列表中,它将返回 true,否则将返回 false。下面的屏幕截图显示了输出:
Informal interface in Python
python 中的形式接口(ABCs)
在这里,我们可以看到 python 中的形式接口。
- 正式接口是正式实施的接口。为了创建一个正式的接口,我们需要使用 ABCs(抽象基类)。
- ABCs 的解释是,我们定义了一个本质上是抽象的类,我们也将基类上的方法定义为抽象方法。
- 我们从基类派生的任何对象都必须实现这些方法。
- 在这个例子中,我已经导入了一个
- 我使用 def 关键字定义了一个函数
def taste
,通过使用self
关键字我们可以访问该类的属性和方法。 - 并且,我还定义了一个子类为
class north_indian
,然后从 food 类打印一个实例。pass 语句用作占位符。
示例:
import abc
class Food (abc.ABC):
@abc.abstractmethod
def taste( self ):
pass
class north_indian(Food) :
def taste(self):
print(" Cooking! ")
s = north_indian ()
print( isinstance(s, Food))
下面的屏幕截图显示了输出:
在这个输出中,我们可以看到输出了一个布尔值。只有当实例出现在类中时才返回 true,否则返回 false。
Formal interface in python(ABCs)
Python 接口示例
在这里,我们将看到派生类的代码如何定义一个抽象方法。所以,我们有了导入的 abc 模块,我们有了类名 myinterface(abc。ABC) 。
举例:
import abc
class myinterface(abc.ABC):
@abc.abstractclassmethod
def display():
pass
print("This is Myclass")
class Myclass(myinterface):
def display():
pass
obj=Myclass()
这里, obj = Myclass()
被调用,它将输出打印为“这是我的类”。你可以参考下面的 python 接口例子截图。
Python interface examples
Python 多接口
现在,我们可以在 Python 中看到多个接口。
在下面的例子中,我们必须导入 abc
模块,然后我们可以将类初始化为 Food
并将子类初始化为 northIndian()
和 southIndian()。
示例:
import abc
class Food (abc.ABC):
@abc.abstractmethod
def taste( self ):
pass
class northIndian(Food) :
def taste(self):
print(" Cooking! ")
class Food (abc.ABC):
@abc.abstractmethod
def taste(self):
pass
class southIndian(Food) :
def taste(self) :
print(" Cooking!.. ")
a = northIndian ()
s = southIndian()
print( isinstance(s, northIndian))
print( isinstance(s, southIndian))
print( isinstance(a, northIndian))
print( isinstance(a, southIndian))
这里,我们可以在输出中看到 false,因为实例 s 被分配给南印度,但是在打印语句中,它被分配为 (s,北印度)。我们可以参考下面的截图:
Python multiple interfaces
Python 接口 vs 抽象类
让我们了解一下 Python 接口与抽象类的区别。
| Python 接口 | Python 抽象类 |
| 接口是该对象的一组方法和属性。 | 我们可以使用一个抽象基类来定义和实现一个接口。 |
| 接口的所有方法都是抽象的 | 抽象类可以有抽象方法,也可以有具体方法。 |
| 如果不同的对象需要实现不同的特性,我们就使用接口。 | 当所有对象都有一些共同的特征时,就使用抽象类。 |
| 与抽象类相比,接口速度较慢。 | 抽象类更快。 |
您可能会喜欢以下 Python 教程:
- 如何在 Python 中把字符串转换成日期时间
- Python 中的转义序列
- Python 列表理解λ
- Python 线程和多线程
- 如何将 Python 角度转换为弧度
- Python 比较运算符
- Python 命名空间教程
- Python 中的链表
在本 Python 教程中,我们学习了 Python 接口。此外,我们还讨论了以下主题:
- 什么是接口?
- 如何在 Python 中声明接口
- 如何在 Python 中创建接口
- Python 接口示例
- Python 多接口
- Python 接口 vs 抽象类
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。
集合的 Python 交集
在本 python 教程中,我们将通过几个例子讨论 python 中集合的交集,我们还将涉及以下主题:
- 交集是什么?
- 集合的 Python 交集
- Python 集合交集示例
- 两个列表的 Python 交集
- Python 计算列表的交集
- 多个集合的 Python 交集
- 多个列表的 Python 交集
- 三个集合的 Python 交集
- Python 计算集合的交集
- 使用&运算符的 Python 集合交集
- Python 寻找多个集合的交集
目录
- 交集是什么?
- Python 集合的交集
- Python 集合交集示例
- Python 两个列表的交集
- Python 计算列表的交集
- Python 多个集合的交集
- Python 多个列表的交集
- Python 三集的交集
- Python 计算集合的交集
- Python 使用&运算符设置交集
- Python 寻找多个集合的交集
交集是什么?
两个集合的交集只有两个集合的共有的元素,在 Python 中称为交集。如果一个元素只在一个集合中,那么它就不是交集的一部分。
语法:
set.intersection(other_sets)
Python 集合的交集
让我们看看,如何在 python 中执行集合的交集。
intersection
方法返回一个新的集合,其中包含两个集合共有的元素。在下面的例子中**“苹果”**同时出现在两个集合中,所以它返回新的集合。
举例:
m1 = {"Samsung","Apple","OnePlus"}
m2 = {"Oppo","Apple","Vivo"}
i = m1.intersection(m2)
print(i)
在这个输出中,我们可以看到集合的 python 交集被执行。你可以参考下面的截图。
Python intersection of sets
你可能喜欢 Python 二叉树实现和如何在 Python 中读取视频帧。
Python 集合交集示例
让我们看看, python 中设置交集的例子。
在本例中,我们将比较 3 个集合,并返回一个包含所有 3 个集合中的项目的集合。我们可以看到,**“c”**在所有 3 个集合中都存在。
举例:
s1 = {"c", "y", "z"}
s2 = {"a", "c", "e"}
s3 = {"f", "g", "c"}
result = s1.intersection(s2, s3)
print(result)
在这个输出中,我们可以看到 python 设置交集示例。你可以参考下面的截图。
Python sets intersection example
Python 两个列表的交集
现在,我们将看到两个列表的 python 交集。
两个列表的交集意味着我们必须获取两个列表中的所有公共元素。在下面的示例中,**“10 和 6”**同时出现在两者中。所以,它返回新的列表。
举例:
def intersection(l1, l2):
return list(set(l1) & set(l2))
l1 = [10, 8, 6, 5, 2]
l2 = [6, 3, 10, 4, 1]
print(intersection(l1, l2))
在这个输出中,我们可以看到两个列表的 python 交集被执行。你可以参考下面的截图。
Python intersection of two lists
Python 计算列表的交集
在这里,我们将看到 python 计数列表的交集。
为了统计列表的交集,我们将使用**“len(set(L1)&set(L2))”。在这里,&**是两者共有的交集元素。它将返回计数为 "2"
,因为 “101 和 88” 是两个列表共有的。
举例:
l1 = [101, 120, 88, 16, 14]
l2 = [88, 108, 66, 101, 140]
r = len(set(l1) & set(l2))
print(r)
在这个输出中,我们可以看到列表的 python 计数交集被执行。你可以参考下面的截图。
Python count intersection of lists
Python 多个集合的交集
让我们看看,如何在 python 中执行多个
集合的交集。
多个集合的交集包含所有集合共有的所有元素。在下面的示例中,**“20 和 15”**出现在所有集合中。所以,它返回新的集合。
举例:
s1 = {15, 18, 16, 20, 25}
s2 = {20, 14, 15, 12, 22}
s3 = {15, 12, 20, 23, 19}
i = set. intersection(s1,s2,s3)
print(i)
在这个输出中,我们可以看到执行了多个集合的 python 交集。你可以参考下面的截图。
Python intersection of multiple sets
Python 多个列表的交集
现在,我们将看到多个列表的 python 交集。
- 两个 Python 列表的交集以不同的方式包含多个列表。
- 首先,我们用多个列表初始化了两个列表。
- 现在,使用列表理解或循环来迭代列表。
举例:
def intersection(l1, l2):
return [item for item in l1 if item in l2]
l1 = [['Naina', 'Raj'], ['Sweety', 'Pooja']]
l2 = [['Sweety', 'Pooja'], ['Sam', 'Sid']]
print(intersection(l1, l2))
在这个输出中,我们可以看到执行了多个列表的 python 交集。你可以参考下面的截图。
Python intersection of multiple lists
Python 三集的交集
让我们看看,如何在 python 中执行三个
集合的交集。
三个集合的交集包含所有集合共有的所有元素。在下面的示例中,**“108”**出现在所有集合中。所以,它返回新的集合。
举例:
set1 = {101, 105, 108}
set2 = {108, 130, 111}
set3 = {119, 125, 108}
i = set. intersection(set1,set2,set3)
print(i)
在这个输出中,我们可以看到执行了三个集合的 python 交集。你可以参考下面的截图。
Python intersection of three sets
Python 计算集合的交集
为了统计 Python 中集合的交集,我们将使用**“len(set(set 1)&set(set 2))”。在这里,&是两者共有的交集元素。它将返回计数“3”,因为“10、8 和 6”**对两组都是通用的。
举例:
set1 = {10, 12, 8, 6, 4}
set2 = {8, 18, 6, 10, 5}
r = len(set(set1) & set(set2))
print(r)
在这个输出中,我们可以看到执行了集合的 python 计数交集。你可以参考下面的截图。
Python count intersection of sets
Python 使用&运算符设置交集
为了找到集合的交集,我们还可以使用**&**运算符。 & 运算符将返回集合中存在的公共元素。
举例:
set1 = {10, 12, 8, 6, 4}
set2 = {88, 18, 60, 101, 5}
set3 = {12, 22, 6, 20, 28}
print(set1 & set3)
在这个输出中,我们可以看到使用&操作符执行的 python 集合交集。你可以参考下面的截图。
Python set intersection using & operators
Python 寻找多个集合的交集
为了在 Python 中找到多个集合的交集,我们必须获得 4 个集合,然后我们可以使用 " & " 操作符来获得另一个集合,该集合将具有在所有 4 个集合中出现的公共元素。
举例:
set1 = {1,2,3,4,5}
set2 = {2,3,5,7,9}
set3 = {3,5,10,11,12}
set4 = {8,7,5,4,3}
result = set1 & set2 & set3 & set4
print(result)
在这个输出中,我们可以看到 python 找到了多个集合的交集。你可以参考下面的截图。
Python find the intersection of multiple sets
您可能会喜欢以下 Python 教程:
- Python 逐行读取文件示例
- 用 Python 创建和修改 PDF 文件
- 使用 Python Pygame 创建游戏
- Python 熊猫 CSV 教程
- 如何用 Python 把 DateTime 转换成 UNIX 时间戳
- 删除 python 中的 Unicode 字符
- Python 元组排序列表
- Python 中的索引和切片
在本教程中,我们已经学习了集合的 Python 交集,并且我们已经涵盖了以下主题:
- 交集是什么?
- 集合的 Python 交集
- Python 集合交集示例
- 两个列表的 Python 交集
- Python 计算列表的交集
- 多个集合的 Python 交集
- 多个列表的 Python 交集
- 三个集合的 Python 交集
- Python 计算集合的交集
- 使用&运算符的 Python 集合交集
- Python 寻找多个集合的交集
Python 是美国最流行的语言之一。我从事 Python 工作已经有很长时间了,我在与 Tkinter、Pandas、NumPy、Turtle、Django、Matplotlib、Tensorflow、Scipy、Scikit-Learn 等各种库合作方面拥有专业知识。我有与美国、加拿大、英国、澳大利亚、新西兰等国家的各种客户合作的经验。查看我的个人资料。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)