Python——第一章:语言介绍
随着Python的语言在世界受欢迎程度持续高涨,如今也成功夺得了第一的宝座。
在计算机领域,没有谁(诺基亚、微软、苹果、亚马逊等等)能永远稳坐第一,随着时间更迭,就会推陈出新,一定会有更好的、更先进的语言、系统、算法出现。在IT界,这种现象会一直周而复始的存在。
世界上的编程语⾔言有600多种,但真正大家主流在使⽤用的最多二、三十种,不同的语言有自己的特点和擅长领域,随着计算机的不断发展,新语言在不断诞生,也同时有很多老旧的语言慢慢无人用了。有个权威的语言排名网站,可以看到主流的编程语言都有哪些。
编程语言排名网站:
http://www.tiobe.com/tiobe-index
https://hellogithub.com/report/tiobe
不同语言的优势也完全不同,不同的场景需要选择不同的语言:
比如:
- C语言具有高效性和灵活性,许多操作系统的内核是使用C语言编写的,包括Unix、Linux和Windows的部分组件。还有大型游戏,在嵌入式图形和游戏开发中也得到广泛应用。
- Java语音适合大型的工业软件开发,ERP这类产品和大型网站等——如淘宝。Java是Android平台上主要的编程语言。通过使用Java和Android开发工具包(Android SDK),您可以创建功能强大且兼容性广泛的Android应用程序。
- 甚至有的是定向功能的语言。比如R语言主做数据分析,Rust语言是专门为电梯设计开发的语言。
Python语言在软件开发领域中具有许多优点,特别是在以下方面:(摘自ChatGPT的解释)
简洁而易读的语法:Python拥有简洁、直观的语法,使得代码易于编写和阅读。它采用明确的语法结构和简洁的代码风格,使开发者能够更加专注于解决问题,而不是纠结于语法细节。
强大的标准库和第三方库:Python拥有广泛且强大的标准库,覆盖了各种领域,包括文件处理、网络通信、数据处理、图形界面等。此外,Python还拥有丰富的第三方库和框架,例如NumPy、Pandas、Django等,可帮助开发人员快速构建各种应用。
跨平台性:Python是一种跨平台的语言,可以在多个操作系统上运行,包括Windows、Linux、Mac等。这意味着开发的Python代码可以在不同平台上无需修改即可运行,提高了开发效率和可移植性。
快速开发和迭代:由于Python的语法简洁,以及丰富的库和工具支持,使用Python进行软件开发通常比其他语言更快速。开发人员可以迅速构建原型、实现功能并进行迭代,从而加快产品开发周期。
大型社区支持:Python拥有庞大的开源社区,有许多开发者和贡献者积极参与,共享代码、解决问题并提供支持。这意味着开发人员可以从社区中获得大量的资源、教程和解决方案,并且能够与其他开发者交流和合作。
数据科学和机器学习支持:Python在数据科学和机器学习领域非常流行。它拥有许多强大的库和工具,如NumPy、Pandas、SciPy、scikit-learn和TensorFlow,使得数据分析、机器学习和人工智能的开发变得更加便捷。
总之,Python语言以其简洁、易读、跨平台、快速开发和强大的库支持等优点,成为了许多开发者的首选语言。无论是构建Web应用、数据分析、科学计算还是人工智能,Python都提供了丰富的工具和生态系统,使得开发变得更加高效和愉快。
Python能做到业内领先具有如下几点重点优势:
1、开发效率第一(优势)
模块库很丰富,想用什么就有什么工具直接供你选用。
2、学习曲线第一(优势)
Python是最适合小白上手的语言,学习曲线由简入深,由易到难。
C语言是属于最难的语言,像指针、链表等,属于很难上手的语言
3、生态圈第一(优势)
Python自1989年诞生已30余年,在IT技术的各个领域的生态圈都发展的比较庞大,人工智能、数据分析、爬虫等功能都是以Python为首选开发语言,其他领域如游戏开发、Web开发,Python也比较强。软件开发、自动化开发、后端开发、图形化开发、科学运算等领域,也都全面开花,Python称为编程界的瑞士军刀(多功能较强)
对比去看PHP语言的没落,也是由于PHP几乎只能做网站,因此局限性相当大(虽然PHP也可以做爬虫、数据分析但是PHP本身并不擅长这些)
4、运行速度一般(弱势)
Python是一门动态的解释形语言,在执行过程中始终需要一个翻译(解释器),去翻译Python中各种代码,而再去命令底层硬件参与运算。因此他的运行速度并不快。
对比去看C语言(被称为最快的编程语言),C语言是直接与CPU、内存去沟通的,直接操作最底层硬件,他的运行速率肯定是更快,这也是C语言需要学习控制内存指针等困难的点。
C语言的运行速率大概是Python的10倍,但这些在Python的绝大多数脚本中,用户基本上算是感受不到的,这个就好比手机60Hz刷新和120Hz刷新率的区别。但是体系庞大的系统,还是能够体验出区别的,比如大型搜索引擎、大型网站,都会往C语言靠的。
Python主要应用领域
WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是:一个为完全主义者开发的高效率web框架)
网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单。
爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬什么爬什么。
云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算。
人工智能、数据分析—— Python 是目前公认的人工智能和数据分析领域的必备语⾔
自动化运维——问问你认识的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python(运维人员标配)。知名的运维工具Ansible\Saltstack都是Python写的。
金融分析——我个人在金融行业,2010年的时候,我们公司写的好多分析程序、高频交易易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语⾔。(C++也可以,难一些)
科学运算—— 97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy,SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛。
游戏开发——在网络游戏开发中Python也有很多应用。比如知名的游戏<文明>、网易易公司的《大话西游》 就是用Python写的
扩展:
为什么C语言的运行速度比Python快,大型搜索引擎大都会选择C语言开发而不是Python?(来自ChatGPT的解释)
C语言的运行速度比Python快主要是因为它是一种编译型语言,而Python是一种解释型语言。这两种语言的执行方式有所不同,导致了它们的性能差异。
编译型 vs. 解释型:C语言是编译型语言,它的代码在运行之前需要经过编译器的处理,将源代码转换成机器码,然后才能在计算机上执行。这个编译过程将代码转换为底层的二进制指令,因此执行速度非常快。Python则是解释型语言,它的代码在运行时由解释器逐行解释并执行。这个解释过程会导致Python的执行速度相对较慢。
静态类型 vs. 动态类型:C语言是一种静态类型语言,意味着在编译时需要指定变量的数据类型。这使得编译器能够进行更多的优化,并在执行时更快地处理数据。Python是一种动态类型语言,变量的数据类型是在运行时确定的,这导致了一些额外的运行时开销。
内存管理:C语言对内存管理具有更多的控制权,开发人员可以手动管理内存的分配和释放,这使得内存使用更加高效。Python使用自动内存管理(垃圾回收机制),这在一定程度上会带来一些性能开销。
虽然C语言在性能方面优于Python,但Python在其他方面具有优势,例如代码的可读性和开发速度。Python代码通常比C语言代码更易于理解和编写,这有助于提高开发人员的生产力。对于一些应用,性能可能不是首要考虑因素,而开发效率和可维护性更为重要。
至于大型搜索引擎为什么会选择C语言开发而不是Python,原因可能是为了追求更高的性能和效率。搜索引擎需要处理大量的数据和请求,对性能的要求非常高,使用C语言可以更好地满足这些要求。同时,大型搜索引擎可能会采用多种语言和技术的组合,针对不同的任务选择最适合的工具,以实现最佳的性能和可扩展性。
安装 - 稳定版(Stable Release)、不要安装 - 预发布版本(Pre-release)
这里还是建议3.9.12或3.9.13版本,因为版本老嘛(一年前发布的),所以第三方插件、版本支持较多。
下载后安装时谨记,勾选Add Python 3.9 to PATH(安装3.9到全局环境变量中)
选择自定义安装到指定路径,因为默认路径一层层太蛋疼了,而且后期不好找
Optional Fearures界面什么都不要刻意勾选,这里会自动勾选机器需要的,如果你的跟我的不一样,也不要改,就默认继续Next
这里谨记2点
1、勾选Install for all users
2、手写路径,这里可以手写,建议到C:\Python39
Install
安装完成,直接点Close
环境变量:
找到用户变量Path,
把Path中的WindowsApps(应用商店),修改为WindowsApps_bak
找到下面的系统变量,查看Path
这里就是刚刚选择“Install for all users”帮你自动添加的,此处把Python39和Scripts的路径都加入进来了
如果你没有勾选,就手动添加,并且上移置顶,参考上一图
这样你在任意用户、任意目录路径,都可以直接运行调用Python命令了(全局环境变量概念)
执行python
比如CMD中输入
python
print("hello world")
回显
hello world
如果你要执行py程序,你可以使用命令python+空格+路径python C:\Users\Sylar\Desktop\hello.py
或者你直接python+空格+鼠标拖拽近这个窗口,机器会自动帮你添加路径信息
Python——第一章:语言介绍的更多相关文章
- 简学Python第一章__进入PY的世界
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- 《Getting Started with WebRTC》第一章 WebRTC介绍
<Getting Started with WebRTC>第一章 WebRTC介绍 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解: . 什么 ...
- Mariadb第一章:介绍及安装--小白博客
mariadb(第一章) 数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- python第一章:简介与安装--小白博客
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- 学习python 第一章
目录 第一章... 1 1:新建项目... 1 2:修改默认模板... 3 3:什么是变量... 3 4:重指向... 3 5:常量的表示... 4 6:格式化输出(三种方法)... 4 7:打印一个 ...
- python入门课程 第一章 课程介绍
1-1 Python入门课程介绍特点: 优雅.明确.简单适合领域: web网站和各种网络服务 系统工具和脚本 作为"胶水"语言把其他语言开发的模块包装起来方 ...
- python第一章练习题
本章总节 练习题 1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释 编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可. 优点:程序执行不 ...
随机推荐
- Codechef - Maximize Colours(IQ)
题目大意 有红绿蓝三种颜色,三种颜色当中任意两个颜色混合都可以产生出一个新的颜色(然而混合产生的颜色不能与任何其它的颜色进行混合).输入三个整数,分别代表红色,绿色,蓝色的颜色个数(每次混合各消耗 ...
- SpringBoot整合XXLJob
目录 XXLJob简介 特性 模块 安装调度中心 初始化数据库 配置 启动 整合执行器 pom yml XxlJobConfig 启动执行器 实践 简单的定时任务 在执行器创建任务 在调度中心创建执行 ...
- 一次考试的简单T3
我的第一个想法其实是毫无头绪 根本就想不到dp,直接就写了爆搜后来讲了才知道... 这种dp的状态好像是一类dp的模型,他们的状态都有这样的一维:以第i个数结尾.这样的dp有什么样的标志呢?以第i个数 ...
- Zuul 2.1.5 设计分析
前言 https://github.com/Netflix/zuul zuul 是 SpringCloud 家族老兵,使用 Java 微服务大部分都在使用 zuul 作为网关.既然他如此重要,那么我们 ...
- HDU1702 ACboy needs your help again! 题解
#include <iostream> #include <string> #include <queue> #include <stack> usin ...
- 从零用VitePress搭建博客教程(7) -– 如何用Github Actions自动化部署到Github Pages?
接上一节:从零用VitePress搭建博客教程(6) -– 第三方组件库的使用和VitePress搭建组件库文档 我们搭建完成vitePress后,那么接下来就是如何部署到线上服务器,这里使用Gith ...
- 如何借助python第三方库存取不同应用程序的用户名、密码
在之前的一系列文章中,小爬分享了很多用Pywin32.uiAutomation.sap Gui Script等技术实现应用程序或者Web网站(如SAP.Excel.outLook邮件系统.OA系统)的 ...
- 洛谷P3392 涂国旗(暴力枚举)
# 涂国旗 ## 题目描述 某国法律规定,只要一个由 $N \times M$ 个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏--) - 从最上方若干行(至少一行)的格子全部是白色的: ...
- 殷浩详解DD系列
第五讲:https://blog.csdn.net/Taobaojishu/article/details/115911833 内部有1-4讲链接
- 字符串匹配算法:KMP
Knuth–Morris–Pratt(KMP)是由三位数学家克努斯.莫里斯.普拉特同时发现,所有人们用三个人的名字来称呼这种算法,KMP是一种改进的字符串匹配算法,它的核心是利用匹配失败后的信息,尽量 ...