Python从入门到精通:认识Python

文章目录
    • 一、编程语言
      • 1.1 编程语言发展
      • 1.2 编程语言分类
        • 1.2.1 机器语言
        • 1.2.2 汇编语言
        • 1.2.3 高级编程语言
          • 面向对象/面向过程
          • 静态语言/动态语言
          • 强类型语言/弱类型语言
          • 编译型/解释型
    • 二、Python
      • 2.1 Python发展
      • 2.2 Python解释器
        • 2.2.1 CPython
        • 2.2.2 Jython
      • 2.3 Python环境安装
  • 零基础Python学习资源介绍
    • 👉Python学习路线汇总👈
    • 👉Python必备开发工具👈
    • 👉Python学习视频600合集👈
    • 👉实战案例👈
    • 👉100道Python练习题👈
    • 👉面试刷题👈
  • 资料领取

一、编程语言

编程语言是一种用于编写计算机程序的形式化语言,它由一组规则和符号组成,用于定义计算机程序的结构和行为。编程语言允许程序员以特定的方式来描述计算机程序的逻辑和操作,以便计算机能够理解和执行这些指令。

1.1 编程语言发展

编程语言的发展是一个长期的、不断演进的过程,涉及到技术、需求、社会和经济等多方面的因素。

  • 机器语言和汇编语言时代(1940s-1950s): 最早的计算机程序是用机器语言编写的,直接操作二进制指令。随着汇编语言的出现,程序员可以使用更容易理解的符号来表示机器指令。

  • 高级编程语言的兴起(1950s-1960s): 高级编程语言的出现使得程序更易读、易写,并提高了程序员的生产力。Fortran、COBOL 和 Lisp等语言在这一时期应运而生。

  • 结构化编程和面向对象编程(1960s-1980s): 结构化编程理念提倡使用模块化和清晰的结构来组织代码,使得代码更易维护。同时,面向对象编程(OOP)引入了类和对象的概念,提供了一种更抽象和灵活的编程方式。C、C++ 和 Smalltalk 是这个时期的代表性语言。

  • 面向对象语言的普及和互联网时代(1990s-2000s): Java 和 C#等面向对象语言的普及推动了企业级应用的开发。随着互联网的兴起,脚本语言如JavaScript变得重要,用于在浏览器中实现动态交互。

  • 多范式语言和函数式编程(2000s-至今): 现代编程语言越来越支持多种编程范式,如函数式编程、并发编程等。Python、Ruby、Scala、Kotlin等语言在这方面取得了很大的成功。

  • 开源和社区驱动发展(2000s-至今): 许多编程语言开始转向开源模型,允许全球开发者参与共同的语言发展和改进。这种模式加速了语言的演进,使得社区的反馈和贡献成为推动语言发展的重要力量。

  • 人工智能和数据科学(2010s-至今): Python由于其简洁、易学以及在数据科学和人工智能领域的广泛应用而变得异常流行。同时,新兴的语言如Rust、Go、Swift等也在特定领域崭露头角。

  • 领域特定语言(DSL)(2010s-至今): 随着需求的多样化,越来越多的领域特定语言(DSL)被开发,用于解决特定领域的问题。这种语言通常专注于某一特定任务或领域,提供更高层次的抽象。

1.2 编程语言分类

在这里我们聊一下机器语言、汇编语言、高级编程语言的分类以及它们之间的优缺点。

1.2.1 机器语言

在这里插入图片描述

机器语言是一种计算机可以直接执行的语言,它是由二进制代码组成的,用来指示计算机执行特定的操作。在计算机内部,所有的操作都是以机器语言的形式进行的。每条机器语言指令都对应着计算机内部的一项操作,比如加法、减法、加载数据等。

机器语言是计算机能够理解和执行的最基本的语言形式,也是其他高级语言的底层基础。在机器语言中,指令通常由操作码(Opcode)和操作数(Operand)组成。操作码指示要执行的操作,而操作数则是操作码所需的数据或者操作的地址。

由于机器语言是以二进制形式表示的,因此它对人类来说非常难以理解和编写。为了简化程序员的工作,发展出了高级语言,它们使用更加人类友好的语法和结构,并且经过编译或解释成机器语言,以便计算机能够执行。

