Python:背景知识及环境安装
一、计算机的基础概念
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 表示行高, 数字越大则两行文字之间的间隔就越大.

相关文章:
Python:背景知识及环境安装
一、计算机的基础概念 1.1 什么是计算机? 最早我们有计算器,但是他只能完成算数运算的功能 而计算机能完成的工作有: (1)算术运算 (2)逻辑判断 (3)数据存储 (…...
力扣第420周赛 中等 3324. 出现在屏幕上的字符串序列
文章目录 题目介绍题解 题目介绍 题解 因为是要求按键次数最少,所以不用考虑 ‘z’ 变为 ‘a’ 的情况。 代码如下: class Solution {public List<String> stringSequence(String target) {List<String> ans new ArrayList<>();St…...
ant design vue树选择器实现部分层级禁用(指定层级或依据字段判断)
1、依据字段判断是否禁用 const handData (array, level?) > {array.forEach((item) > {if (level 0) {//获取一级菜单item.title item.levelName;item.value item.code;if (item.type LAYER) {item.disabled true;} else if (item.type JOB) {item.disabled f…...
安灯系统助力汽车零部件工厂快速解决生产异常
在汽车零部件制造领域,高效的生产管理和快速解决异常情况是确保产品质量和生产进度的关键。而安灯系统的应用,正为汽车零部件工厂带来了全新的变革,助力其快速解决生产异常。 汽车零部件工厂的生产报工产线看板直观地反映出生产的各项关键数据…...
vue父子传参的方式——Prop
Prop 每一个组件都有一个props的属性,用来接收外部传递的数据 这里我拿一个分页组件为例: 一、基础语法 1、父组件传递数据 父组件在向子组件传递数据时,基础语法如下: <template><div><common-page :pagina…...
Apache Commons Text 指南:比 String 更强大的文本处理工具
Apache Commons Text 指南:比 String 更强大的文本处理工具 在 Java 开发中,String 类是处理文本的基础工具,但当面对复杂的文本处理需求时,其局限性就显而易见了。Apache Commons Text 提供了一个更加灵活强大的文本处理工具集&…...
C++面向对象编程学习
C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义(Inline Definition)2.2 分离定义(Separate Definition)2.3 头…...
云轴科技ZStack亮相迪拜GITEX大会,与阿里云再次携手深化海外合作
10月14至18日,全球顶尖科技盛会GITEX GLOBAL 2024在迪拜拉开帷幕,云轴科技ZStack携全系云计算解决方案与全新AIOS智塔平台参展,向全球观众展示智算时代下的新一代智算化算力平台。 GITEX GLOBAL 2024是当今世界上最具前瞻性兼包容性的大型科技…...
SQL Server 当前日期及其未来三天的日期
当前日期及其未来三天的日期,并分别以 YYYY-MM-DD 和 yyyyMMdd 的格式展示 1、当前日期及其未来三天的日期,以 YYYY-MM-DD的格式展示 WITH CurrentDate AS (SELECT GETDATE() AS 当前日期 ) -- 使用 CONVERT 函数 SELECTCONVERT(VARCHAR(10), 当前日期,…...
QUIC(Quick UDP Internet Connections)与 RTMP(Real Time Messaging Protocol)
QUIC(Quick UDP Internet Connections)和 RTMP(Real Time Messaging Protocol)是两种不同的网络传输协议,它们在一些方面有不同的特点和应用场景。 QUIC 协议 特点 基于 UDP:QUIC 建立在 UDP 之上ÿ…...
双十一送你一份购物攻略,绿联NAS DXP2800评测
一年一度双十一,今年双十一来得特别早,所以最近已经看到不少人在讨论双十一买了啥,NAS的讨论度也挺高的。正好,是我比较懂的领域。作为一位资深的数码爱好者,同时也是绿联DH2600DXP2800双持用户,可以说我是…...
基于vue框架的的高校设备信息管理系统的设计与实现tx6d7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
系统程序文件列表 项目功能:设备管理员,设备维护员,设备类别,设备,设备入库,设备分发,设备调拨,定期维护,维护任务,设备运行记录 开题报告内容 基于Vue框架的高校设备信息管理系统的设计与实现开题报告 一、项目背景及意义 随着高校教育事业的蓬勃发展ÿ…...
springboot3.x使用@NacosValue无法获取配置信息问题解决
一、问题描述 springboot从2.x升级到3.x后,nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后,首先,确定我的项目是能够连上nacos并且加载到配置信息的,因为数据库等信息都是从nacos加载过来,能够正…...
sql获取时间差
MySQL SELECT TIMESTAMPDIFF(HOUR, 2023-10-01 12:00:00, 2023-10-02 15:30:00) AS hours_difference; PostgreSQL //EXTRACT(EPOCH FROM (2023-10-02 15:30:00::timestamp - 2023-10-01 12:00:00::timestamp)) // 获取的是两个时间相差的秒数,在此基础上除3600获…...
【深入理解Python中的闭包】如何有效使用嵌套函数和状态捕获!
深入理解Python中的闭包:如何有效使用嵌套函数和状态捕获 Python 作为一种动态的编程语言,允许我们用多种方式来设计和构建功能,其中之一就是 闭包(Closure)。闭包是一种强大的特性,可以帮助我们捕获和保持…...
npm配置阿里镜像库教程
为了配置npm使用阿里镜像库,可以按照以下步骤进行操作。这些步骤将帮助你加快包的下载速度,特别是在中国地区,因为阿里镜像库通常比官方npm仓库响应更快。 1. 配置全局镜像 可以通过运行以下命令来将npm的全局镜像配置为阿里镜像࿱…...
Apache JMeter压力测试工具使用
JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。 01 软件下载 下载地址: https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2 用浏览器下载发现慢得很,用迅雷下载非常快哟。 02 测试使用 在使用前需要先安装jd…...
前端零基础入门到上班:【Day4】HTML 多媒体与表单深度教程
HTML 多媒体与表单深度教程 **1. HTML 多媒体基础:深入理解 <video> 和 <audio> 标签****1.1 <video> 标签:详细剖析与用法****1.1.1 基础结构与属性详解****1.1.2 视频格式的兼容性与示例****1.1.3 视频控制的实际应用** **1.2 <a…...
原创作品——银行软件产品界面设计
蓝蓝设计团队服务金融类应用界面设计,以沉稳的色调和简洁的线条营造出专业可靠的氛围。特点在于融入了创新的元素增添界面的活力与现代感。细节处理上,注意数据的视觉呈现效果,采用定制化的图表和清晰的排版,确保用户能够快速理解…...
若依RuoYi-Vue 定时任务 速学
1.若依定时任务模块(ruoyi-quartz) 那么从一个简单的入门示例开始,掌握定时任务的使用吧! 2. 入门示例(学会制作一个简单定时任务) 首先打开定时任务模块中的task包,这里已经有一个已经写好的R…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

