【Python】1. 背景知识

认识 Python

计算机基础概念

什么是计算机?

很多老一辈的人, 管下面这个叫做计算机. 然鹅, 它只是 “计算器”, 和计算机是有很大区别的.
现在我们所说的计算机, 不光能进行算术运算, 还能进行逻辑判断, 数据存储, 网络通信等等功能,。
以至于可以自动的完成非常复杂的工作.
在这里插入图片描述
以下这些都可以称为 “计算机” .
在这里插入图片描述
举例:使用电脑访问B站.
本地的计算机给B站的服务器发送一个网络请求.(谁,想看哪个视频)
B站的服务器收到这个请求之后,就会找到对应的视频数据,通过网络再发送回用户本地计算机.

总的来说, 一台计算机, 主要由以下这几个重要的组件构成
CPU
存储器 (内存, 硬盘等)
输入设备 (键盘, 鼠标等)
输出设备 (显示器, 音响等)
在这里插入图片描述
以上的组成结构, 称为 “冯诺依曼体系结构” . 冯诺依曼大佬, 正是计算机的祖师爷.

PSS: 有的同学可能说, 重要的硬件不是还有显卡嘛? 都老贵了!
其实显卡(GPU)是和 CPU 类似的计算芯片,
CPU 是 “通用计算芯片”, 可以处理各种场景下的各种问题. 就像高校培养的学生. 可以在各个行业各个领域贡献力量.
GPU 是 “专用计算芯片”, 特别擅长处理浮点数运算. 就像比特培养的学生, 专注于互联网软件技术.

内存外存(硬盘等)区别:
1.内存的存储空间较小,外存的存储空间较大.
2.内存的访问速度快,外存的访问速度慢.
3.内存比外存成本更高.
4.内存上的数据容易丢失(断电,数据就没了),外存上的数据能够持久化存储(断电数据也在)
相对于内存来说,存的更长久(一般机械硬盘存储数据的时间是几年到十几年)
**有的设备,既是输入设备,又是输出设备.**例如:触摸屏,网卡

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

什么是编程?

计算机需要硬件赋予之躯体, 也需要软件赋予之灵魂.
“软件” (或者叫做 程序), 指挥了计算机要按照什么样的规则来执行任务.
在这里插入图片描述
制作软件, 就是在明确这个软件要完成什么样的任务, 这个过程就称为 “编程” .

例如: 我的女神给我说, 让我去买三个包子, 如果遇到卖西瓜的就买一个.
这个交代任务的过程就是 “编程”. 只不过执行这个程序的是我, 不是计算机.
PS: 换个角度看, 人脑也能算术运算, 能逻辑判断, 能数据存储, 能输入输出… 也可以视为是一个广义的计算机.

编程本身, 并不是一件很容易的事情, 因此就衍生出了一个专门负责编程的职业, 也就是程序员.
在这里插入图片描述
程序员进行编程的过程中, 需要使用一个专门的方式和计算机沟通, 就是 “编程语言” .
使用编程语言编写软件的具体过程, 就称为 “软件开发”, 俗称 “敲代码”.

计算机是一个铁憨憨, 不能直接理解人类的语言.
像上面买包子的例子, 其实这句话对于计算机的理解来说, 是存在歧义的.

编程语言有哪些?

编程语言大体可以分成三个大类
机器语言
汇编语言
高级语言
其中机器语言和汇编语言都是更贴近计算机的, 人类理解起来并不容易.
因此目前程序员使用的编程语言主要是高级语言.
高级语言的种类有很多很多. 以下列出的都是实际开发中常用的编程语言
在这里插入图片描述

Python 背景知识

Python 是咋来的?

吉多·范罗苏姆(Guido van Rossum) 是一个荷兰程序员(人称龟叔, 名字前三个字母是 Gui),
在这里插入图片描述
龟叔在 1989 年圣诞节的时候(当时 33 岁), 因为在家里待着无聊, 为了打发时间, 开始了 Python 的开发.
第一个正式版本发布于 1991 年.
1991 年是一个神奇的年份.
Python, 万维网, Linux, Vim, Qt, 第一台笔记本电脑, 都诞生于 1991 年.

Python 都能干啥?

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

科学计算&数据分析
Web 开发(搭建网站)
自动化运维
人工智能
爬虫程序
自动化测试
在这里插入图片描述

Python 的优缺点

