zoukankan      html  css  js  c++  java
  • 闭包与迭代器

    1.python内置函数

    def compare(*args):
        return max(args),min(args)
    a,b=compare(1,2,3,4,5,6)
    print("max:{},min:{}".format(a,b))

    2.若定义的函数参数为可变类型的变量,若果调用改变了此变量,其他可以看到此位置的变量也跟随改变

    def extendList(val, list=[]):
        list.append(val)
        return list
    list1 = extendList(10)
    list2 = extendList(123, [])
    lis3=extendList("a")
    print('list1=%s' % list1)
    print('list2=%s' % list2)
    print('list3=%s' % lis3)

    3.闭包

    def fun():
        name="jack"
        def inner():
            print(name)
        return inner
    
    c=fun()
    print(c())
    

      闭包是内层函数对外层函数变量的引用,目的一是为了使变量常驻内存,二是为了保证参数的安全性

    4.迭代与迭代器

    迭代数据类型:str,list,dict,tuple,文件操作句柄

    同过dir()查询类中定义好的方法,查询是否有__iter__()方法,如若对象中有__iter__()方法,则我们认为次类遵循了迭代协议,可以用此方法获取迭代器

    lis=[1,2,3,4,5]
    it=lis.__iter__()
    while 1:
        try:
            c=it.__next__()
            print(c)
        except: StopIteration
            break
  • 相关阅读:
    第13周作业集
    软件工程结课作业
    第13次作业--邮箱的正则表达式
    第12次作业--你的生日
    第11次作业
    第10次作业
    找回感觉的练习
    第16周作业
    第15周作业
    第14周作业
  • 原文地址:https://www.cnblogs.com/wszxdzd/p/9325417.html
Copyright © 2011-2022 走看看