Python:背景知识及环境安装

news2024/10/28 12:42:19

一、计算机的基础概念

1.1 什么是计算机?

 最早我们有计算器,但是他只能完成算数运算的功能

 而计算机能完成的工作有:

(1)算术运算

(2)逻辑判断

(3)数据存储

(4)网络通信

……更多复杂的任务

1.2 计算机的组成

一台计算机应该由以下组件组成

1、CPU(中央处理器,大脑)——>算数运算,逻辑判断

CPU内部结构非常复杂,称得上是人类当前科技的巅峰之作(可以和氢弹相提并论) 

尤其是国外设计水平更高,常见的有Intel、AMD、高通 

2、存储器(内存和外存)——>存储数据

3、输入设备(键盘、鼠标、麦克风)和输出设备(显示器、音箱、耳机、打印机)——>用户和计算机交互

1.3 冯诺依曼体系结构 

         据传闻, 冯诺依曼大佬六岁心算八位数除法, 八岁掌握微积分, 十岁通读了世界史, 十七岁发表了第 一篇数学方面的论文.  

 冯诺依曼体系结构奠定了现代计算机的基调。计算机的祖师爷, 除了冯诺依曼之外, 还有一位图灵大佬, 也在二战中发挥了至关重要的作用.

1.4 什么是编程?

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

     软件并不是凭空出现的,也是需要被“开发”和“设计”出来的,而这个制作软件的过程,就被称为“软件开发”,或者也可以叫做“编程”。 

       编程再进一步展开讲,就是通过某种方式,由人来告诉计算机接下来要干什么任务,而这种方式其实就是我们编程中常用的工具——编程语言 ( 而Python也是其中的一员!)!   

 1.5 编程语言有哪些? 

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

1、机器语言——>只有计算机才能识别的二进制序列(通过充放电来表示0 1)

2、汇编语言——>和机器语言一一对应(助记符),用一些单词来表示特定的二进制序列

 3、高级语言——>做了更高层次的抽象从而方便我们的使用,并且减少了学习成本

程序员主要使用的都是高级语言 

 二、Python的背景知识

2.1 Python的发明

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

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

2.2 Python的作用

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

科学计算

数据分析

Web 开发(搭建网站)

自动化运维

人工智能

爬虫程序

自动化测试

  

2.3 Python的优缺点

优点:

语法言简意赅, 容易上手.

功能强大, 用途广泛.

生态丰富, 具有海量的成熟第三方库.

方便调用 C/C++ 编写的代码进行 高性能/系统级操作.

缺点:

执行效率比较弱.

对于多核心并发程序支持偏弱.(进程被分解成多个子任务由多个CPU去共同执行)

动态类型系统对于大型项目不太友好.(因为一个类型可能在运行的时候变换类型  所以不适合多人合作)

2.4 Python的前景

前景:

(1)好不好找工作

(2)薪资水平怎么样

      虽然 Python 的应用场景很多, 但是纯粹使用 Python 的岗位是比较少见的.  不过整体的薪资竞争力还可以! 

      Python在实际开发环境中,更多地是扮演着辅助的角色!!

三、搭建Python环境 

1、找到官方网站

       在搜索引擎中搜索 python 关键字, 带有 "官网" logo 的结果即为 Python 官方网站(注意不要点到带有 "广告字样" 的结果).  

2、找到下载页面

选择 "Download for Windows" 

 下载完成后, 会得到一个 exe 的安装程序.

3、双击安装包 

双击安装包, 安装 Python 

注意:

(1) 最好勾选下 "Add Python 3.10 to PATH" 这个选项.

(2) 要记得 Python 的安装目录(后面可能会用到).

4、运行 hello world 

 打开 Python 的安装目录看看,

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

      如果直接双击这个 python.exe , 就会打开 Python 的交互式解释器(控制台程序). 在这个交互式解释器 中, 就可以输入 Python 代码了.

      直接输入 print('hello') 这句代码, 按下 enter 键, 则打印出了 hello 这样的结果.

       但是这个只适合运行一些测试性、简单的代码,没有什么代码高亮、代码补齐的功能,所以我们需要使用开发工具PyCharm

