函数的总结和内置函数

 1.函数的注释
# def search(l,aim):
# '''
# 功能 : 二分查找
# :param l:是被查找的列表
# :param aim:要查找的项
# :return:要查找的项所在的索引
# '''
# pass
# 注释一定要准确
# 如果函数的功能改变了 一定要修改注释
# 代码不要逐行注释

# 2.什么是全局变量
# for i in range(100):
# name = 'alex'
#
# print(name)

# 3.函数的嵌套定义和非嵌套函数之间的应用比例 :
# 95% 一层就搞定
# 5% 两层嵌套/三层嵌套 后话

# 4.什么是闭包
# a = 10
# def outer():
# def inner():
# print(a)
# inner()
# outer()
# 没有调用外层函数的变量,用的是全局变量 - 不是闭包

# def outer():
# a = 10
# def inner():
# print(a) # a是outer函数的变量
# inner()
# outer()

# def outer():
# def inner():
# print(inner) # inner就是外部函数的变量,inner是一个闭包函数
# inner()

# def outer(l):
# '''
# 复杂的计算逻辑和一个结果
# '''
# new_l = []
# for i in l:
# new_l.append(i%5 **3)
# def inner():
# return new_l # 在闭包中直接获取复杂计算逻辑的结果
# return inner
#
# inn = outer(range(10)) # 执行了复杂的逻辑
# inn() # 直接取结果

# 5.生成器和生成器函数的区别
# 生成器函数的返回值 是生成器
# 生成器函数本身只是一个特殊的函数,不是一个生成器
# 只是返回生成器而已

# 6.生成器表达式和生成器函数有什么关系?
# g = (i**3 for i in range(100))
# def gener():
# for i in range(100):
# yield i**3
# g2 = gener()
# g和g2是一样的


# 函数基础\函数进阶\生成器和迭代器\内置函数\递归函数
# 函数基础 : *****
# 参数是怎么定义的,怎么调用的,怎么传的
# 返回值
# 函数进阶 :
# 在函数的内部尽量少用全局的变量 *****
# 在函数的外部不能使用局部的变量 *****
# 闭包的概念 - 装饰器做铺垫的 实用角度 :*** 面试可能会用
# 生成器和迭代器
# yield + for循环取值 *****
# 基础的生成器表达式 *****
# (i的表达式 for i in iterable)
# yield from + next/send/list 几乎不用 : 面试可能会用,基本功 实用角度:***
# 内置函数
# 简化你的代码和逻辑 ****

 


posted @ 2018-11-14 15:07  雨中含春  阅读(126)  评论(0编辑  收藏  举报