当前位置: 首页 > news >正文

python之Tkinter详解

Python之Tkinter详解

文章目录

  • Python之Tkinter详解
    • 1、Tkinter是什么
    • 2、Tkinter创建窗口
      • ①导入 tkinter的库 ,创建并显示窗口
      • ②修改窗口属性
      • ③创建按钮
      • ④窗口内的组件布局
    • 3、Tkinter布局用法
      • ①基本界面、label(标签)和button(按钮)用法
      • ②entry(输入)和text(文本)用法
      • ③var(变量)和list(列表)用法
      • ④Radiobutton(选择按钮)用法
      • ⑤Scale(尺度)用法
      • ⑥ Checkbutton(勾选项)用法
      • ⑦canvas(画布)用法
      • ⑧menubar(菜单栏)
      • ⑨Frame(架构)
      • ⑩messagebox(弹窗)
      • ⑾pack、grid以及place布局用法

1、Tkinter是什么

  • Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,

2、Tkinter创建窗口

①导入 tkinter的库 ,创建并显示窗口

import tkinter as tk  # 在代码里面导入库,起一个别名,以后代码里面就用这个别名
root = tk.Tk()  # 这个库里面有Tk()这个方法,这个方法的作用就是创建一个窗口
root.mainloop()  # 加上这一句,就可以看见窗口了,循环显示窗口

②修改窗口属性

root.title('演示窗口') #设置窗口标题
root.geometry("300x100+630+80")  # 设置窗口长x宽+x*y

③创建按钮

import tkinter as tk  #tk代替tkinter
from tkinter import messagebox
root = tk.Tk()  # 创建窗口
root.title('演示窗口')
root.geometry("300x100+630+80")  # 长x宽+x*y

btn1 = tk.Button(root)  # 创建按钮,并且将按钮放到窗口里面
btn1["text"] = "点击"  # 给按钮一个名称
btn1.pack()  # 按钮布局


def test(e):
    '''创建弹窗'''
    messagebox.showinfo("窗口名称", "点击成功")


btn1.bind("<Button-1>", test)  # 将按钮和方法进行绑定,也就是创建了一个事件
root.mainloop()  # 让窗口一直显示,循环

④窗口内的组件布局

3、Tkinter布局用法

①基本界面、label(标签)和button(按钮)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")

var = tk.StringVar() #tk专有字符串

#root---界面(需要放在那个界面),textvariable----显示文本
#bg----背景   font----字体格式,大小    width----宽度   height----高度
lab = tk.Label(root,textvariable=var,bg = 'green',font=('Arial',12),width=15,height=2)
lab.pack() #把标签置入root界面布局
on_hit = True #点击标志位

def hit_me():
    global on_hit
    if on_hit==True:
        on_hit = False #点击交替
        var.set("you hit me")
    else:
        on_hit = True
        var.set("")
#root---界面(需要放在那个界面),text----显示文本
#width----宽度   height----高度  command----命令(执行哪个函数)
but = tk.Button(root,text = "hitme",width=15,height=2,command=hit_me)
but.pack()

root.mainloop()

②entry(输入)和text(文本)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")
#root---界面(需要放在那个界面),show----输入的字符显示为*,可以设置成show=none
e = tk.Entry(root,show='*')
e.pack()

def insert_point():
    var = e.get()
    t1.insert('insert',var)

def insert_end():
    var = e.get()
    t1.insert('end',var)

#root---界面(需要放在那个界面),text----显示文本
#width----宽度   height----高度  command----命令(执行哪个函数)
b1 = tk.Button(root,text = "insert point",width=15,height=2,command=insert_point)
b1.pack()

b2= tk.Button(root,text = "insert end",width=15,height=2,command=insert_end)
b2.pack()

#root---界面(需要放在那个界面),height ----文本框宽度
t1 = tk.Text(root,height=2)
t1.pack(fill="x")
root.mainloop()

③var(变量)和list(列表)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
var1 = tk.StringVar()
l = tk.Label(root, bg='yellow', width=4, textvariable=var1)
l.pack()

def print_selection():
    value = lb.get(lb.curselection()) #获取列表选项
    var1.set(value) #设置textvariable=var1的文本值



