博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python偏函数实例
阅读量:6413 次
发布时间:2019-06-23

本文共 2203 字,大约阅读时间需要 7 分钟。

目标:

  1.编写一个gui,生成按钮

  2.通过偏函数,生成按钮

  3.通过装饰器,实现按钮输出信息功能

 

1.使用Tkinter,创建一个按钮

代码如下:

handetiandeMacBook-Pro:~ xkops$ cat button.py

#!/usr/bin/env python# -*- coding: utf-8 -*-import Tkinter#定义一个窗口root = Tkinter.Tk()#定义一个按钮b1 = Tkinter.Button(root, foreground='white', background='blue', text='Button1')#包装b1.pack()root.mainloop()

•运行代码,效果如下图

 

2.通过使用偏函数定义按钮(偏函数定义一些相通部分的内容)

代码如下:

handetiandeMacBook-Pro:~ xkops$ cat button.py

#!/usr/bin/env python# -*- coding: utf-8 -*-import Tkinterfrom functools import partialroot = Tkinter.Tk()#使用偏函数定义相同的内容MyButton = partial(Tkinter.Button, root, foreground='white', background='blue')b1 = Tkinter.Button(root, foreground='white', background='blue', text='Button1')b2 = MyButton(text='Button2')b3 = MyButton(text='Button3')b4 = MyButton(text='quit')b1.pack()b2.pack()b3.pack()b4.pack()root.mainloop()

•运行代码,测试效果

 

3.定义函数,实现点击button2按钮,输出"Hello,world"功能,点击quit按钮,关闭窗口功能。

代码如下:

handetiandeMacBook-Pro:~ xkops$ cat button.py

#!/usr/bin/env python# -*- coding: utf-8 -*-import Tkinterfrom functools import partialdef greet():    print "Hello, world"root = Tkinter.Tk()MyButton = partial(Tkinter.Button, root, foreground='white', background='blue')b1 = Tkinter.Button(root, foreground='white', background='blue', text='Button1')b2 = MyButton(text='Button2', command=greet)b3 = MyButton(text='Button3')b4 = MyButton(text='quit', command=root.quit)b1.pack()b2.pack()b3.pack()b4.pack()root.mainloop()

•运行代码,点击Button2和quit按钮查看效果

 

4.通过编写装饰器实现,点击不同按钮,打印不同的信息。

代码如下:

handetiandeMacBook-Pro:~ xkops$ cat button.py

#!/usr/bin/env python# -*- coding: utf-8 -*-import Tkinterfrom functools import partialdef greet(word):    def welcome():        print "Hello, %s" % word    return welcomeroot = Tkinter.Tk()MyButton = partial(Tkinter.Button, root, foreground='white', background='blue')b1 = Tkinter.Button(root, foreground='white', background='blue', text='Button1')b2 = MyButton(text='Button2', command=greet('world'))b3 = MyButton(text='Button3', command=greet('Python'))b4 = MyButton(text='quit', command=root.quit)b1.pack()b2.pack()b3.pack()b4.pack()root.mainloop()

•运行代码,测试效果,点击Button2,后台输出"Hello, world", 点击Button3后台输出"Hello, Python"

 

转载于:https://www.cnblogs.com/xkops/p/6266254.html

你可能感兴趣的文章
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
【Vue】vue.js常用指令
查看>>
NFS学习
查看>>
MySql常用命令总结
查看>>
又一年...
查看>>
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>
python中print的作用*8、不能+8_在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。 (1.0分)_学小易找答案...
查看>>
python 生成html代码_使用Python Markdown 生成 html
查看>>
axure如何导出原件_Axure 教程:轻松导出图标字体所有图标
查看>>
laravel input值必须不等于0_框架不提供,动手造一个:Laravel表单验证自定义用法...
查看>>
cad填充图案乱理石_太快了吧!原来大神是这样用CAD图案填充的
查看>>
activator.createinstance 需要垃圾回收么_在垃圾回收器中有哪几种判断是否需要被回收的方法...
查看>>
rocketmq 消息指定_RocketMQ入坑系列(一)角色介绍及基本使用
查看>>