Python虚拟环境一文掌握-提升你的开发效率

发布时间:2022-12-04 人工智能 PYTHON 开发语言 编程实战

在真正开始Python代码编写、编译、运行、调试和开发项目之前,必须要了解下Python的虚拟环境的配置,熟悉使用后,会大大提升后续的开发效率,减少非代码原因导致的问题。virtualenv就是Python中的Virtual Environment-虚拟环境。本文将介绍Python虚拟环境的基础知识、如何使用,以及其工作原理是怎样的。

一 虚拟环境基础知识

Python在开发人员中大受欢迎,最大的原因之一是它广泛且不断扩大的第三方包选择。虚拟环境可以为每个项目创建单独的隔离环境,达到分离不同项目的依赖关系的目的。

Python有针对不同应用程序的各种模块和包。在我们的项目开发中,可能需要一些三方库,那么就需要安装这个库,而另一个项目可能不需要任何其他第三方包,或者是需要其中某些三方包的其他的版本。当不同的Python项目需要相同插件的竞争或不兼容版本时,就会出现问题,导致程序莫名的异常。

另外开发用的电脑,可能同时安装了Python2和Python3,而Python2和Python3又有更多的小版本号,而有些现成的项目可能开发比较早,只支持用Python2编译,而有些则必须要Python3才行,这样如果没有隔离,则也会导致程序无法运行。

因此,虚拟环境此时能够发挥作用,为不同的Python安装版本、或不同的项目创建单独的隔离环境,每个项目可以从其特定的环境中存储和检索包,使用特定的Python版本。

二 如何使用虚拟环境

这里通过具体操作执行进行示例说明。

2.1 安装virtualenv

要创建虚拟环境,需要先安装一个名为virtualenv的模块。首先要确保在计算机上安装了pip。

# 如果计算机上没有安装pip,需使用以下命令先安装pip,不同的操作系统命令会有差异:
sudo apt-get install python-pip

# 然后通过pip来安装virtualenv,安装后可以检查下virtualenv的版本:
pip install virtualenv
virtualenv --version

2.2 创建虚拟环境并激活

成功安装virtualenv之后,可以使用以下命令创建一个特定名称的虚拟环境:

# 创建特定名称的虚拟环境,myvenv可以换成任意你喜欢的名字都行
virtualenv myvenv
# 执行以上命令会创建myvenv的文件夹,包含运行Python项目所需的所有可执行文件

# 如果要指定Python版本,可以通过下面指令来创建虚拟环境:
python2.7 virtualenv myvenv    # 创建使用Python2.7的虚拟环境
# 也可以通过下面的命令来创建虚拟环境,效果和上面的一样的
python3 -m venv myvenv         # 创建使用Python3的虚拟环境

# 在创建好虚拟环境后,还需要用如下命令启用,激活进入特定的隔离环境
source venv/bin/activate
# 如果是在Windows系统下,上面的激活命令略有差异:
venv/Scripts/activate

成功激活进入虚拟环境后,如下图所示,会在命令行前面看到有(.venv)的标志:

成功创建并激活了虚拟环境后,就可以安装项目所需的依赖项和需求,而不会干扰到其他项目了。

2.3 退出虚拟环境

一旦完成了当前项目的工作,可以返回到系统默认环境,只需要使用deactivate命令即可退出。

三 虚拟环境的工作原理

如果没有使用虚拟环境时,Python的第三方包都会被pip安装到Python安装路径的site-packages目录下。当使用虚拟环境时,按照前面的“python3 -m venv myvenv”等方式创建虚拟环境后,可以查看当前目录,会看到几个文件:

  • bin目录:python3、pip3等可执行文件,其实就是是软链接到Python系统目录(或者是复制的副本)的
  • lib/python3.10/site-packages:用于该虚拟环境下安装的三方包的存储目录的

所以,通过venv,会将系统的Python软链接到venv的环境下,当用source命令激活虚拟环境时,就会启用该venv下面的python和pip了,同时过程中安装的三方包都是放在venv/lib/pythonx.x/site-packages下面的,这样系统的Python环境是不会受到任何影响的。

四 虚拟环境的更多用法

4.1 三方包依赖需求生成与重新安装