1.2.2 汇编语言

QQ截图20240305113728.png

汇编语言是一种低级别的计算机编程语言,它使用助记符(Mnemonics)来代表计算机的指令集。与机器语言相比,汇编语言更接近人类可读的形式,但仍然直接映射到机器语言的指令。汇编语言的每条指令都对应着一条机器语言指令,因此它也是一种直接操作计算机硬件的语言。

编写汇编语言程序通常需要对计算机硬件和指令集有一定的了解,因为它直接操作底层硬件。汇编语言程序经过汇编器(Assembler)编译成机器语言,然后可以在计算机上执行。

1.2.3 高级编程语言

在这里插入图片描述

高级编程语言是一种计算机编程语言,它使用更加人类友好的语法和结构来编写程序。高级编程语言与底层的机器语言和汇编语言相比,更加抽象,能够隐藏底层硬件细节,并且更易于理解和编写。

一些常见的高级编程语言包括C、C++、Java、Python、Ruby、C#等。每种高级编程语言都有其特定的语法和语义规则,适用于不同的应用场景和需求。这么多高级编程语言,我们可以使用一些分类标准用于区分。

面向对象/面向过程

在面向对象编程中对象是基本概念,它包含数据(属性)和方法(操作数据的函数)。

在面向过程编程中以过程为中心,程序被视为一系列执行的步骤或函数。

它们的区分如下所示:

  • 抽象层次: 面向对象更强调数据和操作的封装,以对象为中心;而面向过程更关注解决问题的步骤,以过程为中心。
  • 代码重用: 面向对象通过继承和多态提供更好的代码重用机制,而面向过程通常需要显式地复制粘贴代码。
  • 可扩展性: 面向对象更易于扩展,通过添加新的类和对象来增加功能;而面向过程可能需要修改现有的代码。
  • 复杂性: 面向对象的代码通常更抽象,可能更复杂,但对于大型项目和长期维护来说更有优势。 注意:选择面向对象或面向过程编程通常取决于项目的需求、规模和开发者的经验及个人偏好。在实际应用中,很多编程语言允许同时使用这两种编程风格。

注意:这里只是简单区分面向过程和面向对象,后续教程会详细讲解。\color{red} {注意:这里只是简单区分面向过程和面向对象,后续教程会详细讲解。} 注意:这里只是简单区分面向过程和面向对象,后续教程会详细讲解。

静态语言/动态语言

静态语言和动态语言是两种不同类型的编程语言,它们在编程语言的类型检查和执行时机上有所不同:

在这里插入图片描述
静态语言在编译时检查类型,更加严格和高效,但编写起来可能相对繁琐;而动态语言在运行时检查类型,更加灵活和简洁,但可能牺牲一些性能。

强类型语言/弱类型语言

强类型语言和弱类型语言是两种不同的类型系统,它们在变量和表达式的类型处理上有所不同。

在这里插入图片描述

补充:这里来说明一下显示转换和隐式转换的区别,例如现在我需要将某个对象给转换\color{blue}{补充:这里来说明一下显示转换和隐式转换的区别,例如现在我需要将某个对象给转换}补充:这里来说明一下显示转换和隐式转换的区别,例如现在我需要将某个对象给转换 为String那么我们可以这么做:Stringstr1=(String)object2,这便是显式转换,;a=\color{blue}{为String那么我们可以这么做:String str1 = (String) object2,这便是显式转换,;a =}为String那么我们可以这么做:Stringstr1=(String)object2,这便是显式转换,;a= 10+10.23,10原本是整形而10.23是符点数,那么它们在相加时会自动转换类型无需我\color{blue}{ 10 + 10.23,10原本是整形而10.23是符点数,那么它们在相加时会自动转换类型无需我}10+10.23,10原本是整形而10.23是符点数,那么它们在相加时会自动转换类型无需我 们人为操作。\color{blue}{们人为操作。}们人为操作。

编译型/解释型

编译型语言和解释型语言是两种不同的编程语言执行方式。它们在代码执行过程中的实现方式和执行效率上有所不同。
在这里插入图片描述

