if判断语句通过判断选定的条件而做出不同的动作
1、if+True/Flase
if True:
print("True")
else:
print("False")
输出结果当然是True.
2、if+变量
flag = True
if flag:
print("True")
else:
print("False")
这种方式可以理解为:
flag = True
if flag==True:
print("True")
else:
print("False")
也就是说,当flag的值定义为False时,判断条件:flag==True则不成立,程序就会实行else语句下的动作
这种方式的好处就是可以动态性的更改变量的值从而达到改变条件的目的,同时也节省了很多步骤
下面是一个通过调用方法改变变量flag值从而输出不同的结果(其中nonlocal的作用看这里)
import tkinter
import tkinter.messagebox
def main():
#定义flag全局变量
flag = True
def change_label_text():
nonlocal flag
#将flag的值改为False
flag = not flag
color,msg = ('red','Hello,world!')\
if flag else ('blue','Goodbye,world!') #等价于:if flag==True else('blue','Goodbye,world!'),而此时flag为False
label.config(text=msg,fg=color)
print(flag)
top = tkinter.Tk()
top.geometry('240x160')
top.title('oolee')
label = tkinter.Label(top,text='快活呀!',fg = 'yellow',font = '32')
label.pack()
#按钮
panel = tkinter.Frame(top)
button1 = tkinter.Button(panel,text='退出')
button1.pack(side='left')
button2 = tkinter.Button(panel,text='切换',command=change_label_text)
button2.pack(side='right')
panel.pack(side='bottom')
print(flag)
main()
通过此程序则可以反复点击button插件显示不同的效果