Python基础知识学习成长篇

第一章 Python的基本知识


前言

最近几年,Python的发展势头越来越厉害。在2021年6月份的TIOBE编程语言排行榜单中,Python一跃成为第2名,且与第1名C语言的差距正在逐渐缩小,已经从上个月的1.51%缩小到了本月的0.7%。对此,TIOBE官方预测Python即将成为TIOBE榜首。在过去的20年,只有两种语言达到过TIOBE榜单第一的位置,分别是C和Java。因此,在这种高速发展的趋势下,或许在不久的将来Python将超越C语言成为榜单的第一名。
本篇内容希望能为初学者对Python有一个初步的认识,主要介绍了Python的概况、环境的搭建方法、Python的语法基础以及简单的数据结构。

一、对Python的基本认识

1.1 Python 的简介

每一种编程语言的诞生都离不开编程大神的探索,Python语言是由一位荷兰的计算机程序员Guido van Rossum(吉多·范罗苏姆)开发出来的,也就是Python之父。1989年圣诞节期间,身处阿姆斯特丹的Guido为了打发无聊的假期时间,决定开发一个新的脚本解释程序,来替代ABC语言。当时Guido正在荷兰的CWI(数学与计算机科学研究中心)参与ABC语言的开发,这个语言存在一些致命的缺陷(可扩展性差、无法直接读写文件等)使它没有流行起来。后来在开发Python的过程中都会极力避免这些问题。

1.2 Python 的发展历程

时至今日,Python已经发布了多个版本,下面是几个重要的发展节点。

  • 1989年出现Python雏形
  • 1991年2月,Python代码对外公布
  • 1994年1月,Python 1.0正式发布
  • 2000年10月,Python 2.0发布(2020年4月更新到2.7.18)
  • 2008年12月,Python 3.0发布(2021年6月更新到3.9.5)

1.3 Python 的优势

与其他编程语言相比,Python有很多优点,这也是为什么近年来Python越来越受欢迎的主要原因:

  • 便于程序的开发,Python中有非常丰富的第三方库可供使用,这些库为开发者们提供了大量的基础功能。在程序的开发过程中,避免了大量的代码编写工作,提高了开发效率。
  • 简单易学,Python语法优美,代码简洁易懂。对于初学者来说,在没有任何基础的情况下可以快速入门学习。对于程序开发者来说,他们可以把主要精力放在算法实现等其他事情上。
  • 完善的语言生态环境,Python语言在大数据、人工智能、嵌入式等领域的成功开发案例很多,因此使用Python实现的项目具有很大的优势等等。

Python在科学运算、数据分析、网站开发、爬虫开发、云计算、自动化运维、自动化测试等领域优势明显。

1.4 Python 2和Python 3 的区别

由于现在Python 2已结停止版本更新了(Python 2到2.7.18为止),我们一般都是学习最新版本的技术,所以我们一般使用Python 3来进行学习。从版本号看,Python 3.X高于Python 2.X。Python 3.0发布于2008年,Python 2.X的最后一个版本Python 2.7发布于2010年,在2020年官方已经结束了Python 2的技术支持和维护。这两种版本之间存在兼容性问题,由于Python 3解决了Python 2中的一些疑难杂症,所以Python 3不能完全兼容使用Python 2编写的程序,所以Python中也是存在版本兼容性的割裂问题。

在Python 2和Python 3这两种版本下又分成了很多具体的版本,如图所示。比如Python 2.7.18和Python3.9.5。从中我们可以看出,Python的软件版本号分为3个部分,以A.B.C的形式表示。

  • A表示大版本号。当软件整体重写或出现向后不兼容的改变时,会增加A值。比如Python2和Python3不兼容,后续发布的版本就从Python 2.X.X变成了Python3.X.X的形式。当A为0时,表示该软件尚在开发阶段。
  • B表示功能更新。当软件开发出新的功能时,会增加B值。
  • C表示小幅度的改动。比如修复Bug,只要软件有修改的部分就增加C值。本书采用Python 3版本对Python的内容进行讲解。

1.5 Python的应用领域

Web开发
由于Python是一种解释型的脚本语言,非常适合用于Web开发。Python中有非常丰富的Web开发框架和模板,使用Python开发Web应用,不仅开发效率高,还能提升运行速度。Python中常用的Web框架有Django、Flask、Tornado等。许多知名的企业也将Python作为主要的开发语言,比如Google、YouTube、Facebook、知乎等。

