当前位置: 首页 > news >正文

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)数据存储 &#xff08…...

力扣第420周赛 中等 3324. 出现在屏幕上的字符串序列

文章目录 题目介绍题解 题目介绍 题解 因为是要求按键次数最少&#xff0c;所以不用考虑 ‘z’ 变为 ‘a’ 的情况。 代码如下&#xff1a; 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…...

安灯系统助力汽车零部件工厂快速解决生产异常

在汽车零部件制造领域&#xff0c;高效的生产管理和快速解决异常情况是确保产品质量和生产进度的关键。而安灯系统的应用&#xff0c;正为汽车零部件工厂带来了全新的变革&#xff0c;助力其快速解决生产异常。 汽车零部件工厂的生产报工产线看板直观地反映出生产的各项关键数据…...

vue父子传参的方式——Prop

Prop 每一个组件都有一个props的属性&#xff0c;用来接收外部传递的数据 这里我拿一个分页组件为例&#xff1a; 一、基础语法 1、父组件传递数据 父组件在向子组件传递数据时&#xff0c;基础语法如下&#xff1a; <template><div><common-page :pagina…...

Apache Commons Text 指南:比 String 更强大的文本处理工具

Apache Commons Text 指南&#xff1a;比 String 更强大的文本处理工具 在 Java 开发中&#xff0c;String 类是处理文本的基础工具&#xff0c;但当面对复杂的文本处理需求时&#xff0c;其局限性就显而易见了。Apache Commons Text 提供了一个更加灵活强大的文本处理工具集&…...

C++面向对象编程学习

C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义&#xff08;Inline Definition&#xff09;2.2 分离定义&#xff08;Separate Definition&#xff09;2.3 头…...

云轴科技ZStack亮相迪拜GITEX大会,与阿里云再次携手深化海外合作

10月14至18日&#xff0c;全球顶尖科技盛会GITEX GLOBAL 2024在迪拜拉开帷幕&#xff0c;云轴科技ZStack携全系云计算解决方案与全新AIOS智塔平台参展&#xff0c;向全球观众展示智算时代下的新一代智算化算力平台。 GITEX GLOBAL 2024是当今世界上最具前瞻性兼包容性的大型科技…...

SQL Server 当前日期及其未来三天的日期

当前日期及其未来三天的日期&#xff0c;并分别以 YYYY-MM-DD 和 yyyyMMdd 的格式展示 1、当前日期及其未来三天的日期&#xff0c;以 YYYY-MM-DD的格式展示 WITH CurrentDate AS (SELECT GETDATE() AS 当前日期 ) -- 使用 CONVERT 函数 SELECTCONVERT(VARCHAR(10), 当前日期,…...

QUIC(Quick UDP Internet Connections)与 RTMP(Real Time Messaging Protocol)

QUIC&#xff08;Quick UDP Internet Connections&#xff09;和 RTMP&#xff08;Real Time Messaging Protocol&#xff09;是两种不同的网络传输协议&#xff0c;它们在一些方面有不同的特点和应用场景。 QUIC 协议 特点 基于 UDP&#xff1a;QUIC 建立在 UDP 之上&#xff…...

双十一送你一份购物攻略,绿联NAS DXP2800评测

一年一度双十一&#xff0c;今年双十一来得特别早&#xff0c;所以最近已经看到不少人在讨论双十一买了啥&#xff0c;NAS的讨论度也挺高的。正好&#xff0c;是我比较懂的领域。作为一位资深的数码爱好者&#xff0c;同时也是绿联DH2600DXP2800双持用户&#xff0c;可以说我是…...

基于vue框架的的高校设备信息管理系统的设计与实现tx6d7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;设备管理员,设备维护员,设备类别,设备,设备入库,设备分发,设备调拨,定期维护,维护任务,设备运行记录 开题报告内容 基于Vue框架的高校设备信息管理系统的设计与实现开题报告 一、项目背景及意义 随着高校教育事业的蓬勃发展&#xff…...

springboot3.x使用@NacosValue无法获取配置信息问题解决

一、问题描述 springboot从2.x升级到3.x后&#xff0c;nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后&#xff0c;首先&#xff0c;确定我的项目是能够连上nacos并且加载到配置信息的&#xff0c;因为数据库等信息都是从nacos加载过来&#xff0c;能够正…...

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)) // 获取的是两个时间相差的秒数&#xff0c;在此基础上除3600获…...

【深入理解Python中的闭包】如何有效使用嵌套函数和状态捕获!

深入理解Python中的闭包&#xff1a;如何有效使用嵌套函数和状态捕获 Python 作为一种动态的编程语言&#xff0c;允许我们用多种方式来设计和构建功能&#xff0c;其中之一就是 闭包&#xff08;Closure&#xff09;。闭包是一种强大的特性&#xff0c;可以帮助我们捕获和保持…...

npm配置阿里镜像库教程

为了配置npm使用阿里镜像库&#xff0c;可以按照以下步骤进行操作。这些步骤将帮助你加快包的下载速度&#xff0c;特别是在中国地区&#xff0c;因为阿里镜像库通常比官方npm仓库响应更快。 1. 配置全局镜像 可以通过运行以下命令来将npm的全局镜像配置为阿里镜像&#xff1…...

Apache JMeter压力测试工具使用

JMeter是Apache组织开发的基于Java的压力测试工具&#xff0c;用于对软件做压力测试。 01 软件下载 下载地址: https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2 用浏览器下载发现慢得很&#xff0c;用迅雷下载非常快哟。 02 测试使用 在使用前需要先安装jd…...

前端零基础入门到上班:【Day4】HTML 多媒体与表单深度教程

HTML 多媒体与表单深度教程 **1. HTML 多媒体基础&#xff1a;深入理解 <video> 和 <audio> 标签****1.1 <video> 标签&#xff1a;详细剖析与用法****1.1.1 基础结构与属性详解****1.1.2 视频格式的兼容性与示例****1.1.3 视频控制的实际应用** **1.2 <a…...

原创作品——银行软件产品界面设计

蓝蓝设计团队服务金融类应用界面设计&#xff0c;以沉稳的色调和简洁的线条营造出专业可靠的氛围。特点在于融入了创新的元素增添界面的活力与现代感。细节处理上&#xff0c;注意数据的视觉呈现效果&#xff0c;采用定制化的图表和清晰的排版&#xff0c;确保用户能够快速理解…...

若依RuoYi-Vue 定时任务 速学

1.若依定时任务模块&#xff08;ruoyi-quartz&#xff09; 那么从一个简单的入门示例开始&#xff0c;掌握定时任务的使用吧&#xff01; 2. 入门示例&#xff08;学会制作一个简单定时任务&#xff09; 首先打开定时任务模块中的task包&#xff0c;这里已经有一个已经写好的R…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...