• 2024-09-15生成器与lambda表达式
    目录生成器特性迭代器协议迭代器协议的工作原理使用生成器计算程序花费时间lambda函数生成器yield关键字用于创建生成器(generator)生成器是一种特殊的迭代器,不需要一次性将所有数据加载到内存中,使用yield关键字,函数可以返回一个值,然后在下一次调用时从上次返回的位置继续执
  • 2024-08-27第一章 协程
    协程&asyncio&异步编程的>背景为什么要学?越来越多的学生都来问async异步相关问题,并且这一部分的知识点不太容易学习(异步非阻塞、asyncio)异步相关话题和框架越来越多,例如:tornado、fastapi、django3.xasgi、aiohttp都在异步->提升性能。如何讲解?第一部分:协程。
  • 2024-08-10011.Vue3入门,计算属性的使用,让模板语法更简洁
    1、代码如下:<template><h3>计算属性</h3><div>{{func1}}</div><div>{{func1}}</div><div>{{func1}}</div><!--<div>{{func1()}}</div>--><!--<div>{{func1()}}&
  • 2024-05-19scipy_optimize_curve_fit 拟合多维曲面问题_scipy leastsq 拟合曲面
    CSDN搬家失败,手动导出markdown后再导入博客园在做模板匹配算法过程中,想要通过拟合高斯曲面的方式实现亚像素精度。初始代码如下#创建一个函数模型用来生成数据deffunc1(x,a,b,c,d):r=a*np.exp(-((x[0]-b)**2+(x[1]-d)**2)/(2*c**2))
  • 2024-05-18python中的装饰器,迭代器,生成器之间的关系
    一、装饰器装饰即修饰,意指为其他函数添加新功能;装饰器的本质就是函数作用是为其他函数添加新功能,如计算该函数运行时长装饰器遵循原则:1.不修改被装饰函数的源代码(开放封闭原则)2.为被装饰函数添加新功能后,不能修改被修饰函数的调用方式装饰器的实现=高阶函数+函数嵌套+
  • 2024-01-23今天学习基础知识,抽象类和接口
    今天学习基础知识,抽象类和接口,之前这块学的不太好没有太了解。抽象类与接⼝1.抽象类抽象类和抽象⽅法都使⽤abstract关键字进⾏声明。如果⼀个类中包含抽象⽅法,那么这个类必须声明为抽象类。抽象类和普通类最⼤的区别是,抽象类不能被实例化,只能被继承。privateInnerClas
  • 2024-01-23并发编程之协程
    协程1.什么是协程计算机中提供了:线程、进程用于实现并发编程(真实存在)。协程(Coroutine),是程序员通过代码搞出来的一个东西(非真实存在)。协程也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行(来回跳着执行)。例如:deff
  • 2024-01-13【C语言】模块划分、编译器工作原理
    模块划分在实际应用中,一个较大的C程序并不会把所有代码都放入main主函数中,而是进行模块化设计,每个程序模块作为一个源程序文件,再由若干源程序文件组成一个C程序。这样处理便于分别编写、分别编译、进而提高调试效率。#include<stdio.h>voidfunc1(){//函数声明并定义
  • 2024-01-05设置观察点
    测试代码#include<cstdint>#include<thread>intg_v=0;voidthread_func1(){for(inti=1;i<100;++i){if(i%4==0)++g_v;}}voidthread_func2(){for(inti=1;i<100;++i){if(i%2==0)g_v++;}}
  • 2023-12-16linux c 编程 --- 协程
    什么是协程协程(Coroutines)是一种比线程更加轻量级的存在,协程可以理解为一个特殊的函数,这个函数可以在某个地方挂起去执行别的函数,并且可以返回挂起处继续执行。一个线程内可以由多个协程来交互运行,但是多个协程的运行是绝对串行的,也就是说同一时刻只有一个协程在运行,当一个协程
  • 2023-11-21lua打印堆栈
    print(debug.traceback("Stacktrace:"))functionfunc1()func2()endfunctionfunc2()print(debug.traceback("Stacktrace:"))endfunc1()Stacktrace:[string"test.lua"]:5:infunction'func2'[s
  • 2023-11-20UE4接口
    官方链接目的不同Actor对象具有同一个功能,比如角色按F键可以实现开门,开车,与NPC沟通等操作。其本质就是让所有的Actor对象除了继承UObject以外,再继承这个接口类。接口的声明宏的改变:UCLASS->UINTERFACE父类的改变:UObject->UInterface在C++中利用引擎创建的接口类实际上是
  • 2023-10-14TS第二个参数类型是根据第一个参数类型
    interfaceperson{name:stringid:numbersex:boolean}func1<Textendskeyofperson,Kextendsperson>(a:T,b:K[T]){}简化一下func1<Textendskeyofperson>(a:T,b:person[T]){}调用方法changeNa
  • 2023-09-2020230919 .NET面经
    SQLIQuerable和IEnumerable的主要区别?https://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerabletSothedifferencebetweenIQueryableandIEnumerableisaboutwherethefilterlogicisexecuted.Oneexecuteso
  • 2023-08-29装饰器 原理
    #装饰器是用来装饰方法的,其作用就是在原函数的基础上,扩展功能。#之所以要采用装饰器,是因为开放封闭原则,对修改封闭,对扩展开放。也就是说,新功能的添加不能修改旧代码的执行逻辑和调用方式importtimedeffunc1(n=1):print(f"runstart")time.sleep(n)print(f"r
  • 2023-08-21C学习8
    1、递归做阶乘#include<stdio.h>intfunc1(intx){intz=0;while(x>1){inty=x-1;z=x*func1(y);returnz;}}intmain(){inta=0;scanf_s("%d",&a);intret=func1(
  • 2023-07-22python函数入参配置的技巧
    如下的代码大家应该都见过:deffunc1(n):ifn<=0:print('请输入一个整数!')func1(int(input()))elifn<=2:return1else:returnfunc1(n-1)+func1(n-2)这个是是一个简单的函数处理,得到斐波那契数列的第N个数的值,这里的入参就
  • 2023-06-29python线程简单使用
    简单使用python定义多线程列子,供读者参考:在下面的示例中,我们定义了两个函数func1和func2,它们都将在新线程中运行。然后,我们使用threading.Thread构造函数创建了两个新线程,并将func1和func2函数作为目标。最后,我们启动了两个线程,并使用join方法等待它们结束。但需要注意的是,如
  • 2023-06-15【JS错题总结】关于上下文
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><script>functionfunc1(){console.log(1,this.value)}
  • 2023-06-06数组名和指针区别(转)
    指针和数组名的共同特点是都是用来指代一个地址的。不同的是:1、指针是需要占用内存空间来存储地址的;数组名则更像是一个立即数或者常数。你可以修改指针指向的内容,但你绝对无法改变数组名的指向。2、数组和指针对于sizeof来说是不同的,指针变量占用的空间通常等于当前CPU的最大
  • 2023-05-23实验4 函数与异常处理编程
    task1程序源码:1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum9sum=inc(7)+inc(7)10print(sum)运行截图:Q1:  task1.py源码中,共有4处有python语句print(sum)(line1,line3,line7,line11
  • 2023-05-23函数进阶
    函数进阶函数的动态参数(万能参数)*args**kwargs为了扩展,对于传入的实参数量不固定,而创建的*args用法在函数定义的时候,*args聚合,即将所有实参的位置参数聚合到一个元组上,并将这个元组赋值给args.deffuc1(a,*args):print(a)print(args)fuc1(1,2,3,4,5,6,7)