搭建 Python 环境 | Python、PyCharm

计算机

计算机能完成的工作:

  1. 算术运算
  2. 逻辑判断
  3. 数据存储
  4. 网络通信
  5. …更多的更复杂的任务

以下这些都可以称为 “计算机”:

在这里插入图片描述

一台计算机主要由以下这几个重要的组件构成

  1. CPU 中央处理器:大脑,算术运算,逻辑判断

  2. 存储器:(内存,外存) 存储数据

    • 内存外存 (硬盘等) 区别:
      1.内存的存储空间较小,外存的存储空间较大
      2.内存的访问速度快,外存的访问速度慢
      3.内存比外存成本更高
      4.内存上的数据容易丢失(断电,数据就没了),外存上的数据能够持久化存储(断电数据也在)

    (相对于内存来说,存的更长久~ 一般机械硬盘存储数据的时间是几年到十几年~)

  3. 输入设备:键盘,鼠标,麦克风

  4. 输出设备:显示器,音箱,耳机,打印机

    有的设备,既是输入设备,又是输出设备
    触摸屏~网卡

PS: CPU 是目前人类科技的巅峰之作,科技含量能和 CPU 相提并论的,只有氢弹了
美国限制向中国出口 “芯片”,这里的芯片主要指的就是 CPU,目前国内虽然有自主研发 CPU 的能力, 但是整体的水平,相比于国际一线的 Intel, AMD 等厂商相比,还是有一定的差距的

PSS: 其实显卡(GPU)是和 CPU 类似的计算芯片,
CPU 是 “通用计算芯片”,可以处理各种场景下的各种问题, 就像高校培养的学生,可以在各个行业各个领域贡献力量

GPU 是 “专用计算芯片”,特别擅长处理浮点数运算,就像计算机培养的学生,专注于互联网软件技术

以上的组成结构, 称为 “冯诺依曼体系结构” . 冯诺依曼大佬, 正是计算机的祖师爷

冯诺依曼除了是计算机祖师爷之外,还是一位数学家,物理学家,化学家,“博弈论” 的创始人,参与过曼哈顿计划 (担任原子弹制造顾问)
据传闻,冯诺依曼大佬六岁心算八位数除法,八岁掌握微积分,十岁通读了世界史,十七岁发表了第一篇数学方面的论文
计算机的祖师爷,除了冯诺依曼之外, 还有一位图灵大佬,也在二战中发挥了至关重要的作用


编程

计算机需要硬件赋予之躯体,也需要软件赋予之灵魂

“软件” (或者叫做 程序),指挥了计算机要按照什么样的规则来执行任务

制作软件,就是在明确这个软件要完成什么样的任务,这个制作软件的过程,就称为“软件开发",或者也可以叫做"编程"

编程其实是一个比较严谨,也比较复杂的事情,因此就衍生出了一个专门负责编程的职业,也就是程序员

程序员进行编程的过程中,需要使用一个专门的方式和计算机沟通,就是 “编程语言”,Python 就是编程语言中的重要一员!

使用编程语言编写软件的具体过程,就称为 “软件开发”,俗称 “敲代码”

编程语言有哪些

编程语言大体可以分成三个大类

  • 机器语言
  • 汇编语言
  • 高级语言

其中机器语言和汇编语言都是更贴近计算机的,人类理解起来并不容易
因此目前程序员使用的编程语言主要是高级语言

高级语言的种类有很多很多,以下列出的都是实际开发中常用的编程语言

在这里插入图片描述


Python 背景知识

1、Python

吉多·范罗苏姆(Guido van Rossum) 是一个荷兰程序员(人称龟叔,名字前三个字母是 Gui)

在这里插入图片描述

龟叔在 1989 年圣诞节的时候(当时 33 岁),因为在家里待着无聊,为了打发时间,开始了 Python 的开发
第一个正式版本发布于 1991 年
1991 年是一个神奇的年份
Python,万维网,Linux,Vim,Qt,第一台笔记本电脑,都诞生于 1991 年

2、Python 都能做什么?

经历了多年的发展,Python 目前是一个应用场景非常广泛的编程语言

  • 科学计算&数据分析
  • Web 开发(搭建网站)
  • 自动化运维
  • 人工智能
  • 爬虫程序
  • 自动化测试

在这里插入图片描述

3、Python 的优缺点

优点:

  • 语法言简意赅,容易上手
  • 功能强大,用途广泛
  • 生态丰富,具有海量的成熟第三方库
  • 方便调用 C/C++ 编写的代码进行 高性能/系统级 操作

缺点:

  • 执行效率比较弱
  • 对于多核心并发程序支持偏弱
  • 动态类型系统对于大型项目不太友好

4、Python 的前景(钱景)?