#root---界面(需要放在那个界面),text----显示文本
#width----宽度   height----高度  command----命令(执行哪个函数)
b1 = tk.Button(root,text = "print selection",width=15,height=2,command=print_selection)
b1.pack()

var2 = tk.StringVar()
var2.set((11,22,33,44))
#root---界面(需要放在那个界面),listvariable----列表变量
lb = tk.Listbox(root, listvariable=var2) #列表变量var2
list_items = [1,2,3,4]

for item in list_items: #列表遍历
    lb.insert('end', item)
lb.insert(1, 'first') #1号位后加入first
lb.insert(2, 'second') #2号位后加入second
#lb.delete(2) #删除2后的second
lb.pack()

root.mainloop()

④Radiobutton(选择按钮)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
var = tk.StringVar()
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()

def print_selection():
    l.config(text='you have selected ' + var.get())

#Radiobutton-----选择按钮
#root---界面(需要放在那个界面),variable----变量
#value----值   command----命令
r1 = tk.Radiobutton(root, text='Option A',
                    variable=var, value='A',
                    command=print_selection)
r1.pack()
r2 = tk.Radiobutton(root, text='Option B',
                    variable=var, value='B',
                    command=print_selection)
r2.pack()
r3 = tk.Radiobutton(root, text='Option C',
                    variable=var, value='C',
                    command=print_selection)
r3.pack()

root.mainloop()

⑤Scale(尺度)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()


def print_selection(v):
    l.config(text='you have selected ' + v)

#Scale----尺度函数
#root---界面(需要放在那个界面),label----标签名字   from_ ----尺度从哪开始    to----尺度到哪结束
#orient----尺度方向(HORIZONTAL水平)   length----显示长度(单位为像素)   tickinterval----每隔多少加个尺度显示
#resolution ----精度(精确到小数点后多少)  command----命令
s = tk.Scale(root, label='try me', from_=5, to=11, orient=tk.HORIZONTAL,
             length=200, showvalue=0, tickinterval=2, resolution=0.01, command=print_selection)
s.pack()

root.mainloop()

⑥ Checkbutton(勾选项)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x200")

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
l = tk.Label(root, bg='yellow', width=20, text='empty')
l.pack()

def print_selection():
    if (var1.get() == 1) & (var2.get() == 0):
        l.config(text='I love only Python ')
    elif (var1.get() == 0) & (var2.get() == 1):
        l.config(text='I love only C++')
    elif (var1.get() == 0) & (var2.get() == 0):
        l.config(text='I do not love either')
    else:
        l.config(text='I love both')

var1 = tk.IntVar()
var2 = tk.IntVar()

#Checkbutton----勾选函数
#root---界面(需要放在那个界面),text----文本   variable ----变量
#onvalue----勾选标志值   offvalue----无勾选标志值   command----命令
c1 = tk.Checkbutton(root, text='Python', variable=var1, onvalue=1, offvalue=0,
                    command=print_selection)
c2 = tk.Checkbutton(root, text='C++', variable=var2, onvalue=1, offvalue=0,
                    command=print_selection)
c1.pack()
c2.pack()

root.mainloop()

⑦canvas(画布)用法

import  tkinter as tk

root = tk.Tk()
root.title("这是Demo")
root.geometry("300x300")

#Canvas----画布
#root---界面(需要放在那个界面)
#bg----背景     width----宽度,height----高度(单位像素)
canvas = tk.Canvas(root, bg='white', height=200, width=200)

#PhotoImage----加载图片
#图片路径为file='C:\\Users\\admin\\Desktop\\Demo\\Demo\\1.gif'  注意是使用双斜杆\\
image_file = tk.PhotoImage(file='C:\\Users\\admin\\Desktop\\Demo\\Demo\\1.gif')

#create_image----图片位置
#create_image(瞄点横坐标,瞄点纵坐标,瞄点位置,加入图片)
image = canvas.create_image(0,0, anchor='nw', image=image_file)

