基础练习
# 匿名函数lambda,返回的是一个函数对象(function object)
# 求函数平方
def square(x):
return x ** 3
print(square(4))
square_1 = lambda x: x ** 3
print(square_1(4))
# lambda 可以用在列表内部,而常规函数却不能:
# 对列表数据做平方操作
l = [(lambda x: x * x)(x) for x in range(10)]
print(l)
list_square = map(lambda x: x ** 2, [1, 2, 5, 2, 9])
print(list_square)
print(list(list_square)) # 惰性序列,需要通过list()返回一个list
# lambda 可以被用作某些函数的参数,而常规函数def 也不能
# 列表排序
l = [(1, 20), (3, 0), (9, 10), (2, -1)]
l.sort(key=lambda x: x[1]) # 按照列表中元组的第二个元素排序
print(l) # [(2, -1), (3, 0), (9, 10), (1, 20)]
tkinter练习
# 每次点击按钮,都打印一段文字
from tkinter import Button, mainloop
# # 常规函数写法
# def print_message():
# print('being pressed')
#
#
# button = Button(text='This is a button', command=print_message)
# button.pack() # 自动适应组件的大小
# mainloop()
# 使用lambda
button_1 = Button(text='this is a button', command=lambda: print('being pressed ..'))
button_1.pack()
mainloop()