虽然 Python 的应用场景很多,但是纯粹使用 Python 的岗位是比较少见的

更常见到的情况是,把 Python 作为一个辅助性质的语言

在工作中,Python 更像是一个工具,需要用到的时候随手拿起来就用,能够方便的解决不少问题
这就像一局王者荣耀,有人打的是 carry,有人打的是辅助


搭建 Python 环境

要想能够进行 Python 开发,就需要搭建好 Python 的环境
需要安装的环境主要是两个部分:

  • 运行环境:Python
  • 开发环境:PyCharm

1、安装 Python

关于 Python 版本的补充

现在主流使用的 Python 版本是 Python 3 系列,但是以后在公司中,接触到一些比较老的项目,可能还在使用 Python 2
3 系列 和 2 系列 之间的语法还是存在不小差别的. 咱们课堂上学习的内容主要是依据 Python 3 系列展开

注意: 最好勾选下 “Add Python 3.10 to PATH” 这个选项
要记得 Python 的安装目录(后面可能会用到)

在这里插入图片描述

其中最关键的就是这个 python.exe,后续运行 Python 程序,全靠这个 python.exe

在这里插入图片描述

如果直接双击这个 python.exe ,就会打开 Python 的交互式解释器(控制台程序),在这个交互式解释器中,就可以输入 Python 代码了
直接输入 print(‘hello’) 这句代码,按下 enter 键,则打印出了 hello 这样的结果


2、安装 PyCharm

虽然通过交互式解释器可以执行 Python 代码了,但是代码写起来并不方便,就需要更专业的开发工具来编写 Python 代码
目前业界常用的 Python 开发工具,主要有下列选项

在这里插入图片描述

其中最主流的开发工具就是 PyCharm 和 VS Code 了

PyCharm

PS: JetBrains 是捷克的一家互联网公司,主要的业务就是开发编程工具. 像 Java 的 IDEA,C++ 的 CLion,Python 的 PyCharm,Go 的 GoLand 等等都是出于 JetBrains 之手,这些工具功能都非常强大,深受广大程序猿的喜爱,因此网友们也亲切的称呼这些开发工具为 “JB 全家桶”

点击方框圈起来的位置,进行下载

在这里插入图片描述

PS: PyCharm 有三个版本

  • 专业版 (Professional Edition)

  • 社区版 (Community Edition)

  • 教育版 (Educational Edition)

专业版 相比于 社区版,功能要更丰富一些,但是专业版收费,社区版免费(显然要白嫖)
教育版功能和专业版相同,但是需要凭 edu 邮箱去 JB 官网申请

建议把这个选项勾上,这样在任意目录鼠标右键,就都可以直接用 PyCharm 打开目录了

在这里插入图片描述


3、运行 hello world

1、创建项目,选择项目所在的位置

在这里插入图片描述

2、关联 Python 解释器:

在这里插入图片描述

注意,一般情况下,PyCharm 能够自动识别出 Python 解释器的位置,但是如果没有自动识别出来,
也没关系,点击右侧的 … 选择之前安装的 Python 的路径位置即可

3、右键左侧的项目目录,选择 New -> Python File

在这里插入图片描述

4、运行:Ctrl+Shift+F10

在这里插入图片描述


4、进行基本设置

设置字体大小

PyCharm 默认的字体比较小,看起来很费眼睛,可以设置大一点
选择 File -> Settings

在这里插入图片描述

找到 Editor -> Font,把字体 Size 和 Line height 都适当调整

Size 表示字体大小,数字越大文字越大
Line height 表示行高,数字越大则两行文字之间的间隔就越大

在这里插入图片描述

设置背景图片

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/92734.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis——常见数据结构与单线程模型

Redis中的数据结构 Redis中所有的数据都是基于key,value实现的,这里的数据结构指的是value有不同的类型。 当前版本Redis支持10种数据类型,下面介绍常用的五种数据类型 底层编码 Redis在实现上述数据结构时,会在源码有特定的…

Docker数据卷容器

1.数据卷容器介绍 即使数据卷容器c3挂掉也不会影响c1和c2通信。 2.配置数据卷容器 创建启动c3数据卷容器,使用-v参数设置数据卷。volume为目录,这种方式数据卷目录就不用写了,直接写宿主机目录。 创建c1、c2容器,使用–volum…

三星霸主地位“无可撼动“,DRAM内存市场份额创近 9 年新低仍第一

三星电子在DRAM市场的竞争地位一直备受关注。据报告显示,除了市场份额下降外,三星电子在上半年的销售额也出现了下滑。这主要是由于全球消费电子产品需求下滑,导致三星电子的芯片需求减少。 存储芯片业务所在的设备解决方案部门的营收和利润也…

24届近3年上海电力大学自动化考研院校分析