四、安装 PyCharm 

 目前业界常用的 Python 开发工具, 主要有下列选项:

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

 1、找到官方网站

注意: 这个搜索结果中没有标识出 "官网", 但是大家要认准 jetbrains.com 这个域名.  

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

2、找到下载页面

 

PS: PyCharm 有三个版本.

专业版 (Professional Edition)

社区版 (Community Edition)

教育版 (Educational Edition)

学生一般使用的是社区版.

专业版 相比于 社区版, 功能要更丰富一些, 但是专业版收费, 社区版免费(显然要白嫖).

教育版功能和专业版相同, 但是需要凭 edu 邮箱去 JB 官网申请

3、双击安装包

4、运行hello world

(1)创建一个项目

 (2)选择项目所在的位置, 并选择使用的 Python 解释器.

       一般情况下, PyCharm 能够自动识别出 Python 解释器的位置. 但是如果没有自动识别出来,

也没关系, 点击右侧的 ... 选择之前安装的 Python 的路径位置即可

 (3)创建文件

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

填写文件名

(4)编写代码

 (5)运行程序

右键文件, 选择 "Run 'hello' "

5、进行基本设置 

设置字体大小

PyCharm 默认的字体比较小, 看起来很费眼睛. 可以设置大一点.

选择 File -> Settings

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

Size 表示字体大小. 数字越大文字越大.

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s 二进制部署安装(一)

目录 环境准备 初始化操作系统 部署docker 引擎 部署 etcd 集群 准备签发证书环境 部署 Master01 服务器相关组件 apiserver scheduler controller-manager.sh admin etcd 存储了 Kubernetes 集群的所有配置数据和状态信息,包括资源对象、集群配置、元数据…

基于SSM+小程序的旅游社交登录管理系统(旅游4)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 ​ 本旅游社交小程序功能有管理员和用户。管理员有个人中心,用户管理,每日签到管理,景点推荐管理,景点分类管理,防疫查询管理&a…

51单片机完全学习——DS18B20温度传感器

一、DS18B20数据手册解读 首先我们知道DS18B20使用的是单总线传输,默认情况下读出来的温度是12位的,我们这里只讨论外部电源供电这种情况。 有这张图片我们知道,12位温度的最小分辨率是10^-4次方,因此就是0.0625.我们只需要将最后…

论文阅读(二十三):Squeeze-and-Excitation Networks

文章目录 1.介绍2.原理3.代码4.SE模块的应用 论文:Squeeze-and-Excitation Networks   论文链接:Squeeze-and-Excitation Networks   代码链接:Github 1.介绍 卷积算子使网络能够在每一层的局部感受野中融合空间(spatial&…

内容安全与系统构建加速,助力解决生成式AI时代的双重挑战

内容安全与系统构建加速,助力解决生成式AI时代的双重挑战 0. 前言1. PRCV 20241.1 大会简介1.2 生成式 Al 时代的内容安全与系统构建加速 2. 生成式 AI2.1 生成模型2.2 生成模型与判别模型的区别2.3 生成模型的发展 3. GAI 内容安全3.1 GAI 时代内容安全挑战3.2 图像…

Linux 进程间通信_匿名管道

1.程间通信目的 : 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如…

Linux CentOS7下创建SFTP服务器

本文详细介绍了在Linux CentOS上部署安全文件传输协议(SFTP)服务器的全过程。SFTP基于SSH(安全壳层协议)提供文件传输服务,继承了SSH的安全特性,如数据加密、完整性验证和服务器认证等,确保数据…

信号与系统学习:周期信号的频谱

一、概念 1. 什么是频谱? 频谱描述了信号在不同频率上的能量分布对于一个周期信号,其频谱通常是离散的,由一系列离散的频率成分组成 2. 周期信号与傅里叶级数 周期信号可以用傅里叶级数展开,表示为无数个正弦和余弦&#xff0…

巡飞单机多旋翼无人机技术详解

巡飞单机多旋翼无人机技术是一种集成了多种先进技术的无人机系统,它具备自主飞行、长续航、高精度控制以及多任务负载能力等特点。以下是对巡飞单机多旋翼无人机技术的详细解析: 一、机架与结构设计 1.材料选择:为了确保无人机能够承载足够…

基于深度学习的图像修复系统设计与实现(PyQt5、CodeFormer ffhq-dataset数据集)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

logback日志导入使用

1导入配置 <!-- 日志 &#xff0c; 会自动传递slf4j门面--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version> </dependency>2 引入配置 Logback要求…

Synergy遇见的问题

1.两台设备无法ping通 首先两个设备是在同一个局域网中&#xff0c;但任然是无法ping通 问题所在&#xff1a;防火墙进行了隔离&#xff1b; 解决方法&#xff1a; &#xff08;1&#xff09;关闭防火墙 没有用过&#xff0c;个人感觉不怎么安全就没有使用&#xff1b; &am…

react18中的受控与非受控组件及ref的使用

受控与非受控组件 受控组件,基于修改 state 的值,修改组件内部的状态&#xff0c;来实现页面的更新&#xff0c;推荐使用 非受控组件&#xff0c;基于 ref 获取 dom 的值&#xff0c;来实现页面的更新,不推荐使用,偶尔特殊的场景会使用 给需要获取的元素设置 ref“xxx”,后期基…

一步一步从微信小程序获取asp.net Core API的数据

前面我们说过&#xff0c;如何使用微信小程序获取asp.net的数据&#xff0c;这里我们继续介绍如何获取asp.net core api的数据。两者之间还是有一些差别的。本篇博文旨在详细介绍如何一步一步从微信小程序获取asp.net Core API的数据。 文章目录 一、建立并了解asp.net core we…

Git 创建SSH秘钥

1、命令行输入 ssh-keygen -t rsa -b 4096 2、系统提示你“Enter a file in which to save the key”&#xff0c;直接按回车键 3、再提示你输入密码的时候直接按回车键&#xff0c;创建没有密码的SSH密钥 4、密钥对创建后&#xff0c;可以在自己电脑对应的 ~/.ssh 目录下找到…

vue 果蔬识别系统百度AI识别vue+springboot java开发、elementui+ echarts+ vant开发

编号&#xff1a;R03-果蔬识别系统 简介&#xff1a;vuespringboot百度AI实现的果蔬识别系统 版本&#xff1a;2025版 视频介绍&#xff1a; vuespringboot百度AI实现的果蔬识别系统前后端java开发&#xff0c;百度识别&#xff0c;带H5移动端&#xff0c;mysql数据库可视化 1 …

Unity编辑器制作多级下拉菜单

Unity编辑器下拉菜单 大家好&#xff0c;我是阿赵。   在Unity引擎里面编写工具插件&#xff0c;有时候会用到一些特殊的菜单形式&#xff0c;比如下拉选项。 通过下拉菜单&#xff0c;给用户选择不同的选项。   如果只是一层的下拉列表&#xff0c;可以用EditorGUILayout.…

西南大学软件专硕考研难度分析!

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南大学软件工程学硕近三年呈现出招生规模稳定、复试线稳中有升的特点。2024届实际录取8人&#xff0c;复试分数线305分&#xff0c;复试录取率67%&#xff0c;相比去年复试线略有下降但仍高于2022届&#xff0c;显示出…

Maven 项目构建打包,如何引入本地 Jar 包?

上一篇讲到 Maven 离线仓库的使用&#xff0c;反响不错很多人收藏&#xff0c;这一篇还是继续聊 Maven 。假如你发现某开源项目有个 bug 影响到自己的系统&#xff0c;但官方还没修复&#xff0c;自己定位到了本地修改打了包先应急用&#xff0c;那么如何在其他项目上使用该包&…

【动态规划】力扣198.打家劫舍

目录 一、题目二、思路1.递归2.递推 三、代码 一、题目 二、思路 1.递归 题目中指出不可以选相邻的房间&#xff0c;说明如果选了第 1 间&#xff0c;那么第 2 间一定不可以选&#xff0c;第 3 间房间可以选&#xff0c;也可以不选……假设是按照从第 1 间房间开始依次往后选…