鱼C论坛

 找回密码
 立即注册
查看: 1108|回复: 7

[已解决]想问问关于编程的底层问题

[复制链接]
发表于 2023-12-2 23:16:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  首先我不太明白编程是在一个什么地方进行?以python为例,我大概理解的是在一个地方中编写代码,然后由解释器翻译成机器语言在IDLE上执行,是这样吗?
  然后我想问pycharm又是一个什么东西?是一个跟IDLE差不多的东西吗?还有jupyter notebook又是什么?为什么它可以运行各种代码?什么是它的内核?
  还有什么是编程环境?为什么每次用pycharm新建一个project时都会复制一堆什么虚拟环境什么的到那个文件夹中,我感觉好像每新建一个project时都会占很多内存的。所以我应该将所有.py文件都保存在一个有着什么venv虚拟环境的文件夹中吗?究竟什么是虚拟环境?它里面包含了啥?要运行一个.py文件到底需要一些什么?
  总之我的问题好像有点模糊,就是好像是一些程序的运行原理的问题,尤其是关于pycharm和jupyter notebook等程序的原理方面的问题。我就是不知道该了解一些什么,该了解到什么程度,有谁可以理解我的迷茫吗?有没有网友可以给出一些较为系统的回答,或是有一些什么相关的课程推荐?
最佳答案
2023-12-3 00:40:09
还有什么是编程环境?为什么每次用pycharm新建一个project时都会复制一堆什么虚拟环境什么的到那个文件夹中,我感觉好像每新建一个project时都会占很多内存的。所以我应该将所有.py文件都保存在一个有着什么venv虚拟环境的文件夹中吗?究竟什么是虚拟环境?它里面包含了啥?要运行一个.py文件到底需要一些什么?

编程环境

编程环境通常指的是用于开发和运行代码的设备上的所有软件和设置。

这包括操作系统、编程语言、文本编辑器或IDE、构建工具、测试工具、版本控制系统、数据库等。

编程环境为开发人员提供了他们需要的所有工具和服务,以便他们能够有效地编写和运行代码。


虚拟环境

在 Python 编程中,虚拟环境是一个独立的环境,它有自己的安装目录,可以拥有自己的 Python 解释器和自己的一组库。

使用虚拟环境的好处是,你可以在不同的项目中使用不同版本的 Python 和库,而这些项目互不干扰。

当你在 PyCharm 中创建一个新的项目时,PyCharm 会为这个项目创建一个新的虚拟环境。

这确实会消耗一些磁盘空间,但是这样做的好处是,每个项目都有自己的环境,这样可以防止项目之间的依赖冲突。

例如,如果项目 A 需要库 X 的版本 1.0,而项目 B 需要库 X 的版本 2.0,那么使用虚拟环境就可以很好地解决这个问题。

虚拟环境的主要内容包括 Python 解释器以及一组 Python 库。

当你安装一个新的库时,它会被安装到虚拟环境的库目录中。

运行一个 .py 文件需要什么

要运行一个 .py 文件,你需要以下几样东西:

Python 解释器:Python 解释器是用来执行 Python 代码的程序。

你可以从 Python 的官方网站下载 Python 解释器。

.py 文件:这是你的 Python 代码文件。

你可以在任何文本编辑器中编写 Python 代码,然后保存为 .py 文件。

依赖库:如果你的代码需要使用到一些 Python 库,那么你需要确保这些库已经被安装在你的 Python 环境中。

虽然虚拟环境确实会占用一些磁盘空间,但是它们的好处是明显的,特别是对于那些需要使用许多不同库的大型项目。

如果你的项目很小,不需要使用很多库,那么你也可以选择不使用虚拟环境。


最后还是再重复一下小甲鱼的建议:新手不要搞那些花里胡哨的编辑环境,Python官方的IDLE是完全足够学习的。

IDLE全称是 "Integrated Development and Learning Environment" 的缩写,即 “集成开发和学习环境”。

IDLE其实就是Python官方推荐的学习环境,PyCharm这些是开发工具,其实是不利于学习的~


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-2 23:16:46 | 显示全部楼层
编程是在计算机上进行的,它包括编写代码和将代码转换为机器可执行的指令。以Python为例,你可以在任何文本编辑器中编写代码,然后使用解释器将代码翻译成机器语言并执行。

IDLE是Python自带的集成开发环境(IDE),它提供了一个代码编辑器和解释器的界面,可以方便地编写和运行Python代码。

PyCharm是一种专业的Python开发环境,功能更加强大,可以提供代码补全、调试等高级功能,与IDLE相比更适合开发大型项目。

Jupyter Notebook是一种交互式的编程环境,它允许你在浏览器中编写和运行代码,同时还可以显示代码执行结果、图表和文档等。Jupyter Notebook支持多种编程语言,包括Python,R和Julia等。它的内核是各个编程语言的执行引擎,它负责解释和执行代码。