#create_line----画线
#create_oval----画圆
#create_arc----画扇形
#create_rectangle----画矩形
#canvas.create_oval
x0, y0, x1, y1= 50, 50, 80, 80
line = canvas.create_line(x0, y0, x1, y1)
#create_oval----画扇形
#create_oval(坐标,坐标,坐标,坐标,填充颜色)
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
#create_oval----画圆
#create_oval(坐标,坐标,坐标,坐标,开始角度,结束角度)
arc = canvas.create_arc(x0+30, y0+30, x1+30, y1+30, start=90, extent=180)
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()

#move----移动
#canvas.move(对象, 横坐标, 纵坐标)
def moveit():
    canvas.move(rect, 2, 4)

b = tk.Button(root, text='move', command=moveit).pack()


root.mainloop()

⑧menubar(菜单栏)

import tkinter as tk

root = tk.Tk()
root.title('my window')
root.geometry('300x300')

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
l = tk.Label(root, text='', bg='yellow')
l.pack()
counter = 0
def do_job():
    global counter
    l.config(text='do '+ str(counter))
    counter+=1

#menubar----菜单
menubar = tk.Menu(root) #菜单加入root界面
filemenu = tk.Menu(menubar, tearoff=0) #filemenu加入菜单栏menubar下(tearoff=0 不可分割)
#filemenu菜单加入标签和相应执行命令
menubar.add_cascade(label='File', menu=filemenu)
filemenu.add_command(label='New', command=do_job)
filemenu.add_command(label='Open', command=do_job)
filemenu.add_command(label='Save', command=do_job)
filemenu.add_separator() #添加分割线
filemenu.add_command(label='Exit', command=root.quit)

editmenu = tk.Menu(menubar, tearoff=0)#editmenu加入菜单menubar下(tearoff=0 不可分割)
#editmenu菜单加入标签和相应执行命令
menubar.add_cascade(label='Edit', menu=editmenu)
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)

#submenu加入菜单filemenu下(tearoff=0 不可分割)
submenu = tk.Menu(filemenu)
#filemenu菜单加入标签和相应执行命令
filemenu.add_cascade(label='Import', menu=submenu, underline=0)
submenu.add_command(label="Submenu1", command=do_job)

#配置菜单栏
root.config(menu=menubar)

root.mainloop()

⑨Frame(架构)

import tkinter as tk

root = tk.Tk()
root.title('my window')
root.geometry('200x200')

#root---界面(需要放在那个界面),textvariable----显示文本变量
#bg----背景   font----字体格式,大小    width----宽度   height----高度
tk.Label(root, text='on the window').pack()

#Frame----框架
#Frame的作用可以合理分布控件位置
#框架设置在root界面上
frm = tk.Frame(root)
frm.pack()

#框架设置在Frame框架上(分别在左右)
frm_l = tk.Frame(frm)
frm_r = tk.Frame(frm)
frm_l.pack(side='left')
frm_r.pack(side='right')

tk.Label(frm_l, text='on the frm_l1').pack()
tk.Label(frm_l, text='on the frm_l2').pack()
tk.Label(frm_r, text='on the frm_r1').pack()
root.mainloop()

⑩messagebox(弹窗)

import tkinter as tk
import tkinter.messagebox
root = tk.Tk()
root.title('my window')
root.geometry('200x200')


def hit_me():
    #tk.messagebox.showinfo(title='Hi', message='hahahaha')   # return 'ok'
    #tk.messagebox.showwarning(title='Hi', message='nononono')   #警告 return 'ok'
    tk.messagebox.showerror(title='Hi', message='No!! never')   #错误 return 'ok'
    #print(tk.messagebox.askquestion(title='Hi', message='hahahaha'))   #询问 return 'yes' , 'no'
    #print(tk.messagebox.askyesno(title='Hi', message='hahahaha'))   #是否 return True, False
    #print(tk.messagebox.askretrycancel(title='Hi', message='hahahaha'))   # 重试  return True, False
    #print(tk.messagebox.askokcancel(title='Hi', message='hahahaha'))   # return True, False
    # print(tk.messagebox.askyesnocancel(title="Hi", message="haha"))     # return, True, False, None

tk.Button(root,text = 'hit_me',command=hit_me).pack()

root.mainloop()

⑾pack、grid以及place布局用法

import tkinter as tk

