ICode9

精准搜索请尝试: 精确搜索
  • day11作业2020-12-22 21:00:14

    为函数写一个装饰器,在函数执行之后输出 after def start(f): def new_f(*args, **kwargs): re = f(*args, **kwargs) print('after') return re return new_f @start def func1(): print('hello world') func1() 为函数写一个装饰

  • 11高阶函数作业2020-12-22 19:31:50

    # -*- Coding = utf-8 -*- # @time: 2020/12/22 17:33 # Author: YKL # 1.为函数写一个装饰器,在函数执行之后输出 after from functools import reduce def after(f): def new_f(*args, **kwargs): re = f(*args, **kwargs) print('after') r

  • DRF终极封装ViewSet和Router附教程PDF源码2020-12-22 08:02:49

    在DRF官方教程的学习过程中,一个很明显的感受是框架在不断地进行封装,我们自己写框架/工具/脚本/平台也可以模仿模仿,先完成底层代码,再做多层封装,让使用者很容易就上手操作。本文是教程的最后一篇,介绍ViewSets和Routers。 ViewSets 先看看之前在给User模型创建Endpoint时,我们新增的2

  • Python实现单例的四种方法2020-12-21 05:32:06

    一、通过模块调用的方式实现 在python3中,首次导入模块文件时,会在程序目录下的__pycache__目录下生成pyc文件,再次导入时,将直接加载pyc文件。 因此,只需要把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。 二、使用__new__方法(饿汉式) # 饿汉式 class HungrySingleton(o

  • DRF类视图让你的代码DRY起来2020-12-19 08:32:17

    刚开始写views.py模块的代码,一般都是用def定义的函数视图,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don't Repeat Yourself)设计原则: 使用APIView rest_framework.views.APIView是DRF封装的API视图,继承了django.views.generic.base.View: 我们用它把函数视图改

  • python函数的万能参数2020-12-18 16:36:12

    我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数 def test(*args,**kwargs): print(args,kwargs) 然后定义两个变量 l = [1,2,3,4] d = {"a":1,"b":2} 下面我们分别看下两种传参的方式有什么不同 第一种方式 test(l,d) 如果是使用上面的方式传参,

  • torch.meshgrid(*tensors, **kwargs)函数的使用举例2020-12-18 15:00:23

    参考链接: torch.meshgrid(*tensors, **kwargs) 代码实验举例: Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more inform

  • Python3中tornado高并发框架(3)-基本框架样式2020-12-15 09:58:15

    13. tornado.httputil.HTTPFile对象 tornado.httputil.HTTPFile对象作用: 它是接收到的文件的对象属性 filename:文件的实际名字 body: 文件的数据实体 content_type:文件的类型在templates中新建upload.html templates/upload.html中简单的上传页面 <!DOCTYPE html> <html lang="e

  • 装饰器和生成器2020-12-09 12:34:12

    装饰器 装饰器的本质就是一个闭包函数 装饰器的功能:在不修改原函数及其调用方式的情况下对原函数功能进行扩展 # def wrapper(func): # def inner(*args,**kwargs):''' 在函数执行前执行的操作 ''' # ret = func(*args,**kwargs)''' 在函数执行后执行的操作 ''' #

  • 函数def2020-12-06 19:06:06

    不限定传入的值 **kwargs:必须以字典方式传入 def a(name,**kwargs): print(f'name:{name},kwargs = {kwargs}') print(type(kwargs)) a(name = 'zhang',p ='f') name:zhang,kwargs ={‘p’: ‘f’} <class ‘dict’> 2.*args : 元组 def a(name,*arg

  • 工具代码-timeout2020-12-03 09:33:02

    工具代码-timeout 完成timeout,对于一个自动化用例实现超时后自动停止 1 import time 2 #from threading import Thread 3 import threading 4 import sys 5 6 class KThread(threading.Thread): 7 """A subclass of threading.Thread, with a kill() 8 method.

  • python之__new__()方法与实例化2020-12-02 11:02:24

    __new__()是新式类中新出现的方法 ,它作用在构造方法建造实例之前,可以这么理解,在python  中存在于类里面的构造方法__init__()负责将类的实例化,而在__init__()启动之前, __new__()决定是否要使该__init__()方法,因为__new__()可以调用其他类的构造方法或者直接返回别的对象来作为

  • 114.django复制模型对象和自定字段2020-11-24 09:32:53

    1.模型对象复制 产生原因:项目增加某部分表数据的复制功能,但是很难受由于项目是初始阶段,表中字段一直变化,通过对象复制操作 每次增加一些字段我就需要改代码,特别烦人,所以产生了这个东西. 代码如下很简单: from django.db.models import AutoField, DateTimeField from Publi

  • 7-函数2020-11-19 17:34:50

    函数基础 定义函数/声明函数 def f(): print('hello') 调用函数 f() 参数 def f2(x, y): 函数的作用 封装一个功能(一段代码) 标准函数 return 1.返回结果 2.立刻退出函数 3.默认返回None return如果不接返回值,可以用来中止函数 函数参数 实参/形参 实参:函

  • 20201112-1 函数式编程之参数详解22020-11-12 15:31:53

      3. 默认参数 3-1-1 def test(x,y=2):     print(x)     print(y) # 在写形参的时候,提前赋值,等于 2 了  test(1) --->  1 2 没有赋值给y,因为 y 是默认等于 2   3-1-2 可以赋值吗? def test(x,y=2):            print(x)     print(y) test(1

  • python-装饰器2020-11-12 15:03:42

    装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能 关键代码: 1、Component 类充

  • 13、函数的参数2020-11-08 10:00:59

    一 形参与实参介绍 函数的参数分为形式参数和实际参数,简称形参和实参: 形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。 实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合: #1:实参是常量 res=my_min(1,2) #2:实参是变

  • day852020-11-06 21:05:03

    1 2个视图基类 2 5个视图扩展类 3 9个子类视图 4 视图集 5 action的使用 6 路由的使用 ## 1 2个视图基类 ```python # Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 # APIView:继承了原生Django的View # G

  • unittest使用的时候,print的东西可以在html详情里面显示,但是又想打印在日志中,那就修logging模块中的info方法,使用装饰器2020-10-30 18:01:02

        def print_msg(fun): def innfun_(self,msg,*args,**kwargs): print(msg) return fun(self,msg,*args,**kwargs) class Logger(Filterer): def __init__(self, name, level=NOTSET): """ Initialize the

  • Django Rest Framework 源码相关2020-10-27 19:33:52

    FBV和CBV区别 CBV 内部dispatch 做了分发 FBV没办法用类的继承,多态 # DJango的View只做了CBV的分发 def dispatch(self, request, *args, **kwargs): # GET POST # BookView().get if request.method.lower() in self

  • 函数参数2020-10-10 22:00:56

    # 定义函数的时候: # 位置参数 : 直接定义参数 # 默认参数,关键字参数 :参数名 = '默认的值' # 动态参数 : 可以接受任意多个参数 # 参数名之前加*,习惯参数名args, # 参数名之前加**,习惯参数名kwargs # 顺序:位置参数,*args,默认参数,*

  • 转--python中的函数参数类型2020-09-16 07:33:04

    1.参数命名规则经验 绝大多数函数接收一定数量的参数,然后根据实际调用时提供的参数的值的不同,输出不同的结果。前面我们说过,将函数内部的参数名字,定义得和外部变量的名字一样是一种不好的习惯,它容易混淆思维,甚至发生错误。 2.位置参数(必传参数/位置参数) 必须在调用函数时明确

  • Python中*args和**kwargs的区别2020-07-08 14:07:13

    *args和**kwargs的使用方法 *args 用来将参数打包成tuple给函数体调用 **kwargs 打包关键字参数成dict给函数体调用 def test_args(first, *args, **kwargs): print('Required argument: ', first) print('Optional argument: ', args) print('Optional argument: '

  • django的View和drf的APIView源码解析2020-07-06 20:38:59

    目录django中的View源码解析drf中APIView源码解析 django中的View源码解析 FBV: path('admin/', admin.site.urls), CBV: path('books/', views.BookView.as_view()), 在路由层使用CBV时需要执行 CBV.as_view()方法,使该位置的实参变为一个FBV(函数地址) as_view方法的返回值

  • drf安装和CBV源码剖析2020-07-06 20:07:17

    1.drf的安装   安装:pip install djangorestframework==3.10.3   使用: 1 在setting.py 的app中注册 INSTALLED_APPS = [ 'rest_framework' ] 2 在models.py中写表模型 class Book(models.Model): nid=models.AutoField(primary_k

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有