<small id='qO8UGHt'></small> <noframes id='rlXWM5YCJ'>

  • <tfoot id='otvnY'></tfoot>

      <legend id='rEMuDP2Q'><style id='gNk8ZT'><dir id='DP29uXEz'><q id='zQ9ItiWR'></q></dir></style></legend>
      <i id='Z6XV3d'><tr id='VpUuBr'><dt id='eXb14'><q id='IQHfiS'><span id='mCSiT'><b id='V698B'><form id='lJQxBZCbYO'><ins id='3zBpDU'></ins><ul id='Szyc'></ul><sub id='8j4DbK0iWn'></sub></form><legend id='ZPloItR'></legend><bdo id='yZgGKqshSN'><pre id='syA9apFK'><center id='blFQ'></center></pre></bdo></b><th id='0BLXzZqtwV'></th></span></q></dt></tr></i><div id='IFVK'><tfoot id='8qTLY'></tfoot><dl id='ioC1BrQ'><fieldset id='g9vnQk'></fieldset></dl></div>

          <bdo id='Yy0gDH3n'></bdo><ul id='kgKm6nW'></ul>

          1. <li id='so8gcWy5'></li>
            登陆

            Python知识点总结篇(四)

            admin 2019-11-18 313人围观 ,发现0个评论

            递归

            • 特性
            • 必须有清晰的完毕条件;
            • 每进入深一层递归,问题规划比上层应有所削减;
            • 递归功率不高,层次更多会导致栈溢出;
            def calc(n):
            print(n)
            if n // 2 > 0:
            return calc(n // 2)
            calc(10)

            函数式编程

            • 核算机:在核算机层面,CPU履行的是加减乘除以及各种判别和跳转指令代码,因此汇编是最靠近核算机的言语,越挨近核算机底Python知识点总结篇(四)层的言语履行功率越高;
            • 核算:指数学意义上的核算,越笼统的核算,离核算机硬件越远,功率越低;
            • 界说:一种笼统程度极高的编程范式,朴实的函数式编程言语编写的函数没有变量,故关于一个函数,只Python知识点总结篇(四)需输入确认,输出就确认,函数式编程是一种评论怎么编程的方法论,首要思维是把运算进程尽量集成一系列嵌套的函数调用;

            高阶函数

            • 界说:把其他函数作为参数的函数叫做高阶函数;
            def add(x, y, func):
            return func(x) * func(y)
            result = add(4, 8, abs)
            print(result)

            润饰器

            • 准则:
            • 不能修正被装修函数的源代码;
            • 不能修正被装修函数的调用方法;
            # --*--coding:utf-8--*--
            #! /usr/bin/python3
            user, passwd = 'k', '12345'
            def auth(func):
            def wrapper(*args, **kwargs):
            username = input('username:').strip()
            password = input('passPython知识点总结篇(四)wd:').strip()
            if user == username and passwd == password:
            print('passed')
            func(*args, **kwargs)
            else:
            exit('Invalid username or password.')
            return wrapper
            def index():
            print('welcomt to index page')
            @auth
            def home():
            print('welcome to home page')
            @auth
            def bbs():
            print('welcomt to bbs page')
            index()
            home()
            bbs()

            迭代器与生成器

            • 生成器:generator,列表元素按某种算法核算而出,一边循环一边核算的机制,称为生成器,只要在调用时才发生相应数据;
            • 直接效果域for循环的目标称为可迭代目标,Iterable,运用isinstance()判别一个目标是否为Iterable目标,可用于for循环的数据类型有 以下两类:
            • 调集数据类型:list、tuple、dict、set、str等
            • generatorPython知识点总结篇(四),包含生成器和带yield的可迭代目标;
            • 迭代器: 能够别next()函数调用并不断回来下一个值的目标称为迭代器,他们表明一个慵懒核算的序列,Iterator;
            • 生成目标都是迭代器目标,list、dict、str虽然是可迭代目标,但却不是迭代器,运用iter()函数可将他们从迭代目标转换为迭代器;

            json和pickle数据序列化

            # json序列化与反序列化
            import json
            info = {
            'name':'k',
            'age':22
            'sex':'男'
            }
            # 序列化
            f = open('test.txt', 'w')
            f.write(json.dumps(info))
            # 反序列化
            f = open('test.txt', 'r')
            data = json.loads(f.read())
            print(data['sex'])
            f.close()
            # pickle序列化与反序列化
            import pickle
            info = {
            'name':'k',
            'age':22
            'sex':'山东志广世纪集团男'
            }
            # 序列化
            f = open('test.txt', 'wb')
            f.write(pickle.dumps(info)) #与下一句效果相同
            pickle.dump(info, f)
            # 反序列化
            f = open('test.txt', 'rb')
            data = pickle.loads(f.read())
            print(data['sex'])
            f.close()

            欢迎重视微信大众号:村雨1943;创造不易,未经赞同,转载请注明出处~

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP