python理论知识及python解释器多个版本共存和pycharm安装-程序员宅基地

技术标签: python  pycharm  服务器  

【一】编程和编程语言是什么

【1】什么是编程

  • 编程就是将人类语言转换为计算机能够识别的语言

【2】什么是编程语言

  • 编程语言就是人与计算机之间的语言

【3】为什么要出现编程语言?

  • 最根本的原因就是计算机无法识别人类语言

【4】为什么要编程?

  • 编程就是为了让计算机能够理解人类所下达的指令,让计算机自动完成任务

【二】计算机组成原理

【1】什么是计算机

  • 计算机就是通电的机器

  • 能够批量处理人类指令和数据的智能设备

【2】为什么要发明计算机

  • 为了可以代替人类24小时不间断工作

  • 节省劳动成本和增加效益

【3】计算机的五大组成部分

(1)控制器

  • 相当于人类的大脑,互相协调工作,完成指定任务

(2)运算器

  • 相当于我们大脑进行的逻辑运算和数字运算的功能

    • 逻辑运算包括与或非

    • 数字运算包括加减乘除

(3)存储器

  • 可分为长期存储和短期存储

[1]内存
  • 和我们短期记忆一样是临时存储数据的

  • 断电重启数据就会消失

[2]外存
  • 硬盘

    • 机械硬盘

      • 可以存储大量数据,但是读取速度比较慢,并且价格很低

    • 固态硬盘

      • 可以存储大量的数据,但是读取速度很快,价格高

  • 可以持久性的存储数据,并且断电不会消失

(4)输入设备

  • 向电脑输入内容的设备

  • 鼠标、键盘、麦克风

(5)输出设备

  • 由电脑向我们展示的平台和设备

  • 投影仪、显示器

(6)小结

  • CPU是人的大脑,复杂控制和运算

  • 内存是人的记忆,复责临时存储

  • 硬盘是人的笔记本,负责永久存储

  • 输入设备是人的耳朵或眼睛,负责接收外部的信息存入内存

  • 输出设备是人的脸部或者屁股,负责经过处理后输出结果

  • 以上所有的设备都通过总线连接,总线相当于人的神经

【4】计算机的三大核心硬件

(1)CPU

  • 控制器 + 运算器 = CPU

  • 中央控制处理器

(2)内存

  • 临时存储数据

  • 虽然断电数据会消失,数据安全性低,但是读取速度极快

(3)硬盘

  • 持久化存储数据的地方

  • 虽然断电数据不消失,但数据安全性高,只要硬盘不损坏,就不会造成数据丢失,对比内存,读取速度慢

【5】程序的执行过程

  • 数据准备

    • 想用QQ,应该要下载QQ的应用程序

    • QQ的文件夹,你会看到很多的文件数据,这些数据就是QQ的启动程序

  • 数据读取

    • 从硬盘中将QQ的数据读取到内存中,进行临时存储

    • 双击QQ的图标,出现QQ登录界面,这个操作就是数据从硬盘中读取到内存中的过程

  • 数据写入

    • 输入账号和密码,点击登陆

    • 进入到QQ的过程就是CPU从内存中将数据读取出来进行调度和运算的过程

  • 关闭QQ,CPU负责调度当前程序进行杀死,杀死过后要释放当前的内存资源

    • 点击关闭QQ,它会慢慢的消失,这个时候CPU将QQ的数据保存到内存中,内存中的数据再写入到硬盘中,进行持久化存储

    • 最后QQ完全退出

【三】操作系统的概念

【1】操作系统的由来

  • 出现的目的就是为了简化我们的硬件操作

    • 在最开始的时候,电脑还只是一堆硬件拼凑起来的

  • 随着时代的发展,我们想要简化一系列操作指令,我们只能是找到这些指令的代替品

【2】操作系统

  • 操作系统其实就是在一堆硬件的基础上实现功能和接口的封装,我们可以通过这些接口和程序进行硬件的调度

【3】开发一套操作系统

  • 比如开发暴风影音

    • 核心业务就是播放视频,输出音频

    • 你在公司里,有这个需求,要完成这个需求,将这个功能开发一套

      • 将视频文件数据从硬盘中读取出来放到内存中,再经过播放器进行转码

      • 进行音视频输出

    • 你的同桌在另一个公司,也需要开发这么一套功能

      • 他需要从零开发

  • 所有开发者遵循共同的一套规范

    • 可以共同研发一个功能和接口

      • 有一个锁,但是两人都有相同的钥匙副本

    • 我们都遵循一个规范

      • 核心业务就是播放视频,输出音频做出一个公共的

  • 以后谁需要这个功能谁就来直接用

【4】常见的操作系统

(1)Windows平台

  • Windows7

  • Windowsxp

  • Windows8

  • Windows10

  • Windows11

(2)Mac平台

  • iOS系统

  • Intel

(3)Linux

  • centos

  • 蓝鲸

(4)Andoraid

(5)iOS

(6)鸿蒙

【5】系统软件和操作软件的区别

(1)什么是系统软件

  • 系统软件就是建立在硬件上的软件,负责调度整个硬件

  • wind、macOS、Linux

  • 功能包括调度计算机服务、读取文件、进程管理...

(2)什么是操作软件

[1]系统软件
  • 系统自带的服务,例如网卡服务、文件管理器

[2]应用软件
  • 就是我们基于Windows系统之上按照的其他软件

  • QQ、微信、腾讯视频、QQ音乐...

【6】计算机系统的三层架构

  • 底层就是硬件层

    • 所有的操作都是基于硬件的

  • 中间层就是操作系统层

    • 所有硬件调度服务都是基于操作系统的

  • 最上面是应用层

    • 进行工作和开发的软件层

【7】平台的概念

  • 平台 = 你的操作系统 + 你的硬件

    • Linux平台

      • 用在服务器上

      • 只需要一个CPU + 显卡 + 内存 + 硬盘

    • Windows平台

      • Windows系统 + CPU +...

    • MacOS平台

      • macOS + Mac相关硬件

【四】为什么要学习Python

  • 跨平台性非常高,学习成本低

  • Windows上也能用、Linux上也能用

    • 不需要电脑配置高

  • Java就需要Java虚拟机

【五】编程语言

【1】编程语言的分类

  • 编程语言的发展史,在最开始的编程绝不是现在所学的Python

【2】机器语言

(1)什么是机器语言

  • 机器语言就是计算机可以理解的语言

  • 由于计算机基于点工作,点又分为高低电频,0为低,1为高

  • 我们可以控制高低电频的变化组成一系列的指令去操作我们的系统硬件

  • 机器语言因为他能直接操作计算机硬件,所以他是最低级的计算机语言

(2)机器指令

  • 控制高低电频的变化组成一系列的指令就叫机器指令,能控制电脑硬件

(3)如何写机器指令

  • 首先必须记住计算机的全部指令及核心代码的含义

  • 在编写机器指令程序的时候需要自己处理每一条数据,以及数据随时可能会发生的意外,非常的繁琐且耗费精力

(4)机器语言的优缺点

  • 优点

    • 执行效率高

      • 可以直接操作计算机底层硬件

  • 缺点

    • 开发效率低

      • 学习成本高,开发效率慢

    • 跨平台性很差

      • 更换系统硬件就会导致机器指令失效

      底层单位数据的换算
      # 00000001 表示1字节,有256中排列方式,从0到255
      ​
      #八个字节表示一个 bytes
      # 8字节 = 1bytes
      # 1024 bytes = 1 KB
      # 1024 KB = 1 MB
      # 1024 MB = 1 GB
      # 1024 GB = 1 TB

【3】汇编语言

  • 汇编语言仍然可以直接操作底层硬件,但是美国人可以用一个字母或者一串字母来声明这串机器指令代表的含义

  • 但是对比与机器语言来说,汇编语言就是一种进步,一定程度上降低了开发成本

(1)什么是汇编语言

  • 汇编语言其实就是用一个英文字母或者一串单词来代表机器语言

(2)汇编语言示例

; hello.asm 
section .data                   ; 数据段声明
    msg db "Hello, world!", 0xA ; 要输出的字符串
    len equ $ - msg             ; 字串长度
section .text                   ; 代码段声明
    global _start               ; 指定入口函数
_start:                         ; 在屏幕上显示一个字符串
    mov edx, len                ; 参数三:字符串长度
    mov ecx, msg                ; 参数二:要显示的字符串
    mov ebx, 1                  ; 参数一:文件描述符(stdout) 
    mov eax, 4                  ; 系统调用号(sys_write) 
    int 0x80                    ; 调用内核功能
                                ; 退出程序
    mov ebx, 0                  ; 参数一:退出代码
    mov eax, 1                  ; 系统调用号(sys_exit) 
    int 0x80                    ; 调用内核功能

(3)汇编语言的优缺点

  • 优点

    • 执行效率高

      • 直接操作计算机底层硬件

    • 操作灵活

      • 简化了一些机器指令可以让我们快速实现代码编程

    • 可执行文件很小

  • 缺点

    • 开发效率低

      • 仍然需要记住很多指令集

    • 复杂度很高

      • 一串代码可能会用到很多指令集

    • 跨平台性很差

      • 直接操作计算机底层硬件

【4】高级语言

(1)什么是高级语言

  • 高级语言从人类的角度出发,用人的思维将人类的语言转换为计算机可以识别的语言

    • 可以通过人类的指令实现操作计算机等硬件

    • 不需要考虑底层硬件,直接操作系统

    • 高级语言更贴近人类

(2)高级语言的分类

  • 按照编译方式分为两类

    • 编译型语言

    • 解释型语言

(3)编译型语言

[1]什么是编译型语言
  • 编译型语言就是将源代码一次性翻译成目标代码,然后生成一个可执行文件

    • 下次执行只需执行翻译后的文件

  • 如果觉得代码需要修改和完善,修改代码以后就需要重新编译

[2]优缺点
  • 优点

    • 一次编译处处执行,只要编译一次,以后可以直接用,效率高

  • 缺点

    • 修改后需要重新编译

    • 跨平台性很差

[3]编译型语言的代表
  • C、C++、Java

(4)解释型语言

[1]什么是解释型语言
  • 解释型语言就是在执行代码的过程中,不是一次性编译而是用到哪就编译到哪

[2]解释型语言的优缺点
  • 优点

    • 不需要改动后再编译,开发效率提高了

    • 跨平台性很强

  • 缺点

    • 执行效率变慢了

[3]编译语言代表
  • GO、Python

【5】各种开发语言对比

(1)执行效率

  • 机器语言

  • 汇编语言

  • 高级语言

    • 编译型

    • 解释型

(2)开发效率

  • 高级语言

    • 编译型

    • 解释型

  • 汇编语言

  • 机器语言

(3)跨平台型

  • 高级语言

    • 编译型

    • 解释型

  • 汇编语言

  • 机器语言

【六】Python语言介绍

【1】创始人

  • 吉多·范罗苏姆(Guido van Rossum)

【2】名字的由来

  • Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:

  • 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。

【3】全球语言排行榜

TIOBE Index - TIOBE

【4】Python语言的应用领域

  • 人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。

  • 图像处理比如人脸识别

  • 数据分析

【补充】Python全栈开发可从事方向 - Chimengmeng - 博客园 (cnblogs.com)

【5】国内大厂都在用

  • 目前业内几乎所有大中型互联网企业都在使用Python

    • Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

【6】Python解释器的发展史

  • 1989年,Guido开始写Python语言的编译器

  • 1991年,第一个Python编译器诞生

    • 他是用C语言实现的,并能够调用C语言的库文件

    • 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统

  • Python 2.7 - July 3, 2010

  • Python 3.6 - 2016-12-23 发布python3.6.0版

  • 目前使用Python3.10版本,使用最新版本的解释器可能会存在不稳定的bug

【7】Python的解释器的种类

(1)Cpython解释器

  • 基于C语言开发的解释器版本

  • 我们学习使用的解释器就是基于C语言开发出来的CPython解释器

  • 底层源码都是C语言,如果从Python代码看源码看不到C代码

(2)jpython

  • 基于Java写的Python解释器,没人用

(3)ipython

  • 可以进行交互的解释器版本呢

【七】Python解释器安装(Windows)

【1】访问Python官网

Welcome to Python.org

【2】选择Windows系统

【3】搜索指定版本

  • Windows系统

    • Ctrl + f

  • macOS

    • command + f

【4】安装解释器

(1)双击安装程序

(2)自定义安装位置(不要放在C盘)

【八】多版本解释器共存

【1】方法1

(1)查看电脑环境变量

(2)用户变量

  • 查看用户变量,如果有Python就删除

(3)系统变量

  • 需要使用哪一个版本的Python解释器就将哪一个的环境变量上移并保存

  • 这种方法虽然可行,但是很麻烦

【2】方法2

  • 将原本的Python解释器快捷方式复制一份成副本

  • 修改副本的名称,改成指定版本的解释器

  • 系统环境变量谁在上面,就会先触发谁

【九】书写Python代码

【1】直接在命令行书写代码

  • win + r,输入cmd调出终端,输入Python进入解释器环境

  • 直接输入代码

    • 在终端输入代码,无法美化代码样式看起来很复杂且终端关闭代码消失,只是临时的(不推荐使用,用于测试)

【2】借助文件

  • 在桌面上创建一个TXT文件

  • 书写Python代码

  • 将文件后缀拓展名改成py

  • 执行Python代码需要在终端输入Python + py文件路径

【3】使用编辑器

  • pycharm、vscode

【4】Python代码执行顺序及流程

  • 读取应用程序并执行的流程

  • 写了一个带有python代码的文件保存到硬盘

  • 首先要将文件里的内容读取到内存中

  • CPU需要将数据从内存读取到CPU,CPU去调度执行

    • 在这个过程中需要用到Python解释器

    • 去找Python解释器

    • 找到了解释器

  • 调用解释器执行代码

【十】安装pycharm

【1】访问官网

JetBrains: 软件开发者和团队的必备工具

【2】下载

【3】安装

  • 安装时不要装在C盘

  • 全选/选jetbrains

  • 因为需要付费,需要部分科技,建议支持正版,需要的话私聊

【4】完成安装

【十一】pycharm操作

【1】添加解释器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/g1446992400/article/details/137087942

智能推荐

基于springboot的社区养老系统(养老院)_基于springboot的养老院管理系统设计与实现-程序员宅基地

文章浏览阅读1k次。该系统基于springboot技术,数据层为MyBatis,mysql数据库,页面采用html,具有完整的业务逻辑,适合选题:springboot、社区养老、养老院等。_基于springboot的养老院管理系统设计与实现

嵌入式怎么入门,嵌入式应该先学习什么_学fpga用先学嵌入式吗-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。嵌入式到底是什么,很多对这个概念都很迷糊,许多人都认为这是工程师的代名词。嵌入式工程师可以说是目前涵盖面最广、最火的职业之一,那么到底什么是嵌入式呢?狭义上嵌入式系统由硬件和软件组成.是能够独立进行运作的器件广义上嵌入式是一种系统首先,我想说的是嵌入式有很多种,例如嵌入式系统,嵌入式软件,Linux 嵌入式,Android 嵌入式,嵌入式 Web。一.嵌入式用途有什么1.共享单车2.丰巢快递柜3.充电桩4.智能家居5.Android 嵌入式开发.._学fpga用先学嵌入式吗

解决Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.6.2 in alimaven-程序员宅基地