编程语言的分类标准还有很多,这里就不过多叙述。

二、Python

在这里插入图片描述

Python是一门面向对象的高级编程语言,它具有如下所示的特点:

  • 简洁易读: Python 的语法设计简洁明了,采用了清晰的代码结构和缩进风格,使得代码易于阅读和理解。这种简洁性有助于提高代码的可维护性和可读性。

  • 动态类型: Python 是一种动态类型语言,变量的类型在运行时确定,而不是在编译时。这种灵活性使得 Python 代码编写更为简单,并且具有更高的表达力。

  • 面向对象: Python 支持面向对象编程范式,包括类、继承、封装和多态等概念。这使得 Python 可以更好地组织和管理复杂的代码结构,并且提供了更高的代码重用性和可维护性。

  • 解释型语言: Python 是解释型语言,代码在运行时逐行解释执行,而不是事先编译成机器码。这种特性使得 Python 具有更快的开发和测试周期,同时也提供了更大的灵活性。

  • 跨平台性: Python 可以在多个平台上运行,包括 Windows、Linux、macOS 等。这种跨平台性使得开发人员可以轻松地在不同操作系统上部署他们的代码。

  • 丰富的标准库: Python 内置了丰富的标准库,包含了大量的模块和功能,用于处理各种任务,例如文件操作、网络通信、数据处理等。这些标准库使得开发人员能够更轻松地解决问题,提高生产力。

  • 可扩展性: Python 具有良好的扩展性,允许开发人员编写自己的模块和库,并且可以轻松地与其他语言进行集成,例如 C/C++、Java 等。

  • 大型社区支持: Python 拥有庞大的社区支持,有着活跃的开发者社区和丰富的资源,包括文档、库、框架等。这种社区支持使得开发人员能够更轻松地分享经验、解决问题,并且加速了 Python 生态系统的发展。

补充:Python的官网地址是WelcometoPython.org。\color{blue}{补充:Python的官网地址是Welcome to Python.org 。}补充:Python的官网地址是WelcometoPython.org。

2.1 Python发展
  • 创始阶段(1980s - 1989): Guido van Rossum 在阿姆斯特丹 CWI(荷兰计算机科学研究中心)工作时开始了 Python 的发展。最初的灵感来自于 ABC 语言,Python 早期版本的目标是创建一种简单、易读且功能强大的编程语言。

Python的故事:

在这里插入图片描述

Python 的发明故事始于 1980 年代末和 1990 年代初,由荷兰程序员 Guido van Rossum 在阿姆斯特丹 CWI(荷兰计算机科学研究中心)工作时开发。

故事可以追溯到 Guido van Rossum 的工作需要以及对现有编程语言的不满所产生的灵感。在编写代码的过程中,Guido van Rossum发现了使用 ABC(一种教学语言)的愉快经验,ABC 语言是一种简单易学的语言,适合教学和快速原型开发,但它的实用性受到了限制。于是,他决定设计一种新的编程语言,既保留 ABC 语言的易学性,又具有更广泛的应用性。

在 1989 年圣诞期间,Guido van Rossum开始着手设计 Python。他的设计理念包括:优雅、明确、简单,同时还要有强大的功能。他希望 Python 具有良好的可读性,使得程序员可以更加轻松地编写和理解代码。

