Day12
今日内容
- 函数中高级(闭包/高阶函数)
- 内置函数
- 内置模块(.py文件)
内容回顾
-
函数基础概念
-
函数的基本结构
def func(arg): return arg: v1 = func(123)
-
参数
- 写参数
- def func(a1,a2): pass
- def func(a1,a2=None): pass
- def func(*args,**kwargs)::
- 执行函数
- 位置参数在前 关键字参数在后
- 写参数
-
函数小高级
-
函数可以做变量
def func(): pass v1 = func
-
-
v1()
v2 = [func,func,func]
v2[1]()
```
- 函数可以做参数
```python
def func(arg):
v2 = arg()
def show():
pass
v1 = func(show)
#注意返回值
```
- python中以函数为作用域
```python
#第一题
for item in range(10):
pass
print(item)
#第二题
item = 10
def func():
for item in range(10):
pass
print(item)
func()
#第三题
item = 10
def func():
item = 2
def inner():
print(item)
for item in range(10):
pass
inner()
func()
#第四题(新浪微博面试题)
def func():
for num in range(10):
pass
v4 = [lambda :num+10,lambda :num+100,lambda :num+100,]
result1 = v4[1]()
result2 = v4[2]()
print(result1,result2)
func()
```
- lambda表达式
- 内置函数
- 输入输出
- 强制转换
- 数学相关
- 进制相关
- 其他
-
函数内部的数据是否会混乱
- 函数内部执行相互不混乱
- 执行完毕 + 内部元素不被其他使用 —>>销毁
内容详细
1、函数中高级
1.1 函数可以做返回值
def func():
print(123)
def bar():
return func
v= bar()
v()
name = '武藤兰'
def func():
print(name)
def bar():
return func
v= bar()
v()
def bar():
def inner():
print(123)
return inner
v= bar()
v()
name = '加藤鹰'
def bar():
name = '苍井空'
def inner():
print(123)
return inner
v= bar()
v()
name = '加藤鹰'
def bar(name):
def inner():