如前所述,在创建一个新的虚拟环境后,pip和setuptools包会被软链接(或复制)到虚拟环境下,接下来可以安装在环境中使用的任何其他包。对于具有复杂需求的项目,在项目的根目录中最好能保留一个requirements.txt的文件,这个文件列出了项目的三方包依赖的需求。这样,如果需要重新创建虚拟环境,可以使用pip install -r requirements.txt命令重新安装所有需要的包。

在项目的虚拟环境中安装完所需的库后,可使用pip list查看当前所有已安装的库,然后可以通过运行以下命令生成一个文本文件,列出所有项目依赖项:

pip freeze > requirements.txt

那么在其他计算机上重新搭建这个项目的环境时,则可以快速通过如下命令,一次将所有依赖的三方包安装齐全:

pip install -r requirements.txt

4.2 虚拟环境更新升级

虚拟环境中的pip和setuptools副本是该虚拟环境的本地副本,需要独立地进行更新和维护。所以会遇到某些虚拟环境中pip过时的警告,而在其他虚拟环境中则不会,pip必须在每个虚拟环境中分别更新才行。

因此当升级系统上的Python运行时时,使用该版本的Python的虚拟环境是不会自动升级的,这样设计也是合理的,因为无意中升级到新Python版本可能会破坏它们的三方包依赖。

具体的虚拟环境更新升级操作如下:

Python小版本升级:

如果已经升级了一个现有的Python小版本,比如从Python 3.9.5到Python 3.9.7,那么可以在项目目录下通过如下方式升级虚拟环境(不要提前激活虚拟环境,否则可能导致升级失败):

python -m venv myvenv --upgrade

Python大版本升级:

如果已经安装了一个主要的新版本的Python,比如已经有了Python 3.8,现在将安装Python 3.9,那么就不要用上面的升级方式了,而是重新创建一个新的虚拟环境,专门使用新的Python大版本。

五 Visual Studio Code中如何配置venv

除了前面介绍的virtualenv的使用,还有conda也带有虚拟环境的功能。conda在Anaconda和Miniconda里会安装好,对于用来开发数据科学的项目而言应当会用到。

在VS Code中,如果通过命令行方式创建了虚拟环境,并且在项目目录下面,VS Code是能够自动检测到的,如果没有通过前面的命令行方式创建,那么也可以通过下面的方式来创建。在VS Code里通过“Command+Shift+P”调出交互命令,输入Python: env...,如下图:

然后接着可以选择创建虚拟环境的工具,可选的有Venv和Conda:

然后选择该虚拟环境的Python版本:

接下来等待小段时间,等待VS Code中的虚拟环境自动创建完成。

最后,可以编写测试程序,如下所示,通过点击右边的三角形按钮,可以对.py代码进行运行、或调试:

参考文献:

https://blog.loginradius.com/engineering/python-virtual-environments/

Virtualenv and venv: Python virtual environments explained | InfoWorld

How to Set Up a Virtual Environment in Python – And Why It's Useful

venv — Creation of virtual environments — Python 3.11.0 documentation

更多相关推荐


第一章 c#准备知识

发布时间:2022-11-24 开发语言 C# C#自学笔记
1-1区分.net和c#.net(dotnet)指.NetFranmework框架,是Microsoft开发的平台。包含:①庞大的代码库,可以在客户语言(c#)中通过面向对象编程技术(OPP)来使用这些代码。②定义了基本的类型,通用类型系统CTS。③包含.NET公共语言运行库,CLR。补充:CLR是所有.net应用程序运行时的环境,用于支持不同编程语言。实现将中间语言转化为CPU可执行的代码,进行...

PTA乙级 1051 复数乘法——15分

发布时间:2022-11-09 数据结构 算法 C++ PTA乙级 开发语言 PTA
复数可以写成(A+Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2=-1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos§+isin§)。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式输入在一行中依次给出两个复数的R1,P1,R2,P2,数字间以空格分隔。输出格式在一行中按照“A+Bi”的格式输出两...

Python基础练习题--第一章 Python语言入门

