Python+Pycharm和 VisualStudio C++社区版使用PK及易混淆的语法问题

2023-11-12

这2年都是在用Python,使用环境要么是Python的IDLE+UE,要么使用Pycharm,近年来基本上都是使用的Pycharm。期间偶尔阅读一下C++的代码,但一直没安装相关编译器。

近来为了研究OpenCV的算法,发现光阅读源代码以及难以解惑,不得不安装了VisualStudio2019(之所以没有安装2022版,是因为2022版不支持win7),结果发现习惯了Python+Pycharm的模式重新捡起近10年没有使用的C语言开发之后,自己居然有很多的不适应。

下面就自己的印象就二者的使用进行一下对比,肯定不全,也不一定介绍的全对,欢迎大家指正。

一、性能对比

Pycharm和VisualStudio都是厚重的开发集成环境,启动慢,运行慢,但相对来说VisualStudio更重、更慢。

二、文件编辑对比

Pycharm的格式化控制比Visual更好些,但社区版只支持Python的开发。

Pycharm文件修改后自动存盘,VisualStudio不会自动存盘,必须点击保存才能存盘。

VisualStudio的查找模式不支持整词匹配,Pycharm则支持。

三、编译模式对比

Python是解释型语言,可以集中对语法检查,也可以不检查随时执行,遇到错误的语句才会终止执行。

Python代码执行时,可以在Pycharm中选择是运行还是调试模式执行。

C++是编译型语言,必须先编译才能执行。不过记得编译前一定要将文件存盘,否则修改不会在编译中生效。

C++代码执行时,只能是编译模式选择为Debug模式的程序才能选择调试执行。

四、调试模式对比

Pycharm和VisualStudio调试时,都会自动跟踪执行到对应位置的变量值,不过VisualStudio要在调试执行时通过“调试->窗口->监视”(英文版本为“Debug->Windows->Watch”)下选择不同选项打开各种不同的监视窗口,打开后就可以自动监视了,当然打开后每次调试都会自动打开,而Pycharm是自动打开监视窗口。

下面是Pycharm的调试及监视窗口截图:
在这里插入图片描述

VisualStudio将监视窗口分为了多种类型,如自动窗口、局部变量窗口、手工添加的监视变量窗口,而Pycharm则没有这么多分类。

下面是VisualStudio的调试窗口:
在这里插入图片描述

五、标准输出对比

在程序代码中往标准输出设备(含错误输出设备)输出信息显示方面,Pycharm是直接在集成环境的窗口中展示程序的输出信息,而VisualStudio则直接输出到一单独启动的控制台窗口。

下图下部子窗口是Pycharm中国的程序代码输出信息窗口:
在这里插入图片描述

下面是VisualStudio集成环境的“输出”窗口:
在这里插入图片描述

可以看到上面截图中集成开发环境中有个标题为“输出”的窗口输出内容是VisualStudio的自身系统输出信息,并不是程序运行的输出信息,其程序运行输出信息窗口为屏幕中间脱离开发环境的一个黑色的操作系统控制台窗口。

六、常易出现的Python语法代入C语法的情况

习惯使用Python后,在编辑C语言的文件时,老猿经常出现这样的错误:

  1. 语句忘记以分号结尾;
  2. 子分支习惯性地在分支处加冒号、忘记给分支下代码加大括号;
  3. 注释习惯性地用#号
  4. if条件忘记带括号,如 if true;
  5. printf中直接打印变量或值,如printf(1);
  6. 布尔变量赋值习惯性地用True和False;
  7. 带目录路径的字符串习惯性地加r,如r"c:\temp";
  8. 习惯性第单引号来标引字符串;
  9. 函数声明后习惯性地加冒号。

这些问题除非是经常Pyhon和C++都交替使用的开发人员,否则很容易犯这些错误。

七、小结

Python+Pycharm和 VisualStudio C++都是比较厚重的集成开发环境,本文介绍了 Python+Pycharm社区版和 VisualStudio C++社区版在使用方面从性能、编辑、编译、调试、程序输出方面的一些对比,可能近年来老猿基本都是使用Pycharm,因此从使用习惯来说更喜欢Pycharm一些,可惜Pycharm社区版不支持C++。

最后,老猿基于自身总结了从Python切换回C++开发的一些容易犯的语法错误,希望对大家有所帮助。

针对Python和C的开发使用习惯方面,大家有什么不同的经验吗?欢迎留言介绍。

如对文章内容存在疑问,可在博客评论区留言,或扫描博客左边的二维码关注:老猿Python 微信公号发消息咨询。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python+Pycharm和 VisualStudio C++社区版使用PK及易混淆的语法问题 的相关文章