root = tk.Tk()
root.title('my window')
root.geometry('200x200')

#canvas = tk.Canvas(window, height=150, width=500)
#canvas.grid(row=1, column=1)
#image_file = tk.PhotoImage(file='welcome.gif')
#image = canvas.create_image(0, 0, anchor='nw', image=image_file)

#pack布局----可以通过side控制放在上下左右
#tk.Label(window, text='1').pack(side='top')
#tk.Label(window, text='1').pack(side='bottom')
#tk.Label(window, text='1').pack(side='left')
#tk.Label(window, text='1').pack(side='right')

#grid布局----通过方格的格式,将控件分布于其中
##for i in range(4):
    #for j in range(3):
        #tk.Label(window, text=1).grid(row=i, column=j, padx=10, pady=10)

#place布局----通过设置坐标方式,可以精确分布控件
tk.Label(root, text=1).place(x=20, y=10, anchor='nw')

root.mainloop()

相关文章:

【python】python进行debug操作

文章目录前言一、debug环境介绍二、debug按钮介绍2.1、step into:单步执行&#xff08;遇到函数也是单步&#xff09;2.2、step over:单步执行&#xff08;遇到函数&#xff0c;全部运行&#xff09;2.3、step into my code:&#xff08;直接跳到下一个断点&#xff09;2.4、st…...

Python安装tensorflow过程中出现“No matching distribution found for tensorflow”的解决办法

在Pycharm中使用pip install tensorflow安装tensorflow时报错&#xff1a; ERROR: Could not find a version that satisfies the requirement tensorflow(from versions: none) ERROR: No matching distribution found for tensorflow搜了好多帖子有的说可能是网络的问题&…...

pandas中的read_csv参数详解

1.官网语法 pandas.read_csv(filepath_or_buffer, sepNoDefault.no_default**,** delimiterNone**,** headerinfer’, namesNoDefault.no_default**,** index_colNone**,** usecolsNone**,** squeezeFalse**,** prefixNoDefault.no_default**,** mangle_dupe_colsTrue**,** dty…...

Python — — turtle 常用代码

目录 一、设置画布 二、画笔 1、画笔属性 2、绘图命令 (1) 画笔运动命令 (2) 画笔控制命令 (3) 全局控制命令 (4) 其他命令 3. 命令详解 三、文字显示为一个圆圈 四、画朵小花 一、设置画布 turtle为我们展开用于绘图区域&#xff0c;我们可以设置它的…...

【我是土堆 - PyTorch教程】学习随手记(已更新 | 已完结 | 10w字超详细版)

目录 1. Pytorch环境的配置及安装 如何管理项目环境&#xff1f; 如何看自己电脑cuda版本&#xff1f; 安装Pytorch 2. Python编辑器的选择、安装及配置 PyCharm PyCharm神器 Jupyter&#xff08;可交互&#xff09; 3. Python学习中的两大法宝函数 说明 实战操…...

“OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.”解决方法总结

一、问题描述 跑了点神经网络的代码&#xff0c;想画几个激活函数的图像&#xff0c;代码如下&#xff1a; 运行后报了以下错误&#xff1a; 翻译如下&#xff1a; OMP&#xff1a;错误 #15&#xff1a;正在初始化 libiomp5md.dll&#xff0c;但发现 libiomp5md.dll 已经初…...

python3.11.2安装 + pycharm安装

下载 &#xff1a;https://www.python.org/ 2.双击下载的软件&#xff1a; 3.进入安装界面 下一步&#xff0c;点击 是 上一步点击后就看到如下&#xff1a; 安装成功了&#xff0c;接下来检测一下&#xff1a;cmd 安装pycharm PyCharm是一种Python IDE&#xff08;Integr…...

Python中numpy.polyfit的用法详解

numpy中polyfit的用法 参数 polyfit(x, y, deg, rcondNone, fullFalse, wNone, covFalse):x:M个采样点的横坐标数组&#xff1b; y:M个采样点的纵坐标数组&#xff1b;y可以是一个多维数组&#xff0c;这样即可拟合相同横坐标的多个多项式&#xff1b; deg&#xff1a;多项式…...

彻底解决Python包下载慢问题

python默认使用的是国外镜像&#xff0c;有时候下载非常慢&#xff0c;最快的办法就是在下载命令中增加国内源&#xff1a; 常用的国内源如下&#xff1a; 清华大学&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云&#xff1a;http://mirrors.aliyun.com/pypi/…...

Anaconda 使用指南,少走弯路

​​​​​​​anaconda包管理器和环境管理器&#xff0c;强烈建议食用 1.下载 官网下载太慢可选用镜像下载 官网下载 &#xff1a;Anaconda | Individual Editionhttps://www.anaconda.com/products/distribution 镜像下载&#xff1a;Index of /anaconda/archive/ | 清华大…...

使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)