网络爬虫
网络爬虫是Python中常用的一个方向。早期Google大量地使用了Python语言作为网络爬虫的基础,推动了Python语言的应用发展。现在使用Python收集网络上的信息比之前简单很多。比如爬取网易云音乐中某种风格的歌曲评论,从各大购物网站中爬取商品折扣信息,爬取豆瓣电影网站中评分较高的电影信息等。几乎每个人在学习网络爬虫之后都可以通过爬虫技能实现一些新鲜又有趣的事情。

数据分析
Python中有非常成熟的模块可以实现数据分析方面的功能。大数据分析中涉及了分布式计算、数据可视化、数据库操作等,这些都可以通过Python完备
的生态环境来实现。对于数据科学家和数据工程师来说,无疑是非常便利的。

人工智能
目前人工智能是非常热门的一个发展方向,这也让Python语言得到了很大的发展,在未来充满了无限的潜力。Python中有很多库可以帮助实现人工智能技术,比如实现数值计算的numpy和scipy,实现机器学习的sklearn,实现神经网络的pybrain等。

自动化运维
对于服务器运维而言,Python中提供了全方位的工具包。目前几乎所有的Linux发行版中都自带了Python解释器,使用Python脚本可以进行批量化的文件部署、自动化性能测试的执行等。在这些工具的基础上结合Web应用,开发便于运维的工具也会变得很简单。

二、在不同的操作系统中搭建Python开发环境

1.1 在Linux系统中安装Python

Linux有很多发行版,这里以CentOS 7为例介绍在Linux中安装Python的方法。启动CentOS7,在终端分别执行下列命令安装Python 3。
命令如下(示例):

yum install epel-release
yum update
yum install Python34

安装完成后,在终端中输入python3命令,按Enter键。注意,这里python和数字3之间没有空格,且p是小写。下图是成功在Linux系统中安装Python3。

1.2 在windows系统中安装Python

Python官网网址:https://www.python.org (进入官网你可能发现加载好慢,这是由于它是国外网址,可以稍微一点点慢)

Python就不具体详细写了,基本上是点击下一步就好了,但是我这里要说的是Python有一个常用的安装第三方库的工具——pip,就会安装库但是它比较那个,就是在安装Python的时候如果没有正确的勾选相应的选项,就会比较麻烦。

注:就是最下面的选项一点要勾选,要不cmd里面用不了。安装的时候没有勾选,那么…两种方法:一种卸了重装,另一种是添加环境变量。

1.3 Python的运行

在Python的交互模式中输入print(“Hello World”),按Enter键,屏幕上会显示Hello
World字样,如图1-24所示。这表示我们已经成功运行了一个Python程序。这种交互模式适合学习Python基础语法或者运行一个简单的程序。退出交互模式可以在中输入exit()函数,按Enter键即可。

1.4 Python学习小技巧

Python的官方网站上也提供了很多帮助文档供读者查阅,大家可以在浏览器中输入https://docs.python.org/3/网址阅读相关信息,如下图:

最后这里列出了部分技术社区,大家可以在学习过程中多多了解和参与到其他技术:

  1. 社区的交流中。 CSDN:中国专业的IT社区(https://www.csdn.net/),也是全球知名的中文IT技术交流平台。
  2. 开源中国社区:目前国内最大的开源技术社区(https://www.oschina.net/)
  3. GitHub:是世界上最大的代码托管平台(https://www.github.com),大家可以参与各种开源项目的编写。
  4. Python Forum:是一个专门讨论Python的论坛(https://python-forum.io/)

三、常用的Python 开发工具

Python的开发工具有很多,除了官方自带的IDLE以外,还有很多好用的工具,包括IDE和文本编辑器。初学者可能对IDE和文本编辑器的区别还不太清楚,下面总结了两者之间的区别。

  • 文本编辑器:一般情况下只能编写代码,不能调试代码,比如Atom等。但是有的编辑器也可以通过安装插件的方式达到IDE提供的大部分功能,比如Sublime
    Text、Microsoft Visual Studio Code。
  • IDE(集成开发环境):用于提供程序开发环境的应用程序。不仅可以编写代码还可以运行和调试代码,比如PyCharm。
作者:小劉 同学原文地址:https://blog.csdn.net/weixin_50785759/article/details/126987773

%s 个评论

要回复文章请先登录注册