文章浏览阅读2k次,点赞10次,收藏7次。在部署SpringBoot项目时遇到pom所有版本号爆红,而报错只有标题中的那句话,尝试了多种方法即便不再报错但仍爆红。在查阅和尝试了多种方法后,我决定删除之前的maven镜像配置尝试一下。_could not find artifact org.springframework.boot:spring-boot-starter-parent:

多个el-select下拉框无法选中相同内容_两个el-option 限制重复选择-程序员宅基地

文章浏览阅读786次。多个el-select下拉框无法选中相同内容。_两个el-option 限制重复选择

Android qualcomm WCNSS_qcom_cfg.ini_genablebmps-程序员宅基地

文章浏览阅读1.2k次。本文介绍WCNSS_qcom_cfg.ini中常用参数的作用。wifi 日志等级vosTraceEnableBAP=255 vosTraceEnableTL=255 vosTraceEnableWDI=255 vosTraceEnableHDD=255 vosTraceEnableSME=255 vosTraceEnablePE=255 vosTraceEnablePMC=255 vosTraceEnableWDA=255 vosTraceEnableSYS=255 vosTrac_genablebmps

剑指offer第五题:替换空格_class solution: # s 源字符串 def replacespace(self, s)-程序员宅基地

文章浏览阅读272次。思路应该使用指针从后向前替换字符串。不过python用不到。 class Solution: # s 源字符串 def replaceSpace(self, s): # write code here new_s='' for j in s: if j==' ': ne..._class solution: # s 源字符串 def replacespace(self, s): # write code here if

随便推点

App上架/更新怕被拒? iOS过审“避雷秘籍”请查收 -程序员宅基地

文章浏览阅读67次。苹果爸爸对 App Store 的监管力度正在不断加强。2018年下半年,下架的App数量比上半年多161%,但上架的App却只增长了47%。上架困难成为App开发者们很揪心的事情。众所周知,应用在上架至App Store前,必须通过神秘的苹果审核团队的审核。能否在短时间内顺利通过审核,对App推广节奏和策略、以及迭代等应该是非常大的...

quartz java api,Quartz API-程序员宅基地

文章浏览阅读144次。Quartz API 的关键接口Scheduler - 用于与调度程序交互的主要API.Job - 运行任务(真正的业务实现类)实现的接口JobDetail - 用于定义任务的实例.Trigger - 用于定义执行给定Job的计划JobBuilder - 用于定义/构建JobDetail实例TriggerBuilder - 用于定义/构建Trigger 实例。DSL风格Quartz提供了“构建器”..._java scheduler api

Spring系列十:Spring MVC深度学习,Java基础面试常常死在这几个问题上-程序员宅基地

文章浏览阅读961次,点赞23次,收藏11次。这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!!这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!![外链图片转存中…(img-iqMfFBiE-1711963264277)]

Linux 运维工程师入门和学习之路——Linux命令篇-程序员宅基地

文章浏览阅读289次,点赞5次,收藏2次。Linux拥有大量的命令,涵盖了系统管理、文件操作、网络配置等多个方面。以下是一些常用的Linux命令集合,但这并不是全部,Linux的命令集合非常庞大,并且随着版本的更新和社区的发展,新的命令和工具也在不断涌现。命令可以获得shell内置命令的帮助信息。这些命令和工具为Linux用户提供了强大的系统管理和文件操作能力。命令可以查看命令的详细信息和用法,此外,还有许多其他命令和工具,如。

HDU 1010 Tempter of the Bone 搜索 奇偶剪枝-程序员宅基地

文章浏览阅读221次。Tempter of the Bone Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u SubmitStatusDescriptionThe doggie found a bone in an ancient maze, which fascinated him a lot. However,

SRv6 TE Policy场景-原理浅谈及配置示例-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏12次。EVPN L3VPN for IPv4 Over SRv6 TE Policy场景介绍;SRv6 TE policy原理介绍;RFC9256简介_srv6 te policy

推荐文章

热门文章

相关标签