1.问题描述 初次打开stable diffusion webui时&#xff0c;需要安装gfpgan等github项目。但在安装gfpgan时&#xff0c;显示RuntimeError: Couldnt install gfpgan 2.解决方案 无法安装gfpgan的原因是网络问题&#xff0c;就算已经科学上网&#xff0c;并设置为全局&#x…...

Python 中导入csv数据的三种方法

这篇文章主要介绍了Python 中导入csv数据的三种方法,内容比较简单&#xff0c;非常不错&#xff0c;具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下微点阅读小编收集的文章介绍。 Python 中导入csv数据的三种方法&#xff0c;具体内容如下所示&#xff1a; 1、通过…...

相关性分析、相关系数矩阵热力图

相关性 相关性分析是研究两组变量之间是否具有线性相关关系&#xff0c;所以做相关性分析的前提是假设变量之间存在线性相关性&#xff0c;得到的结果也是描述变量间的线性相关程度。除此之外&#xff0c;相关性分析方法还会有其他的假设条件。而灰色关联度分析首先对数据量要求…...

【python123】题目答案整理 ------更多答案见专栏

目录 二老鼠打洞 来自计算机的问候-任意数量参数 自定义幂函数 来自计算机的问候-多参函数 编写函数输出自除数 最大素数 求数列前n项的平方和 生兔子 计算圆周率——割圆法 数列求前n项和 素数&#xff1a; *如有错误请私聊纠正 二老鼠打洞 nint(input()) # 每日打…...

Python编程题汇总

Python编程复习 1.1找出列表中单词最长的一个 找出列表中单词最长的一个def test():a ["hello", "world", "yoyo", "congratulations"]length len(a[0])# 在列表中循环for i in a:if len(i) > length:length ireturn length p…...

Matplotlib详解

视频教程 1.什么是matplotlib matplotlib: 最流行的Python底层绘图库&#xff0c;主要做数据可视化图表,名字取材于MATLAB&#xff0c;模仿MATLAB构建 2.样例 2.1折线图 eg&#xff1a;假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,…...

Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程

文章目录一&#xff1a;Anaconda安装二&#xff1a;Cuda、Cudnn安装三&#xff1a;Pytorch安装四&#xff1a;Tensorrt安装一&#xff1a;Anaconda安装 Jetson系列边缘开发板&#xff0c;其架构都是arm64&#xff0c;而不是传统PC的amd64&#xff0c;深度学习的环境配置方法大…...

pytorch入门篇2 玩转tensor(查看、提取、变换)

上一篇博客讲述了如何根据自己的实际需要在pytorch中创建tensor&#xff1a;pytorch入门篇1——创建tensor&#xff0c;这一篇主要来探讨关于tensor的基本数据变换&#xff0c;是pytorch处理数据的基本方法。 文章目录1 tensor数据查看与提取2 tensor数据变换2.1 重置tensor形状…...

随机森林算法

随机森林1.1定义1.2随机森林的随机性体现的方面1.3 随机森林的重要作用1.4 随机森林的构建过程1.5 随机森林的优缺点2. 随机森林参数描述3. 分类随机森林的代码实现1.1定义 随机森林是一种有监督学习算法&#xff0c;是以决策树为基学习器的集成学习算法。随机森林非常简单&am…...

实证分析 | 中介效应检验原理与Stata代码实现