Python 的名字来源于 Guido van Rossum 非常喜爱的电视剧《蒙蒂·派森的飞行马戏团》(Monty Python’s Flying Circus)。在选择名字时,他想要一个独特且有趣的名字,于是便将其命名为 Python,这也表明了他对编程语言设计的幽默和非传统的态度。

  • 1991 年,Python 的第一个版本(0.9.0)正式发布,这标志着 Python 的诞生。随着时间的推移,Python 不断发展壮大,成为一种广泛应用的编程语言,在软件开发、科学计算、数据分析、人工智能等领域都有着重要的地位。

  • Python 0.9.0(1991): 第一个公开发布的 Python 版本是 0.9.0,发布于 1991 年的 2 月。这个版本包含了诸如类、异常处理、函数和模块等基本特性。

  • Python 1.0(1994): Python 1.0 版本于 1994 年发布,添加了对模块化编程的支持,并引入了列表推导式等新特性。

  • Python 2.x系列(2000 - 2008): Python 2.x 系列是 Python 的主要版本分支,于 2000 年发布。Python 2.0 引入了垃圾回收器和 Unicode 支持等新特性。2.x 系列在 2008 年发布的 2.6 版本是最后一个 2.x 系列的主要版本。

  • Python 3.x系列(2008至今): Python 3.x 系列于 2008 年发布,旨在解决 Python 2.x 系列中的一些设计缺陷和不一致性。Python 3.0 引入了一系列不兼容的语言变化,以提高语言的一致性和简洁性。然而,这也导致了一些项目仍然停留在 Python 2.x 系列,因为代码不兼容。

  • 社区和生态系统的发展: 随着时间的推移,Python 社区不断壮大,形成了一个活跃的开发者社区和丰富的资源生态系统。许多第三方库、框架和工具的出现,进一步推动了 Python 的发展和应用范围的扩大。

  • Python 的应用领域扩展: Python 的灵活性和易用性使其在各个领域都有广泛的应用,包括 Web 开发、数据科学、人工智能、机器学习、科学计算、自动化脚本等。

  • Python 的持续发展和更新: Python 的发展并未止步于 3.x 系列的发布,持续有新的版本发布以改进和增强语言特性,同时保持对旧版本的支持和维护。

2.2 Python解释器

通过上述我们知道Python是一门解释型语言,它的代码执行需要依靠解释器。Python解释负责将我们所写的 Python 源代码翻译成计算机可以理解和执行的机器代码。Python 有多个解释器,其中两个主要的是 CPython 和 Jython。

2.2.1 CPython

CPython 是官方的、默认的 Python 解释器,由 Guido van Rossum 编写并维护。 它是使用 C 语言开发的,因此被称为 CPython。 CPython 通过将 Python 代码翻译成字节码,然后通过 Python 虚拟机执行这些字节码。 大多数 Python 应用和库都是为 CPython 编写的,因此它是最广泛使用的 Python 解释器。

2.2.2 Jython

Jython 是一个在 Java 平台上运行的 Python 解释器。 它允许 Python 代码和 Java 代码互操作,可以直接调用 Java 类和使用 Java 库。 Jython 也会将 Python 代码编译成 Java 字节码并在 Java 虚拟机上执行。 当然除了上述两种解释器以外还有其它解释器例如IronPython(在.NET平台上运行)、PyPy(一个Jsut-In-Time编译器,旨在提高性能)等。

2.3 Python环境安装

对于Python环境的安装我们通过取官网下载对应的安装包安装即可。

首先我们通过网址www.python.org/downloads/w…进入到Python下载页面(这里以Windows系统为例,其它系统可以在官网选择即可\color{red}这里以Windows系统为例,其它系统可以在官网选择即可这里以Windows系统为例,其它系统可以在官网选择即可)。

在这里我们选择Python3.8为例子,选择对应的版本点击下载。

在这里插入图片描述

下载好安装包以后我们单击或双击该安装包程序。

在这里插入图片描述

接下来我们将进入Python的安装界面。 在这里插入图片描述

​ 选择详细安装以后就会进入下一个安装界面,下个界面继续点击next按钮进入下一步。 在这里插入图片描述
点击next以后就会继续进入下一个界面,在该界面主要用于设置环境安装路径(最好不要装在系统盘,并且路径最好使用英文)。

在这里插入图片描述

修改好路径以后点击install按钮,然后等待软件的安装完成。

在这里插入图片描述

在这里插入图片描述

到这里我们已经完成了Python的安装,下面我们就可以通过命令行来检查一下。

首先我们同时按下键盘的windows键和R键然后在输入框输入cmd。

在这里插入图片描述

接着就会进入cmd命令行了。 在这里插入图片描述
我们在命令行输入关键词python就可以进入Python编程界面,当然后续教程中我们还是会使用其它编码工具去开发Python项目。

在这里插入图片描述

在这里插入图片描述

-END-

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT猫仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值