设为首页 加入收藏

TOP

day 11 前方高能-迭代器(一)
2019-08-23 00:32:25 】 浏览:283
Tags:day 前方 高能
第一类对象 -----函数名  == 变量名
函数对象可以像变量一样进行赋值
还可以作为列表的元素进行使用
可以作为返回值返回
def wrapper():
    def inner():
        print("哈哈哈")
    return inner  # 函数名可以像返回值一样返回
 
ret = wrapper()
ret() # 在函数外面访问了函数内部的函数
函数可以进行参数进行传递
def func1():
    print("朱祁镇")
 
def func2():
    print("徐阶")
 
def func3():
    print("王阳明")
 
def func4():
    print("魏忠贤")
 
lst = [func1, func2, func3, func4] # 函数+() 就是调用.
print(lst)    ###function func2 at 0x000001A53FB298C8>, <function func3 at 0x000001A53FB29950>, <function func4 at 0x000001A53FB299D    是一个内存地址
lst = [func1(), func2(), func3(), func4()]     ##函数是调用的,没有retrun返回的是None
print(lst)
###朱祁镇
徐阶
王阳明
魏忠贤
[None, None, None, None]
函数外面的访问了函数内部的函数
def wrapper():
    def inner():
        print("哈哈哈")
    return inner   ###函数名可以像返回值一样返回
ret = wrapper()
ret()  ##在函数外面方位了函数内部的函数
闭包------函数的嵌套
      内层函数中使用外层函数的变量
优点:1.保护变量不被其他人侵害
         2.保持一个变量常驻内存
超级简易版爬虫
from urllib.request import urlopen # 导入一个模块
# 干掉数字签名
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
 
 
def func():
    # 获取到网页中的内容, 当网速很慢的时候. 反复的去打开这个网站. 很慢
    content = urlopen("https://www.dytt8.net/").read()
 
    def inner():
        return content.decode("gbk") # 网页内容
    return inner
 
print("开始网络请求")
ret = func() # 网络请求已经完毕
print("网络请求完毕")
print("第一次", ret()[5])   ret()就是return返回的值,调用inner函数
print("第二次", ret()[5])
如何查看一个是闭包
  __closure__ 有东西就是闭包,没有东西就不是闭包
迭代器---固定的思路.for循环
一个数据类型中包含了__iter__函数表示这个数据是可迭代的
dir(数据): 返回这个数据可以执行的所有操作
判断迭代器和可迭代对象的方案(野路子)
        __iter__            可迭代的
        __iter__  __next__  迭代器
lst = ['贾樟柯', '利安', '杨德昌', '王家卫']
it = lst.__iter__()
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())    ###StopIteration    停止迭代
#想回去
it = lst.__iter__()     #只能重新获取迭代器
 判断迭代器和可迭代对象的方案(官方)
        from collections import Iterable, Iterator
        isinstance(对象, Iterable) 是否是可迭代的
        isinstanc
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Delphi XE 10.2.3使用CEF4Delphi.. 下一篇Php的常见错误及错误分析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目