前言 本文是温忠鳞和叶宝娟2014年刊载于《心理科学进展》的论文《中介效应分析&#xff1a;方法和模型发展》的简要笔记与拓展。 温忠麟、叶宝娟&#xff1a;《中介效应分析&#xff1a;方法和模型发展》&#xff0c;《心理科学进展》&#xff0c;2014年第5期 中介效应检验 要…...

几个代码画出漂亮的词云图,python最简单的词云图教程(建议收藏)

在开始编写程序之前&#xff0c;我们先了解一下词云图的作用&#xff0c;我们拿到一篇文章&#xff0c;想得到一些关键词&#xff0c;但文章篇幅很大&#xff0c;无法短时间得到关键词&#xff0c;这时我们可以通过程序将文章中的每个词组识别出来&#xff0c;统计每个词组出现…...

mac m1,m2 安装 提供GPU支持的pytorch和tensorflow

mac m1,m2 安装 提供GPU支持的pytorch和tensorflowAnaconda安装测试Pytorch参考链接安装步骤安装 Xcode创建conda环境测试加速效果注意Tensorflow参考链接安装步骤安装 Xcode指定安装环境加速效果测试The Endmac m1 刚出的时候&#xff0c;各种支持都不完善。那时候要使用conda…...

如何用Python优雅的合并两个Dict

假设有两个dict x和y&#xff0c;合并成一个新的dict&#xff0c;不改变 x和y的值&#xff0c;例如 x {a: 1, b: 2}y {b: 3, c: 4} 期望得到一个新的结果Z&#xff0c;如果key相同&#xff0c;则y覆盖x。期望的结果是 >>> z {a: 1, b: 3, c: 4} 在PEP448中&#xff…...

python读取文件的几种方式

下面是不同场景较为合适的数据读取方法&#xff1a; 1.python内置方法&#xff08;read、readline、readlines&#xff09; 纯文本格式或非格式化、非结构化的数据&#xff0c;常用语自然语言处理、非结构文本解析、应用正则表达式等后续应用场景下&#xff0c;Python默认的三…...

python常用模块大全

目录 时间模块time() 与 datetime()random()模块os模块sys模块tarfile用于将文件夹归档成 .tar的文件shutil 创建压缩包,复制,移动文件zipfile将文件或文件夹进行压缩 shelve 模块 json和pickle序列化hashlib 模块subprocess 模块re模块 时间模块time() 与 datetime() time()模…...

成本降低90%,OpenAI正式开放ChαtGΡΤ

今天凌晨&#xff0c;OpenAI官方发布ChαtGΡΤ和Whisper的接囗&#xff0c;开发人员现在可以通过API使用最新的文本生成和语音转文本功能。OpenAI称&#xff1a;通过一系列系统级优化&#xff0c;自去年12月以来&#xff0c;ChαtGΡΤ的成本降低了90%&#xff1b;现在OpenAI用…...

Python:ModuleNotFoundError错误解决

前言&#xff1a; 大家都知道python项目中需要导入各种包&#xff08;这里的包引鉴于java中的&#xff09;&#xff0c;官话来讲就是Module。 而什么又是Module呢&#xff0c;通俗来讲就是一个模块&#xff0c;当然模块这个意思百度搜索一下都能出来&#xff0c;Python 模块(…...

python案例——利用python画图

1、画直线 问题描述&#xff1a; 利用python中的 turtle &#xff08;海龟绘图&#xff09;模块提供的函数绘制直线 算法设计&#xff1a; turtle.penup(): 画笔抬起turtle.color(): 设置颜色turtle.goto(): 画笔移动到下一目标turtle.pendown(): …...

pandas.DataFrame设置某一行为表头(列索引),设置某一列为行索引,按索引取多行多列

pandas读取文件 pandas.DataFrame 设置索引 pandas.DataFrame 读取单行/列&#xff0c;多行多列 pandas.DataFrame 添加行/列 利用pandas处理表格类型数据&#xff0c;快捷方便&#xff0c;不常用但是有的时候又是必要技能&#xff0c;在这里记录一下一些常用函数和自己的踩坑…...

主成分分析(PCA)算法模型实现及分析(MATLAB实现)PCA降维