优点:
语法言简意赅, 容易上手.
功能强大, 用途广泛.
生态丰富, 具有海量的成熟第三方库.
方便调用 C/C++ 编写的代码进行 高性能/系统级操作.
缺点:
执行效率比较弱.
对于多核心并发程序支持偏弱.
动态类型系统对于大型项目不太友好.

Python 的前景(钱景)咋样?

虽然 Python 的应用场景很多, 但是纯粹使用 Python 的岗位是比较少见的.
以知名互联网招聘网站拉钩网为例, 设置工作地点为北京, 工作年限为3年以下,
搜索 Python 关键字得到的岗位个数为 88 个.
搜索 C 关键字得到的岗位个数为 159 个.
搜索 Java 关键字得到的岗位个数为 297 个.
上述数据只是简单采样, 并不能精确反应岗位的整体情况
在这里插入图片描述
更常见到的情况是, 把 Python 作为一个辅助性质的语言.

在工作中, Python 更像是一个工具, 需要用到的时候随手拿起来就用, 能够方便的解决不少问题.
这就像一局王者荣耀, 有人打的是 carry, 有人打的是辅助.
PS: 网上很多信息把 Python 往往吹的天花乱坠, 但是在我看来, 是有些过火了.
Python 和其他的编程语言本质上并没有啥区别. 并不存在某个场景是 “非得 Python 能做, 其他语
言做不了” 这样的情况.
编程语言只是工具, 作为一个程序猿, 要做到十八般兵器都能样样精通.

安装 Python+PyCharm

这里不进行过多赘述,在CSDN上有很多相关的博客,大家照瓢画葫即可。
这里讲点实用的基础设置

设置字体大小

PyCharm 默认的字体比较小, 看起来很费眼睛. 可以设置大一点.
选择 File -> Settings
在这里插入图片描述
在这里插入图片描述

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

设置背景图片

选择 File -> Settings
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
改完之后的背景如图所示

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

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

相关文章

代码随想录day10(2)字符串:反转字符串Ⅱ (leetcode541)

题目要求:给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前…

Zookeeper4:Java客户端、应用场景以及实现、第三方客户端curator工具包

文章目录 Java连接Zookeeper服务端依赖代码使用 应用场景统一命名服务统一配置管理统一集群管理服务器节点动态上下线理解实现模拟服务提供者【客户端代码】-注册服务模拟服务消费者【客户端代码】-获取服务信息进行请求消费 软负载均衡分布式锁理解实现 生产集群安装N台机器合…

Java中的Collection

Collection Collection 集合概述和使用 Collection集合概述 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现 创建Collection集合的对象 多态的方式 具体的实现类ArrayList C…

MATLAB环境下基于熵的声纳图像分割算法

声纳图像作为准确获取水下信息的重要途径之一,在国防、军事、工程等方面发挥着巨大作用。然而,由于水声信道的复杂多变和声波本身的传播损失,声纳图像往往呈现出分辨率和对比度不高、噪声干扰严重、目标轮廓模糊等特点。 声纳图像的分割指的…

FCIS 2023网络安全创新大会:洞察前沿技术,探索安全新境界(附大会核心PPT下载)

随着信息技术的飞速发展,网络安全问题日益凸显,成为全球关注的焦点。作为网络安全领域的重要盛会,FCIS 2023网络安全创新大会如期而至,汇聚了全球网络安全领域的顶尖专家、学者、企业家和政策制定者,共同探讨网络安全的…

ABAP - SALV教程10 添加可编辑checkbox列

几乎所有的功能报表都会有那么一个选择列,问了业务顾问,业务顾问说是用户不习惯使用报表原生的选择模式。效果图SALV的选择列是通过将列设置成checkbox_hotspot样式,注册单击事件完成勾选功能的。完成步骤 将SEL列设置成checkbox_hotspot样式…

【笔记】OpenHarmony和HarmonyOS区别及应用开发简介

一、概念 OpenHarmony(OH) : OpenAtom OpenHarmonyHarmonyOS(HO):开发 | 华为开发者联盟 (huawei.com) HO当前最高是3.1,在华为mate 60上面也是。关于4.0、5.0和next这类版本说法都是面向用户的,不是开发人员。对于程序员&#…

Springboot 项目读取yaml的配置文件信息给静态方法使用,以及通过配置 ResourceBundle 类读取config.properties

