# Python learning
# coding:utf-8
# 闭包函数=名称空间与作用域+函数嵌套+函数对象
# 核心点:名字的查找关系是以函数定义阶段为准
# 什么是闭包函数
# "闭"函数指的是该函数是内嵌函数
# "包"函数指的是该函数包含对外层函数作用域的引用(不是对全局作用域)
# def f1():
# x = 1111111111
#
# def f2():
# print(x)
# f2()
#
#
# x = 2222222222
# f1()
#
#
# def bar():
# x = 3333333333
# f1()
#
#
# def foo():
# x = 4444444444
# bar()
#
#
# foo()
# 闭包函数:函数对象
def f1():
x = 3333333333
def f2():
print(x)
return f2
f = f1()
f()
# 定义闭包函数
# 闭包函数的应用
# 两种为函数体传参的方式
# 1.直接把函数体需要的参数定义成形参
# def f2(x):
# print(x)
#
#
# f2(1)
# 2.
# def f1():
# x = 3
#
# def f2():
# print(x)
#
# return f2
#
#
# f = f1()
# f()
# import requests
#
#
# def search_url(url):
#
# def get():
# response = requests.get(url)
# print(len(response.text))
#
# return get
#
#
# url1 = input('url:')
#
# f = search_url(url1)
# f()