主成分分析&#xff08;PCA&#xff09;算法模型实现及分析&#xff08;源码在文章后附录&#xff09;1 引言2 关于PCA原理和算法实现2.1 PCA基本原理2.2 协方差计算2.3 PCA实现步骤  &#xff08;1&#xff09;PCA算法实现步骤  &#xff08;2&#xff09;基于特征值分解协…...

python 识别图片验证码/滑块验证码准确率极高的 ddddocr 库

前言 验证码的种类有很多&#xff0c;它是常用的一种反爬手段&#xff0c;包括&#xff1a;图片验证码&#xff0c;滑块验证码&#xff0c;等一些常见的验证码场景。 识别验证码的python 库有很多&#xff0c;用起来也并不简单&#xff0c;这里推荐一个简单实用的识别验证码的…...

华为OD机试 - 称砝码(Java JS Python)

题目描述 现有n种砝码,重量互不相等,分别为 m1,m2,m3…mn ; 每种砝码对应的数量为 x1,x2,x3...xn 。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。 输入描述 对于每组测试数据: 第一行:n --- 砝码的种数(范围[1,10]) 第二行:m1 m2 m3 ... m…...

DataFrame转化为json的方法教程

网络上有好多的教程&#xff0c;讲得不太清楚和明白&#xff0c;我用实际的例子说明了一下内容&#xff0c;附档代码&#xff0c;方便理解和使用 DataFrame.to_json(path_or_bufNone, orientNone, date_formatNone, double_precision10, force_asciiTrue, date_unitms, defau…...

requests库的使用(一篇就够了)

urllib库使用繁琐&#xff0c;比如处理网页验证和Cookies时&#xff0c;需要编写Opener和Handler来处理。为了更加方便的实现这些操作&#xff0c;就有了更为强大的requests库。 request库的安装 requests属于第三方库&#xff0c;Python不内置&#xff0c;因此需要我们手动…...

Pytorch+PyG实现MLP

文章目录前言一、导入相关库二、加载Cora数据集三、定义MLP网络四、定义模型五、模型训练六、模型验证七、结果完整代码前言 大家好&#xff0c;我是阿光。 本专栏整理了《图神经网络代码实战》&#xff0c;内包含了不同图神经网络的相关代码实现&#xff08;PyG以及自实现&a…...

PYcharm怎么用,一篇教会你

文章目录一、界面介绍二、设置中文&#xff08;无需汉化包&#xff09;三、常用快捷键四、Python 标识符和关键字1、标识符2、 关键字五、行和缩进六、Python 引号七、Python注释1、单行注释2、多行注释八、Python空行九、输入和输出1、print 输出2、input 输入十、多行语句一、…...

如何在pycharm中使用anaconda的虚拟环境

最近项目中有许多同学咨询如何在pycharm中使用anaconda的虚拟环境&#xff08;envs&#xff09;&#xff0c;这里就给大家简单介绍一下。 首先我们需要安装anaconda&#xff0c;这里就不在追述了&#xff0c;网上安装教程非常多。anaconda的安装路径大家需要记着因为后面会使用…...

Pytorch环境安装+Pycharm环境安装

我的配置&#xff1a; CUDA版本&#xff1a;11.7 Pytorch版本&#xff1a;1.13.0 Anaconda版本&#xff1a;anaconda3.2022.10&#xff08;64-bit&#xff09; Pycharm版本&#xff1a;2022社区版 具体配置过程如下&#xff1a; 1.Anaconda安装 本次安装的anaconda为win6…...

csapp第三章(2) --- 程序的机器级表示

csapp第三章(1) --- 程序的机器级表示https://blog.csdn.net/m0_63488627/article/details/129470787?spm1001.2014.3001.5501本章大纲 目录 3.4.过程 3.4.1运行中的栈 3.4.2转移控制 3.4.3数据传送 3.4.4栈上的局部存储 3.4.5栈的递归实现 3.5.数组分配和访问 3.6结…...

使用Ananconda进行Pytorch配置

为什么选择pytorch: 活跃度&#xff1a;逐渐形成了完整的开发生态&#xff0c;资源多。动态图&#xff1a;动态图架构&#xff0c;且运行速度较快。代码简洁&#xff1a;易于理解&#xff0c;设计优雅&#xff0c;易于调试。 可能有的疑惑&#xff1a; 深度学习框架太多不知道…...