随机推荐

  • Vue Baidu Map使用

    百度地图官方提供的是常规
  • DS单链表--类实现

    用C 语言和类实现单链表 含头结点 属性包括 data数据域 next指针域 操作包括 插入 删除 查找 注意 单链表不是数组 所以位置从1开始对应首结点 头结点不放数据 输入 n 第1行先输入n表示有n个数据 接着输入n个数据 第2行输入
  • 螺旋队列(由里向外)

    假设有如下排列 21 22 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 1的坐标是 0 0 3的坐标是 1 1 7的坐标是 1 1 分析 第1层之内有1个数 第2层之内有9个数 第3
  • Kafka Connect JNDI注入漏洞复现(CVE-2023-25194)

    漏洞原理 Apache Kafka Connect中存在JNDI注入漏洞 当攻击者可访问Kafka Connect Worker 且可以创建或修改连接器时 通过设置sasl jaas config属性为com sun security au
  • Qt界面刷新优化的一些心得

    背景 一个类似Windows任务管理器的性能界面 该界面有多个曲线图同时定时刷新 每个曲线图包括多条曲线更新 数据更新频率大概为一秒一次 程序中曲线图已封装为自定义的图表类 给出数据更新接口 初始方案 主程序设计方案上 采用数据收集和数据更
  • 《云计算与大数据技术应用》

    第一章 云计算概述 1 1什么是云计算 1 1 1云计算的定义 云计算是分布式计算的一种 指的是通过网络 云 将巨大的数据计算处理程序分解成无数个小程序 然后 通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户 云计算早期
  • javascript数组的直接量语言允许有可选的结尾的逗号

    var undefs 数组有2个元素 都是undefined 数组直接量的语法允许有可选的结尾的逗号 故 只有两个元素
  • OA会议管理系统之我的会议(会议排座&可拖拽座位&附源码)

    目录 一 前言 1 导读 二 我的会议功能实现 1 功能介绍 2 功能分析 3 功能实现 3 1 前期准备 3 2 dao层编写 3 3 jsp页面搭建 3 4 Web层编写 4 案例展示 一 前言 1 导读 OA会议管理系统之会议发布 内
  • RabbitMQ提供了6种消息模型介绍

    RabbitMQ提供了6种消息模型 但是第6种其实是RPC 并不是MQ 因此不予学习 那么也就剩下5种 但是其实3 4 5这三种都属于订阅模型 只不过进行路由的方式不同 一 基本消息模型 RabbitMQ是一个消息代理 它接受和转发消息 你
  • oracle删除重复数据保留第一条记录

    1 查找表中多余的重复记录 重复记录是根据单个字段 Id 来判断 select from 表 where Id in select Id from 表 group byId having count Id gt 1 2 删除表中多余的重复记
  • zoj 1201 Inversion

    题目意思 如果输入的是p类串 则输出i类串 如果输出的是i类 则输出p类串 p转i 寻找在p串中在j左边的比j大的数的个数 i串中的第j个数填为该数 i转p 从尾部开始 若第j个数的值为x 则说明在p串中j的左边有x个数大于j 通过从后到前
  • spring集成kafka,实现一个topic可以被多个group消费

    由于新公司是做物联网的 公司刚起步 没什么项目 就是在做一些基础的服务的搭建 现在微服务这么火 可想而知 Spring Boot Spring Cloud 是必须要会的技能 而做物联网 把各种智能设备的数据采集上来 也避免不了要用到消息系统
  • Linux 下qt creator 对c++ 和cuda混合编译生成.so 文件

    问题一 creator 上如何设置可以编译输出 so 文件 要做哪些工作呢 解决如下 1 TEMPLATE lib DEFINES TESTPCL LIBRARY 我的项目名 TARGET testPCL 2 在我要开放出去的接口类那里 做
  • JavaFX之Drag And Drop拖放操作

    声明 本博客文章原创类别的均为个人原创 版权所有 转载请注明出处 http blog csdn net ml3947 看到有网站直接copy不加链接 当然我的个人博客文章目前都是从我的CSDN博客转移上去的 大家好 新的JavaFX的教程又
  • 两个MySQL做双数据源如何配置_SpringBoot系列--Mysql、Sqlserver 双数据源配置

    在最近的项目开发中 需要用到Mysql和Sqlserverl两种数据库 也就是要进行双数据源的配置 网上看了下 大多比较繁琐 且不够明确 今天分享一个在SpringBoot 中简洁高效配置双数据源的方案 项目结构如下 application
  • Android之ProgressDialog与自定义LoadingDialog

    最近呢一直进行Android项目的开发 开发过程中发现 以前的好多知识点都想不起来了 都得先去Google一下 进展缓慢 耗时又耗力 所以决定将开发中的知识点慢慢总结下来 以便日后查验 大家在进行网络请求数据的时候 尤其是第一次 是不是也会
  • ESP32CAM连接阿里云物联网平台

    搭建arduino开发环境 这里不多说 网上有很多教程 简单说下我在搭建环境时踩的一些坑 1 在arduino库管理器中下载esp32的库出错 解决方法 搭个梯子下载就行了 2 上传项目报错 这个问题出现的原因是板子连线有问题 在烧录的时候
  • 数据结构时间复杂度T(n)=O(f(n))的含义

    1 首先要明白数量级的表示符号 O 和o 分别代表 同阶和高阶 例 如果a b都是无穷小 高阶 如果lim n gt 0 b a的极限等于0 就说b是比a高阶的无穷小 记作b o a 同阶 如果lim n gt 0 b a的极限等于c c
  • HashMap/ConcurrentHashMap在单线程模式下的性能比较

    起源 阅读源码发现jdk8中ConcurrentHashMap是基于synchronized来加锁实现多线程安全的 但是实现方式上与早期的HashTable又有了很大的区别 虽然都是使用synchronized来加锁 但是锁的粒度不一样 大
  • Python+Pycharm和 VisualStudio C++社区版使用PK及易混淆的语法问题

    这2年都是在用Python 使用环境要么是Python的IDLE UE 要么使用Pycharm 近年来基本上都是使用的Pycharm 期间偶尔阅读一下C 的代码 但一直没安装相关编译器 近来为了研究OpenCV的算法 发现光阅读源代码以及难