a = 1
def func():
global a #声明后就能够修改全局的 a ,将会影响全局的 a 应尽可能不使用,由于不安全
a += 1
func()
print(a) #2
def max(a,b):
return a if a>b else b
def the_max(x,y,z):
c = max(x,y)
return max(c,z)
print(the_max(1,2,3)) #3
a = 5
def outer():
a = 1
def inner():
b = 4
print(a) #1
print('inner') #inner
def inner2():
nonlocal a #声明上面第一层的局部变量 a 能够修改,对全局变量无效
a += 1
print(a,b) #2 4
print('inner2') #inner2
inner2()
inner()
print('局部 a:',a) #局部 a: 2
outer()
print('全局 a:',a) #全局 a: 5
def func():
print(123)
func2 = func #函数名能够赋值
func2() #123
l = [func,func2] #函数名能够作为容器类型的元素
for i in l:
i() #123
#123
def func():
print(123)
def wahaha(f):
f()
return f #函数名能够做为函数的返回值
qqxing = wahaha(func) #函数名能够做为函数的参数 123
qqxing() #123
def outer():
a = 1
def inner():
print(a)
# print(inner.__closure__)
return inner
inn = outer() #返回了内部闭包的函数地址
inn() #运行内部的函数
#import urllib #调用模块
from urllib.request import urlopen
# ret = urlopen('https://home.cnblogs.com/u/bydzxzy/').read()
# print(ret)
def get_url():
url = 'https://home.cnblogs.com/u/bydzxzy/'
def get():
ret = urlopen(url).read() #爬取了网页的原码
print(ret)
return get
get_func = get_url()
get_func()