python实现定时任务的8种方式详解

在日常工作中&#xff0c;常常会用到需要周期性执行的任务&#xff0c;一种方式是采用 Linux 系统自带的 crond 结合命令行实现。另外一种方式是直接使用Python。 当每隔一段时间就要执行一段程序&#xff0c;或者往复循环执行某一个任务&#xff0c;这就需要使用定时任…...

强大的数据分析工具——Pandas操作、易错点、知识点三万字详解

一、 Pandas数据结构 1.Series 2.DataFrame 3.从DataFrame中查询出Series DataFrame: 二维数据、整个表格、多行多列 Series:一维数据&#xff0c;一行或者一列 import pandas as pd import numpy as np 1、Series Series是一种类似于一维数组的对象&#xff0c;它由一组数…...

第一章 使用 matplotlib 绘制折线图

系列文章目录 第一章 使用 matplotlib 绘制折线图 第二章 使用 matplotlib 绘制条形图 第三章 使用 matplotlib 绘制直方图 第四章 使用 matplotlib 绘制散点图 第五章 使用 matplotlib 绘制饼图 第六章 使用 matplotlib 绘制热力图 第七章 使用 matplotlib 绘制堆叠条形图 第…...

jupyter notebook运行代码没反应且in[ ]没有*

前言&#xff1a; 在刚解决jupyter notebook打不开网页的问题后&#xff0c;我迫不及待地写了Python的代码&#xff0c;看看运行的结果如何。于是&#xff0c;我输入了print("Hello, world")&#xff0c;期待地点了一下运行&#xff0c;结果它直接跳到下一行了......…...

(超详细)python环境安装

耀风也是python初学者&#xff0c;文章可能会有不严谨的地方&#xff0c;如有发现希望帮我指正 1.python环境的安装 &#xff08;1&#xff09;为什么要安装python环境&#xff1f; python是一个解释性语言&#xff0c;所谓解释性语言就是代码不会进行预编译&#xff0c;而是…...

matplotlib绘图设置刻度线朝内、不显示刻度等常用代码

文章内容设置刻度线朝里坐标轴不显示刻度设置x轴0刻度从y轴开始绘制直线x某个值设置刻度线朝里 plt.rcParams[‘xtick.direction’] ‘in’ # 将x轴的刻度线方向设置向内 plt.rcParams[‘ytick.direction’] ‘in’ # 将y轴的刻度线方向设置向内 坐标轴不显示刻度 plt.xti…...

用Python实现ModbusTcp协议

用Python实现ModbusTcp协议 去年2021年写了两篇用Python实现Modbus-RTU串行通信协议的文章&#xff0c;今年有个项目用现场上位计算机通过ModbusTcp网关来读写现场的Modbus-RTU协议的仪表设备和IO设备。我则写了一个Python程序来测试采购的这台ModbusTcp网关设备。 首先是需要设…...

python绘制混淆矩阵

之前就了解过混淆矩阵&#xff0c;但是一直没有实践&#xff0c;今天刚好有数据实践一下&#xff0c;这里记录一下代码实现过程&#xff0c;方便以后查阅。 python绘制混淆矩阵matplotlib实现sklearn实现sklearn.metrics.ConfusionMatrixDisplayfrom_estimatorfrom_predictions…...

如何快速下载Python解决在官网下载缓慢问题以及如何安装Python

不知道你们碰到过这样的情况没有&#xff0c;在Python官网下载Python却很慢&#xff0c;刚开始我还以为是被限速了&#xff0c;后来才了解到这是因为Python官网的服务器是在外网&#xff0c;所以呢那我找到了一个Python的国内下载网址&#xff1a;CNPM Binaries Mirror (npmmir…...

FPN网络详解

1 特征金字塔 特征金字塔(Feature Pyramid Networks&#xff0c; FPN)的基本思想是通过构造一系列不同尺度的图像或特征图进行模型训练和测试&#xff0c;目的是提升检测算法对于不同尺寸检测目标的鲁棒性。但如果直接根据原始的定义进行FPN计算&#xff0c;会带来大额的计算开…...