今天给大家带来的是上海电力大学控制考研分析 满满干货~还不快快点赞收藏 一、上海电力大学 学校简介 上海电力大学(Shanghai University of Electric Power),位于上海市,是中央与上海市共建、以上海市管理为主的全日…

经典人体模型SMPL介绍(一)

SMPL是马普所提出的经典人体模型,目前已成为姿态估计、人体重建等领域必不可少的基础先验。SMPL基于蒙皮和BlendShape实现,从数千个三维人体扫描结果得来,后通过PCA统计学习得来。 论文:SMPL: A Skinned Multi-Person Linear Mode…

基于Python的HTTP代理爬虫开发初探

前言 随着互联网的发展,爬虫技术已经成为了信息采集、数据分析的重要手段。然而在进行爬虫开发的过程中,由于个人或机构的目的不同,也会面临一些访问限制或者防护措施。这时候,使用HTTP代理爬虫可以有效地解决这些问题&#xff0…

普华永道踩坑MOVEit漏洞,泄露银行8万名储户的信息

8月14日,波多黎各自治区最大的银行——人民银行向缅因州司法部长提交了一份客户信息泄露报告。该报告指出,由于供应商普华永道使用的MOVEit软件存在安全漏洞,导致银行82217名储户的个人信息被泄露。 目前,波多黎各人民银行已经陆续…

javaScript:数组方法(增删/提取类/截取/操作方法等)

目录 一.数组的增删方法 1.push()数组末尾添加元素 解释 代码 运行截图 2.unshift()向数组的头部添加数组 解释 代码 运行截图 3.pop()数组的尾部删除一个元素 解释 代码 运行截图 4.shift()数组的头部删除一个元素 解释 代码 运行截图 5. splice()任意位…

使用 Visual Studio Code 调试 CMake 脚本

之前被引入到 Visual Studio 中的 CMake 调试器,现已在 Visual Studio Code 中可用。 也就是说,现在你可以通过在 VS Code 中安装 CMake 工具扩展,来调试你的 CMakeLists.txt 脚本了。是不是很棒? 背景知识 Visual C 开发团队和 CMake 的维…

最全的【DDD领域建模】小白学习手册(文末附资料)

1、前言: 在当时的环境下,单体应用仍然是市场的主体,但是大型复杂软件系统已经出现,给团队的设计和开发工作带来了比较大的挑战。 DDD提供了一种新的设计思路,通过对于业务子域和限界上下文的划分,建立跨…

【Oracle 数据库 SQL 语句 】积累1

Oracle 数据库 SQL 语句 1、分组之后再合计2、显示不为空的值 1、分组之后再合计 关键字: grouping sets ((分组字段1,分组字段2),()) select sylbdm ,count(sylbmc) a…

【数据结构OJ题】链表中倒数第k个结点

原题链接:https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId13&&tqId11167&rp2&ru/activity/oj&qru/ta/coding-interviews/question-ranking 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 …

进程间通信——信号

信号的概念 信号是 Linux进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异…

手机商城网站的分析与设计(论文+源码)_kaic

目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…

复古游戏库管理器RomM

什么是 RomM ? RomM(代表 Rom Manager)是一个专注于复古游戏的游戏库管理器。通过 Web 浏览器管理和组织您的所有游戏。受 Jellyfin 的启发,允许您从现代界面管理所有游戏,同时使用 IGDB 元数据丰富它们。 RomM 支持的…

线上通过Nginx部署前端工程,并且配置SSL

介绍、为了更好的帮助大家学习,减少歧义,IP地址我就不隐藏了,公司也是我自己的公司。你们就别来攻击了。 下面给出步骤: 一、前期准备工作 通过在目标服务器上安装宝塔面板、安装redis、mysql、nginx、jdk环境等 1、 2、前端工程通过npm run build 打…

完美解决Github提交PR后报错:File is not gofumpt-ed (gofumpt)

问题阐述 最近在Github上提交PR后,遇到了这么一个问题:golangci-lint运行失败,具体原因是File is not gofumpt-ed (gofumpt)。 名词解释 golangci-lint: golangci-lint 是Go语言社区中常用的代码质量检查工具,它可以…

Redis的AOF持久化

除了RDB持久化功能之外,Redis还提供了AOF持久化功能。与RDB 持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的,如下图所示。 举个例子,如果我们对空白的数据…

【JVM】垃圾回收算法

目录 一、判断对象已“死” 1.1、引用计数算法 1.2、可达性分析算法 1.3、引用的概念 二、垃圾收集算法理论 2.1、分代收集理论 三、垃圾收集算法 3.1、标记--清除算法 3.2、标记--复制算法 3.3、标记--整理算法 一、判断对象已“死” 在堆里面存放着Java世界中几乎所…