发布时间:2022-11-23 PYTHON练基础练习题 开发语言 PYTHON
第一章 Python语言入门目录1001:【例1.1】HelloPython1002:【例1.2】A+B问题1003:【例1.3】温标换算1004:练1.1 字符三角形1005:练1.2 购买电影票1006:练1.3 梯形面积1001:【例1.1】HelloPython【题目描述】编写一个能够输出HelloPython的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用...

C++中的友元类和函数

发布时间:2022-11-23 C++ C++核心编程 开发语言 链表
C++中的友元类和函数FriendClass,一个friend类可以访问它被声明为friend的其他类的私有和受保护成员。允许特定类访问其他类的私有成员有时很有用。例如,可以允许LinkedList类访问Node.js的私有成员。友元类可以访问它在其中被声明为友元的类的私有成员和受保护成员。1、类做友元将链表的节点定义为一个类:classNode{private: intkey; Node*nex...

希尔排序

发布时间:2014-06-28 PYTHON 数据结构与算法
2019独角兽企业重金招聘Python工程师标准>>>算法思想   1、先取一个小于n的整数d1作为第一个增量,把序列分成d1个组。   2、所有距离为d1的倍数元素放在同一个组中,在各组内警醒直接插入排序。   3、取第二个增量d2<d1重复尚需的分组和排序。   4、直至所取的增量dt=1(dt<dt-1<····<d2<d1),即所有元素都放在...

js中字符串如何转化为对象

发布时间:2022-09-15 JAVASCRIPT ECMASCRIPT 开发语言
1、穿建一个空对象,使用split将字符串转换为数组2、对数组进项循环3、对数组子元素split,将分割的子元素按照键值对放入新对象中 //去掉开头的问号    str=str.slice(1)    console.log(str)    //按照&将字符串拆分成数组    vararr=str.split('&')    console.log(arr)    //遍历数组取出...

【笔记】Python Struct模块

发布时间:2022-10-29 开发语言 PYTHON
—计算机中以字节为单位,每个地址对应一个字节,一个字节8bit。在计算机系统中,如果大于一个字节,就需要区分字节顺序。大端和小端即网络字节序,顾名思义,当数据在网络上传输时使用什么样的方式排序。常见的字节顺序分为:大端(BigEndian)和小段(LitterEndian)。想要理解什么是大端和小端,首先需要明确下面几个概念一、基础知识1.高字节和低字节在一个n进制中,最左边的位叫最高有效位,最右...

程序员编程10大原则,请牢牢记住!

发布时间:2019-03-19 PYTHON
1.想清楚,再动手写代码刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌!2.不交流,就会头破血流不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工!3.一定要写注释时间久了,你会连自己的代码都看不懂!4.文档没人看,但还是要写文档的作用大部分时候不是用来沟通的,是用来做记录的,大部分需求还是通过口头沟通,但是不写文档做记录,后续就容易扯皮!5.业务高于技术...

“21天养成好习惯”第一期——6

发布时间:2021-10-28 后端 开发语言 C语言
已经是第6期了,继续发布之后的几题吧,今天这题稍有难度,让我们一起看看吧。一、编程题目 二、编程结果#include<stdio.h>intmain(){unsignedcharc,b;intn;scanf("%c%d",&c,&n);b=c-n%26;b=b>'z'?b-26:b;b=b<'a'?b+26:b;printf("%c",b);return0;...

C++ 构造函数调用规则

发布时间:2022-04-29 C++ 开发语言
C++构造函数调用规则默认情况下,c++编译器至少给一个类添加3个函数1.默认构造函数(无参,函数体为空)2.默认析构函数(无参,函数体为空)3.默认拷贝构造函数,对属性进行值拷贝构造函数调用规则如下:如果用户定义有参构造函数,c++不在提供默认无参构造,但是会提供默认拷贝构造如果用户定义拷贝构造函数,c++不会再提供其他构造函数示例:classPerson{public: //无参(默认)构造函...

从零开始学 Java 2-1 面向对象基础

发布时间:2022-10-18 从零开始学 JAVA JAVA 开发语言
2-1面向对象基础1、类和对象面向对象和面向过程的思想对比:​面向过程:是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的​面向对象:是一种以对象为中心的编程思想,通过指挥对象实现具体的功能1.1、类和对象的关系客观存在的事物皆为对象,所以我们也常常说万物皆对象。类类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理...

BI工具时代到来,帆软、瓴羊谁能领衔行业发展

发布时间:2022-11-18 大数据 数据挖掘 人工智能
帆软、瓴羊是国内商业智能BI智能工具的领头羊,是当前国内企业推动数字化转型、构建全新数字化发展体系、推动企业实现高质量发展的重要工具。国内商业智能BI工具近年持续完善,对促进企业发展起到越来越重要的作用。BI工具时代来临,其作为一种高度智能化的数据分析与决策辅助工具,对比企业传统数据分析工具,如Excel、Python等,其功能更加多样、操作更加便捷,对业务人员专业能力要求更低,显著降低业务人员使...

Windows下 iPython notebook 搭建

发布时间:2016-10-13 IPYTHON NOTEBOOK PYTHON
借用下我师姐当时写的,虽然有些小偏差,但是参考度挺好简书跳转我是安装ipython的二进制文件后,提示版本有点低,各种warning,不过也算是能正常运行吧,于是自己又重新卸载,直接pipinstallnotebook了,之后各种依赖包都被自动安装,汗哒哒。。最后在cmd界面输入ipythonnotebook或者jupyternotebook进入浏览器界面,进行程序的编辑。这是一个最近看到的关于i...

行人跟踪浅析

发布时间:2022-11-22 算法 知识库 人工智能 PYTHON 边缘计算
在图像中识别出人物并在人物上标注矩形边界框,同时计算出矩形的中心坐标(质心),并标注其唯一ID。构建一个简单的跟踪算法:计算上一帧图片质心和本帧质心之间的欧氏距离。上图:三个人物的质心出现在这幅简单的图像中,我们需要计算每一对质心之间的欧几里得距离,颜色区分:上一帧(红色的)和本帧(黄色的);当上一帧和本帧质心之间距离小于最小安全距离,我们将构建人物跟踪,将人物ID上一帧质心更新为本帧质心。在上图...

为什么现在是医学成像采用人工智能的时候?

发布时间:2019-05-17 人工智能 PYTHON
2019独角兽企业重金招聘Python工程师标准>>>  人工智能和增强智能正在推动医学成像科学的发展。描述这一趋势的唯一术语是构建。人工智能将会出现在医学影像发展的正确的时间和地点。由于人工智能包括机器学习、深度学习、卷积神经网络、自然语言处理各种前沿技术,医学成像将变得更好、更强、更快、更高效。那么为什么医学成像适合采用人工智能?行业专家为此提出了一些看法,如果人们尚未开始做...

python静态属性的理解

发布时间:2019-04-28 C/C++ JAVA PYTHON
python中并没有像C语言C++java那样定义静态属性的关键字static 那么在python中是怎么做的呢?classA(object):name="lance"def__init__(self):print("intheinit")print(A.name)打印:lance其实类属性就差不多相当于静态属性再看classA(object):name="lance"def__init__(se...

KMP算法(装载)

该文章装载!!!!至CSDN博主路漫远吾求索的《KMP算法最浅显理解——一看就明白》,网址:https://blog.csdn.net/starstar1992/article/details/54913261该转载文章对KMP算法比较容易理解,但是具体概念这类的不是特别清楚,对于性质比较详细的说明可以看这篇文章:CSDN博主v_JULY_v的《从头到尾彻底理解KMP(2014年8月22日版)》,...

java计算机毕业设计深州市特色蜜桃产业电子商务系统源程序+mysql+系统+lw文档+远程调试

发布时间:2022-10-28 JAVA MYSQL 开发语言
java计算机毕业设计深州市特色蜜桃产业电子商务系统源程序+mysql+系统+lw文档+远程调试java计算机毕业设计深州市特色蜜桃产业电子商务系统源程序+mysql+系统+lw文档+远程调试本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据...

C#解码Java生成的Base64字符串

发布时间:2022-11-09 .NET C# 开发语言 C#高阶指南
最近在开发过程中经常遇到C#客户端调用java开发的服务端程序,这次遇到的坑是C#中的Convert.FromBase64String(dummyData)解密不了java返回的base64字符串,报如下错误:1.FormatException:TheinputisnotavalidBase-64stringasitcontainsanon-base64character,morethantwop...

一起来学习ArrayList吧(●‘◡‘●)

发布时间:2022-07-11 JAVA 开发语言
实现ArrayList线性表的定义:零个或多个元素的有限序列ai-1是ai的直接前驱ai+1是i的直接后继除了第1个元素a1之外,其他元素都有唯一的直接前驱除了第n个元素an之外,其他元素都有唯一的直接后继接口InterfacepublicinterfaceList<E>extendsIterable<E>{publicvoidadd(Eelement);publicvoi...

Python学习笔记(五): from..import

发布时间:2012-11-26 PYTHON
1.创建模块#!/usr/bin/python#Filename:mymodule.pydefsayhi():print'Hi,thisismymodulespeaking.'version='0.1'#Endofmymodule.py2.引用模块#!/usr/bin/python#Filename:mymodule_demo.pyimportmymodulemymodule.sayhi()pri...

java-php-python-ssm实验室耗材管理系统计算机毕业设计

发布时间:2022-09-18 MYBATIS JAVA 开发语言
java-php-python-ssm实验室耗材管理系统计算机毕业设计java-php-python-ssm实验室耗材管理系统计算机毕业设计本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7/8.0源码地址:https:/...

django基于python的图书馆管理系统-计算机毕业设计

发布时间:2022-10-30 DJANGO 计算机毕业设计 后端 PYTHON
项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,图书馆管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场进行调研,论文需求进行分析,概要设计,系统详细设计,测试和编码等步骤,设计并实现了图书馆管...

深度解析为什么做深度学习,都用python,而不用java或者c++

前言Python是解释语言,这让写程序方便不只一点。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smartpointer还得手动回收内存空间。Python几乎就是importnumpy;numpy.dot两句话的事。Update(2015-5-7):当然现在很多面向C/C++库已经支持托管的内存管理了,这也让开...

【C++入门】关键字和命名空间

发布时间:2022-10-08 C++ C++初阶和高阶 开发语言 C语言
关键字C++总计63个关键字,C语言32个关键字ps:下面我们只是看一下C++有多少关键字,不对关键字进行具体的讲解。后面我学到以后再细讲。命名空间在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。(主...

学JAVA好?还是学Python好?

发布时间:2022-11-24 爬虫 PYTHON 开发语言 JAVA 面试
近几年随着Python的迅猛发展,是大多数人产生了迷茫,一方面学Java是行业的主流,另一方面Python发展所带来的巨大红利确实很诱人,再加上Python本身所具备的优点,让学Python也成为大家的另一种选择,下面我就我从业多年的经验,给出一些拙见,此话题存在争议,所以仅供参考。JAVA和Python各自的好处从总体上来看,Java的覆盖范围更广,具有可跨平台,在其次就是考虑它的安全,这一点尤...

办公自动化工具-Excel文件、sheet合并工具

发布时间:2022-12-03 EXCEL 程序人生 PYTHON
站内下载一.开发背景:日常工作我从网站下载表格或进行表单作业回收时,经常面临需要将多个具有相同结构excel文件或者多个sheet工作薄汇总到1个excel表格中的情况。常规操作就是逐一打开反复复制黏贴,操作过程比较麻烦而且效率不高。有的操作人员选择寻找一些excel辅助工具进行此类操作,但往往遇到需要充值会员等才能进行不限次数的使用。为了提升工作效率,减少此类低技术含量占用过多劳动时间的问题,我...

练习3

发布时间:2017-04-06 PYTHON
#参数匹配,通过可变参数的匹配形式去收集#传入的参数,参数作为一个元组传入#返回交集defintersect(*args):res=[]forxinargs[0]:forotherinargs[1:]:ifxnotinother:breakelse:res.append(x)returnres#返回并集defunion(*args):res=[]forseqinargs:forxinseq:ifn...

KNN(K-Nearest Neighbor)介绍

发布时间:2018-03-12 数据结构与算法 人工智能
KNN(K-NearestNeighbor)介绍原文地址:https://www.cnblogs.com/nucdy/p/6349172.htmlWikipedia上的 KNN词条 中有一个比较经典的图如下:KNN的算法过程是是这样的:从上图中我们可以看到,图中的数据集是良好的数据,即都打好了label,一类是蓝色的正方形,一类是红色的三角形,那个绿色的圆形是我们待分类的数据。如果K=3,那么离绿...

迭代器与生成器

发布时间:2022-05-28 笔记 JAVASCRIPT 前端 开发语言
《JavaScript高级程序设计》读书笔记迭代器实现Iterable接口(可迭代协议)要求同时具备两种能力:支持迭代的自我识别能力和创建实现Iterator接口的对象的能力。这个属性必须使用特殊的Symbol.iterator作为键。内置类型实现的Iterabled接口:字符串数组映射集合arguments对象NodeList等Dom集合类型letnum=1letobj={}letstr='ab...

Comprehensive Analysis of Negative Sampling in Knowledge Graph Representation Learning

发布时间:2022-11-19 知识表示学习 知识图谱 人工智能
ComprehensiveAnalysisofNegativeSamplinginKnowledgeGraphRepresentationLearningNS损失在KGE中发挥重要作用,如果不适当选择marginterm和在NS损失中负样本的数量等超参数,KGE的性能会下降。当前,经验超参数调整是以计算时间为代价解决这个问题。为了解决上述问题,作者从理论上分析了NS损失来帮助参数调整和更好的理解N...

(C++)计算三角形面积

发布时间:2022-11-23 C++ 开发语言
设计一个三角形类,类名Triangle,数据成员:三条边a、b、c,数据类型为double。成员函数:(1)带有默认参数的构造函数,默认值分别为3、4、5;(2)计算三角形面积函数area;(3)输出函数output,输出面积。在主函数中定义两个三角形对象,利用构造函数进行初始化,一个的边长分别为3、4、5,另一个的边长分别为12、18、19,输出这两个三角形的面积。#include<ios...

cad二次开发c#学习记录4——导出图纸标注的尺寸

发布时间:2022-11-20 学习 C# 开发语言
    通过遍历多边形可以得到每个多边形的面积,那么是不是遍历图纸上的每个尺寸就可以得到尺寸标注的数值呢?当然可以。事实上,你基本上可以得到“特性”内的所有信息。    尺寸类:dimension。但是实际上在创建尺寸标注时需要用的是其派生类。如常见的,rotateddimension(转角标注),diametricdimension(直径标注),ordinatedimension(坐标标注)等。...

【圆检测】基于霍夫变换检测灰度图像中不同半径的圆附matlab代码

发布时间:2022-10-27 MATLAB 图像处理 开发语言
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。🍎个人主页:Matlab科研工作室🍊个人信条:格物致知。更多Matlab仿真内容点击👇智能优化算法 神经网络预测雷达通信 无线传感器信号处理图像处理路径规划元胞自动机无人机⛄内容介绍本文研究一种基于MATLAB仿真平台的圆检测算法.在对图像进行降噪滤波,边缘检测等预处理后,利用Hough变换检测前景图像中...

【sy2_类的进一步应用与编程_1_Tri】

发布时间:2022-09-29 C++ C++实验内容 开发语言
实验内容(1)建立一个三角形类①使用带默认形参值(三条边长均为1)的构造函数,分别使用默认值和自定义值构造两个对象,并计算两个三角形的面积。②利用带参数的构造函数使用建立动态对象的方法建立两个对象,计算并输出面积后,删除两个对象。③利用拷贝构造函数实现对象间的赋值。实现思路1、操作步骤:(1)Tri类的声明:classTri{ //类的主体 private://静态属性==》类的数据成员 fl...

matlab绘制二次曲线,并找出最大值位置(找出两曲线的最大差值点)

发布时间:2022-10-13 MATLAB 开发语言
绘制二次曲线源代码及方法如何用matlab画Y=X^2的图啊?_百度知道画出函数曲线后,找出最大值点的坐标【求助】matlab画曲线后求其上面最大值那一点的坐标_百度知道 [ymax,tp]=max(y)       %y为你的图形中纵坐标显示的变量名,ymax即为y中的最大值,tp为y                           中最大值所在的位置例:找出y=x^2和x=y^2在【0,1...

光纤布拉格光栅

发布时间:2022-10-19 MATLAB JAVA 开发语言
光纤布拉格光栅   光纤布拉格光栅是通过将单模光纤纤芯横向暴露在具有周期性图案的强紫外光下而制作而成的。强紫外光的曝光会永久增大光纤纤芯的折射率,根据曝光图案产生固定的折射率调制。这种固定的折射率调制被称为光栅。在每个空间周期性折射率变化处会有少量光发生反射。当光栅周期约为入射光波长的一半时,所有反射光相干组合成一束具有特定波长的大反射。这被称为布拉格条件。实现入射光发生反射的波长被称为布拉格波长...

笨方法学python 习题6

发布时间:2022-11-12 PYTHON PYTHON入门
字符串和文本代码如下:type_of_people=10x=f'Thereare{type_of_people}type_of_people'binary='binary'do_not='''don't'''y=f'Thosewhoknow{binary}andthosewho{do_not}'print(x)print(y)print(f'Isaid:{x}')print(f'''Ialsosa...

JDK、JRE、JVM区别与联系

发布时间:2022-11-24 JAVA JVM 开发语言
关键字:JDK,JRE,JVM摘要:JDK是Java语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib合起来就称为jre。一、JDKJDK(JavaDevelopmentKit)是整个JAVA的核心,包括了Java运行环境(JavaRuntimeEnvirnm...

你想要的Python面试都在这里了【315+道题】

发布时间:2018-06-04 面试题 PYTHON
第一部分Python基础篇(80题)1、为什么学习Python?2、通过什么途径学习的Python?3、Python和Java、PHP、C、C#、C++等其他语言的对比?4、简述解释型和编译型编程语言?5、Python解释器种类以及特点?6、位和字节的关系?7、b、B、KB、MB、GB的关系?8、请至少列举5个PEP8规范(越多越好)。9、通过代码实现如下转换:二进制转换成十进制:v=“0b111...

【Java】斐波那契数列

发布时间:2022-09-07 JAVA实例 JAVA IT学习之旅 开发语言
【Java】斐波那契数列简介斐波那契数列指:01123581321345589…这样的数列,也称兔子数列即,除了首位为0,第二位为1外,从第三位数开始,每个数都为其前两个数的和,此为核心要求实现方法有3种方法:递归、for循环、数组递归递归法缺点:数字越大,后面的计算越慢;当超过45时,int类型溢出packagecom.cxl.demo13;importjava.util.Scanner;//斐...

G1D22-安装burpsuite&AttacKG

发布时间:2022-11-24 JAVA 人工智能 APT&KG PYTHON
–0724还有几分钟,把burpsuite安装一下—0804hh当然,和室友聊天去啦hhhjava目录下找不到jdk,环境变量没法配emm,重新装一下。emm原来这个文件夹是在安装时自己创建的啊啊啊,我是猪emmjavasuite闪退是因为环境变量没配好~我还把新版本的java卸了,下了旧版本的,为此还注册了oracle。具体可能通过javac测试环境变量是否配好了。成功啦–0858emm已经一个...

G1D20-Anaconda&CSKE综述&AttacKG终于配好环境啦&KG book& CTF

发布时间:2022-11-22 深度学习 APT&KG CTF 人工智能
先下一个anacondaemmmpipenvinstallrequirements.txt好像不太好用,还不如pycharm中的自动安装先读论文啦~一、CSKE综述(一)NERsystems1、判别式模型&生成式模型判别式模型:学习P(Y|X),找boundary,直接判断是A,BorC生成式模型:学习P(A,X),P(B,X),P(C,X),生成多个模型,学具体特征,哪个可能性最大就选哪...

Python基础练习题--第二章 顺序结构

发布时间:2022-11-23 PYTHON练基础练习题 开发语言 PYTHON
第二章顺序结构目录1007:【例2.1】交换a和B的值1008:【例2.2】打招呼Hello1009:【例2.3】购买笔记本1010:【例2.4】最适宜运动心率1011:【例2.5】求3个整数的和1012:练2.1 小明买图书1013:练2.2 鸡兔同笼1014:练2.3 求平均分1015:【例2.6】数字对调1016:【例2.7】BMI指数1017:练2.4 与圆相关的计算1018:练2.5 三...