#函数的使用 #灵活的if else语句 # a = 3 if False else 5 # print(a) # 5 #前面的表达式为真,才执行后面的表达式 # a = True and 3 # print(a) # 3 #前面的表达式为假,后面的表达式不需要执行 # b = False and 5 # print(b) #前面的表达式为真,后面的表达式就不需要执行了 # c = True or 3 # print(c) #前面的表达式为假,才会执行后面的表达式 # d = False or 5 # print(d) #类型判断 # if type(a) == int: # print('整数') # # if type(a) == type(1): # print('整数') #判断一个对象是否是一个类的实例 # print(isinstance(a, int)) # print(isinstance(a, float)) # def test(): # pass #判断是否可以调用 # print(callable(test)) #递归函数 #在函数内部调用函数本身的函数叫做递归函数 #组成: #函数内部调用了自己 #终止条件(停止调用自身的条件) #核心算法 #特点 #代码简洁 #可读性差 #瞬间占用内存较大,终止条件出错立即崩溃 #能不使用就不使用,在不得不使用的时候再使用 #匿名函数 #函数可以向普通变量一样进行赋值 # def test(): # print('for test') # # print(test.__name__) # a = test() #print(a.__name__) #函数可以作为参数传递 # def show(func): #函数可以作为参数传递 # show(test) #函数作为参数传递时,若函数只需要一次,没有必要定义函数, #可以通过匿名函数解决 #lambda: 参数列表: 表达式 #说明 #可以有多个参数,多个之间使用逗号隔开 #表达式就是返回值,不需要使用return关键字 # lt = [ # {'name': 'ergou', 'age': 18, 'height': '180'}, # {'name': 'dagou', 'age': 20, 'height': '170'}, # {'name': 'dahua', 'age': 19, 'height': '160'}, # {'name': 'cuihua', 'age': 21, 'height': '165'}, # ] #def key(d): #return d['age'] #lt.sort(key = key) lt.sort(key = lambda d : d['height']) for i in lt: print(i) #外部函数中定义一个内部函数 #内部函数中使用外部函数的局部变量 #外部函数将内部函数作为返回值 #此时的内部函数就叫闭包 # # def wai(n): # def nei(): # #内部函数中使用外部函数的局部变量 # return n * n # return nei() # # f1 = wai(10) # f2 = wai(5) # # print(f1()) # print(f2()) # # def zhuangshiqi(func): # def wrapper(): # print('前面的装饰') # func() # print('后面的装饰') # return wrapper # # def test(): # print('for test') # # t = zhuangshiqi(test) # t() # # @zhuangshiqi # def hello(): # print('how are you?') # hello()
2.2 闭包及 装饰器
猜你喜欢
转载自blog.csdn.net/XC_LMH/article/details/81195241
今日推荐
周排行