读取yaml 的配置文件 配置文件信息 iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQbj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_name: te.....ice 创建一个类 ProxyProperties 读取配置文件信息,并对外提供get方法 …

内存的检测与排查

内存🐎的检测与排查 文章目录 内存🐎的检测与排查查杀Java Web filter型内存马0x01 内存马简历史0x02 查杀思路0x03 内存马的识别0x04 内存马的查杀 查杀Java Web filter型内存马 0x01 内存马简历史 其实内存马由来已久,早在17年n1nty师傅的…

QT6 libModbus 用于ModbusTcp客户端读写服务端

虽然在以前的文章中多次描述过,那么本文使用开源库libModbus,可得到更好的性能,也可移植到各种平台。 性能:读1次和写1次约各用时2ms。 分别创建了读和写各1个连接指针,用于读100个寄存器和写100个寄存器,读写分离。 客户端&am…

物联网与智慧城市:科技驱动下的城市智能化升级之路

一、引言 随着科技的不断进步和城市化进程的加速,物联网与智慧城市的结合已经成为推动城市智能化升级的关键力量。物联网技术以其强大的连接和数据处理能力,为智慧城市的建设提供了无限可能。本文旨在探讨物联网如何助力智慧城市的构建,以及…

SLAM ORB-SLAM2(21)基础矩阵的计算和评分

SLAM ORB-SLAM2(21)基础矩阵的计算和评分 1. 前言2. 基础矩阵2.1. 对级约束2.2. 推导2.3. 计算原理 3. ComputeF214. CheckFundamental 1. 前言 在 《SLAM ORB-SLAM2(20)查找基础矩阵》 中了解到 查找基础矩阵主要过程&#xff1…

web基础03-JavaScript

目录 一、JavaScript基础 1.变量 2.输出 3.变量提升 4.区块 5.JavaScript数据类型 6.查看数值类型 7.undefined和null 8.布尔值 9.和的区别 10.算数/三元/比较/逻辑/赋值运算符 11.特殊字符 12.字符串 (1)获取字符串长度 (2&am…

备战蓝桥杯Day21 - 堆排序的内置模块+topk问题

一、内置模块 在python中,堆排序已经设置好了内置模块,不想自己写的话可以使用内置模块,真的很方便,但是堆排序算法的底层逻辑最好还是要了解并掌握一下的。 使用heapq模块的heapify()函数将列表转换为堆,然后使用he…

41、网络编程/TCP.UDP通信模型练习20240301

一、编写基于TCP的客户端实现以下功能: 通过键盘按键控制机械臂:w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂 1.基于TCP服务器的机械臂…

Python3零基础教程之数学运算专题进阶

大家好,我是千与编程,今天已经进入我们Python3的零基础教程的第十节之数学运算专题进阶。上一次的数学运算中我们介绍了简单的基础四则运算,加减乘除运算。当涉及到数学运算的 Python 3 刷题使用时,进阶课程包含了许多重要的概念和技巧。下面是一个简单的教程,涵盖了一些常…

勒索软件类型

勒索软件类型 加密勒索软件 它使个人文件和文件夹(文档、电子表格、图片和视频)被加密。受感染的文件被加密后会被删除,用户通常会在当下无法使用的文件的文件夹中看到一个包含付款说明的文本文件。当您尝试打开其中一个加密文件时,您才可能…

Tomcat负载均衡、动静分离

目录 引言 实验图解 1.实验环境搭建 2.部署Nginx服务器及配置静态页面Web服务 3.部署Tomcat服务及配置动态页面Web服务 4.实验验收 动态页面 静态页面 引言 tomcat服务既可以处理动态页面,也可以处理静态页面;但其处理静态页面的速度远远不如…

js优雅的统计字符串字符出现次数

题目如下 统计一串字符串中每个字符出现的频率 示例字符串 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfd小白写法 let str asdfasqwerqwrdfafafasdfopasdfopckpasdfassfdlet result {}; for (let i 0; i < str.length; i) {if (result[str[i]]) {result[str[…

链表基础知识详解(非常详细简单易懂)

概述&#xff1a; 链表作为 C 语言中一种基础的数据结构&#xff0c;在平时写程序的时候用的并不多&#xff0c;但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛&#xff0c;所以必须要搞懂链表&#xff0c;链表分为单向链表和双向链表&#xff0c;单向链表很…