编程环境是指我们用来开发和运行代码的工具和环境。IDE(集成开发环境)如PyCharm是一种常见的编程环境,它提供了代码编辑器、调试器、版本控制等功能,可以帮助程序员更有效地开发代码。

每次使用PyCharm新建一个project时会创建一个虚拟环境。虚拟环境是一个独立的Python运行环境,它可以让你在同一台机器上同时维护多个不同版本的Python和相应的库。这样做的好处是,不同项目可能依赖不同版本的库,虚拟环境可以帮助你隔离各个项目的环境,避免冲突。

虚拟环境通常包含一个独立的Python解释器,并在其中安装了项目所需的依赖库。在运行一个.py文件时,你需要有一个Python解释器来执行代码,并且需要安装相关的依赖库。

关于学习编程和理解这些概念,可以从基础开始学起,了解编程的基本概念、语法和算法等。然后可以逐步深入了解如何使用IDE、版本控制工具、调试器等提高开发效率。有很多在线教程、视频课程和书籍可以帮助你学习编程,推荐一些常见的学习资源如下:

- 《Python编程从入门到实践》:介绍Python基础知识和实践技巧。
- Codecademy(https://www.codecademy.com/):提供交互式的在线编程课程,包括Python。
- Coursera(https://www.coursera.org/):提供各种计算机科学和编程相关的课程,有些课程可以免费学习。
- Udemy(https://www.udemy.com/):提供丰富的在线课程,包括Python编程和使用IDE的技巧。

希望这些信息能帮助到你,祝你学习进步!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 00:11:27 | 显示全部楼层
第一个问题:有一个问题,不是 IDLE 上执行,是在电脑(计算机系统)上执行,其他正确
第二个问题:Pycharm:没错,不过功能更多,也更强大;Jupyter Notebook 可参考 https://fishc.com.cn/thread-218628-1-1.html;因为 Jupyter 有各种编程语言的解释器/编译器作为内核,所以可以运行各种代码(Jupyter 的名字 = Julia + Python + e + R
第三个问题:参考 https://www.zhihu.com/question/453329720;另外如果 Pycharm 不想每个文件夹都新建 venv 啥的,可以勾选 “Inherit Global-site Package”,这样只会使用全局的包;venv 是虚拟环境的配置等等的文件夹,不是存放代码的文件夹:
- coding
| - venv
| - - ...
| file1.py
| file2.py
虚拟环境参考 https://zhuanlan.zhihu.com/p/108534526,运行 .py 文件只需要 Python 的解释器就行,https://python.org/downloads

补充,venv 啥的是虚拟环境
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 00:29:51 | 显示全部楼层
这么多问题分开提问的话会比较合适,获得的回答会比较充分。

下面逐个解答~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 00:31:29 | 显示全部楼层
首先我不太明白编程是在一个什么地方进行?以python为例,我大概理解的是在一个地方中编写代码,然后由解释器翻译成机器语言在IDLE上执行,是这样吗?

编程其实就是在一个特定的环境里写代码,这个环境可以是一个简单的文本编辑器,如 Notepad,也可以是一个集成开发环境(Integrated Development Environment,简称 IDE),如 PyCharm、VS Code 等。

Python是一种解释型语言,所以我们编写的Python代码会被Python解释器逐行解释执行。


这里为你简单描述下Python编程的流程:

编写代码:

首先,你需要在一个文本编辑器或者IDE中编写Python代码。

这个过程就是编程。你需要按照Python的语法规则来编写代码。


运行代码:

编写好Python代码后,你需要运行这些代码。

如果你在一个IDE里编写代码,那么通常情况下你只需要点击“运行”按钮就可以运行你的代码了。

如果你在一个文本编辑器里编写代码,那么你需要打开一个命令行窗口,然后使用Python解释器来运行你的代码。

例如,如果你的代码保存在hello.py这个文件中,那么你需要在命令行窗口中输入python hello.py来运行你的代码。


Python解释器:

Python解释器是Python的一个重要部分。

它会读取你编写的Python代码,然后将这些代码转换成机器可以理解的语言(字节码),然后执行这些字节码。


所以,你的理解基本是正确的。

你在一个地方(可以是文本编辑器或IDE)编写Python代码,然后由Python解释器将这些代码转换成机器语言,然后执行这些代码。

IDLE只是Python官方提供的一个简单的IDE,你也可以选择其他的IDE或文本编辑器来编写和运行Python代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 00:34:24 | 显示全部楼层
然后我想问pycharm又是一个什么东西?是一个跟IDLE差不多的东西吗?还有jupyter notebook又是什么?为什么它可以运行各种代码?什么是它的内核?

PyCharm

PyCharm 是一种 Python IDE,由 JetBrains 开发。

它提供了很多有用的功能,如代码自动完成、实时错误检查、单步调试、版本控制等。

PyCharm 是一个非常强大的工具,许多专业的 Python 开发人员都使用它。

如果你将其与 IDLE 进行比较,PyCharm 更加功能丰富和强大。

但是,PyCharm 对新手来说可能会有点复杂(小甲鱼:初学者不建议使用PyCharm学习)。


Jupyter Notebook

Jupyter Notebook 是一个开源的 Web 应用,它允许你在浏览器中创建和共享包含实时代码、公式、可视化和说明文字的文档。

它的一个主要用途是数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等。

Jupyter Notebook 支持多种编程语言,包括 Python、R、Julia 等。

这是因为 Jupyter Notebook 的设计使得其可以与多种语言的解释器(内核)进行交互。

所谓的 "内核",在 Jupyter Notebook 中,就是指它所使用的编程语言的解释器。

例如,如果你正在使用 Jupyter Notebook 运行 Python 代码,那么你正在使用的就是 Python 内核。

同样,如果你正在运行 R 代码,那么你正在使用的就是 R 内核。

Jupyter Notebook 可以运行多种代码,是因为它的设计允许与多种编程语言的解释器进行交互。

这就类似于你的电脑可以运行多种应用程序,是因为你的操作系统可以与多种应用程序进行交互一样。

总的来说,PyCharm 和 Jupyter Notebook 都是编写和运行代码的工具,但它们的功能和用途有所不同。

PyCharm 是一个全功能的 Python IDE,适合于大型软件项目的开发。

而 Jupyter Notebook 则更适合于数据分析和机器学习等任务,因为它可以很方便地编写和运行代码,同时还可以添加说明文字和数据可视化。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 00:40:09 | 显示全部楼层    本楼为最佳答案   
还有什么是编程环境?为什么每次用pycharm新建一个project时都会复制一堆什么虚拟环境什么的到那个文件夹中,我感觉好像每新建一个project时都会占很多内存的。所以我应该将所有.py文件都保存在一个有着什么venv虚拟环境的文件夹中吗?究竟什么是虚拟环境?它里面包含了啥?要运行一个.py文件到底需要一些什么?

编程环境

编程环境通常指的是用于开发和运行代码的设备上的所有软件和设置。

这包括操作系统、编程语言、文本编辑器或IDE、构建工具、测试工具、版本控制系统、数据库等。

编程环境为开发人员提供了他们需要的所有工具和服务,以便他们能够有效地编写和运行代码。


虚拟环境

在 Python 编程中,虚拟环境是一个独立的环境,它有自己的安装目录,可以拥有自己的 Python 解释器和自己的一组库。

使用虚拟环境的好处是,你可以在不同的项目中使用不同版本的 Python 和库,而这些项目互不干扰。

当你在 PyCharm 中创建一个新的项目时,PyCharm 会为这个项目创建一个新的虚拟环境。

这确实会消耗一些磁盘空间,但是这样做的好处是,每个项目都有自己的环境,这样可以防止项目之间的依赖冲突。

例如,如果项目 A 需要库 X 的版本 1.0,而项目 B 需要库 X 的版本 2.0,那么使用虚拟环境就可以很好地解决这个问题。

虚拟环境的主要内容包括 Python 解释器以及一组 Python 库。

当你安装一个新的库时,它会被安装到虚拟环境的库目录中。

运行一个 .py 文件需要什么

要运行一个 .py 文件,你需要以下几样东西:

Python 解释器:Python 解释器是用来执行 Python 代码的程序。

你可以从 Python 的官方网站下载 Python 解释器。

.py 文件:这是你的 Python 代码文件。

你可以在任何文本编辑器中编写 Python 代码,然后保存为 .py 文件。

依赖库:如果你的代码需要使用到一些 Python 库,那么你需要确保这些库已经被安装在你的 Python 环境中。

虽然虚拟环境确实会占用一些磁盘空间,但是它们的好处是明显的,特别是对于那些需要使用许多不同库的大型项目。

如果你的项目很小,不需要使用很多库,那么你也可以选择不使用虚拟环境。


最后还是再重复一下小甲鱼的建议:新手不要搞那些花里胡哨的编辑环境,Python官方的IDLE是完全足够学习的。

IDLE全称是 "Integrated Development and Learning Environment" 的缩写,即 “集成开发和学习环境”。

IDLE其实就是Python官方推荐的学习环境,PyCharm这些是开发工具,其实是不利于学习的~


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-3 12:46:10 | 显示全部楼层
如果对底层感兴趣的话,应该用C语言和汇编语言,而不是python
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 05:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表