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

【测试开发学习历程】认识Python + 安装Python

目录

1 认识 Python

1.1 Python 的起源

1.2 Python的组成

1.2.1 解释器

1.1.2 Python 的设计目标

1.1.3 Python 的设计哲学

1.2 为什么选择 Python

测试人员选择Python的理由

1.3 Python 特点

面向对象的思维方式

1.4 Python 的优缺点

1.4.1 优点

1.4.2 缺点

3. 安装Python


1 认识 Python

人生苦短,我用 Python —— Life is short, I use Python

1.1 Python 的起源

Python 的创始人为吉多·范罗苏姆(Guido van Rossum),江湖人称“龟叔”

  • 1989 年的圣诞节期间,吉多·范罗苏姆为了在荷兰首都阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承;

  • ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果;

  • 之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者;

  • 1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件。

1.2 Python的组成

  • Python的语法

  • Python的标准内置库

  • Python的第三方库

  • Python解释器

1.2.1 解释器

计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器

编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器

  • 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++

  • 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行

编译型语言和解释型语言对比:

  • 速度 —— 编译型语言比解释型语言执行速度快

  • 跨平台性 —— 解释型语言比编译型语言跨平台性好

1.1.2 Python 的设计目标

1999 年,吉多·范罗苏姆向 DARPA (美国国防高级研究计划局)提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:

  • 一门简单直观的语言并与主要竞争者一样强大

  • 开源,以便任何人都可以为它做贡献

  • 代码像纯英语那样容易理解

  • 适用于短期开发的日常任务

这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言

1.1.3 Python 的设计哲学

  • 优雅

  • 明确

  • 简单

    • Python 开发者的哲学是:用一种方法,最好是只有一种方法来做一件事

    • 如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法

1.2 为什么选择 Python

  • 代码量少

    同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下 PythonJava1/5,所以说 人生苦短,我用 Python

  • web应用开发:flaskdjango

  • 自动化测试:seleniumrequests

  • 网络爬虫

  • 自动化运维

  • 人工智能领域

  • 科学计算

  • 游戏开发

  • ……

测试人员选择Python的理由

  • 测试人员的编程能力相对较弱,而Python作为一种脚本语言,不仅功能强大,而且语法优美,支持多种自动化工具,而且学习上手比较容易;

  • 高级语言,不用考虑底层逻辑,不用研究语言的本身,专注于解决问题;

  • Python的社区发展比较好,有着非常多的文档和支持库;

  • 对于一定编程基础的人员,使用Python作为自动化测试的语言可以非常流畅,几乎没有学习成本。

当前时代,作为测试,在面试中掌握Python和Java之一就足够了。

1.3 Python 特点

  • Python 是完全面向对象的语言

    • 函数模块数字字符串都是对象,在 Python 中一切皆对象

      面向对象的思维方式
      • 面向对象 是一种 思维方式,也是一门 程序设计技术

      • 要解决一个问题前,首先考虑 由谁 来做,怎么做事情是 的职责,最后把事情做好就行!

      • 对象 就是

      • 要解决复杂的问题,就可以找多个不同的对象各司其职,共同实现,最终完成需求

    • 完全支持继承、多重继承等

  • Python 拥有一个强大的标准库,Python 语言的核心只包含 数字字符串列表字典文件 等常见类型和函数,而由 Python 标准库提供了 系统管理网络通信文本处理数据库接口图形系统、等额外的功能

  • Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算人工智能机器学习Web 开发数据库接口图形系统 多个领域

学Python主要学:基础语法 + 标准库或者第三方库(会用就可以了)

1.4 Python 的优缺点

1.4.1 优点

  • 简单、易学

  • 免费、开源

  • 面向对象

  • 丰富的库

  • 可扩展性

    • 如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用 CC++ 编写,然后在 Python 程序中使用它们

  • ……

1.4.2 缺点

  • 速度慢:Python 程序比 Java、C、C++ 等程序的运行效率都要慢。

  • 源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。其实,这两个缺点并不是什么大问题,首先,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题就更不是问题了,现在软件行业的大势本就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行。

3. 安装Python

  • 我们平时编写和调试代码是在Windows电脑上写,所以需要在Windows上安装Python环境。

  • 认识python官网:Welcome to Python.org

      • 安装的路径,建议用默认路径(

      默认是C:\Users\Administrator\AppData\Local\Programs\Python\PythonXX

      注意:不要安装在中文路径中(如果路径中有中文的就自定义安装)

      • 如果没有勾选添加环境变量,则需要手动把python的安装目录及安装目录下的Scripts目录添加到PATH变量中。也就是:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts\

      检查是否安装完成

      在dos窗口输入python -V回车,如果返回有python的相关信息,则安装成功

http://www.lryc.cn/news/325789.html

相关文章:

  • webpack proxy工作原理?为什么能解决跨域?
  • ArkTS编写的HarmonyOS原生聊天UI框架
  • uni-app中web-view的使用
  • 前端跨域概念及解决方法
  • Redis中的事务机制
  • 从零到一构建短链接系统(八)
  • 缺省和重载。引用——初识c++
  • java常用IO流功能——字符流和缓冲流概述
  • Python中模块的定义、用法
  • 【vscode 常用扩展插件】
  • Retelling|Facebook2
  • 读3dsr代码①测试
  • Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应
  • 【力扣】55.跳跃游戏、45.跳跃游戏Ⅱ
  • 038—pandas 重采样线性插补
  • 智慧工地源码 数字孪生可视化大屏 工地管理平台系统源码 多端展示(PC端、手机端、平板端)
  • 深度学习Top10算法之深度神经网络DNN
  • 【智能算法】海马优化算法(SHO)原理及实现
  • AI大模型学习的伦理与社会影响
  • 记录些LangChain相关的知识
  • C语言例4-7:格式字符f的使用例子
  • [蓝桥杯 2019 省 A] 修改数组
  • Git基础(25):Cherry Pick合并指定commit id的提交
  • C语言结构体之位段
  • 2016年认证杯SPSSPRO杯数学建模D题(第二阶段)NBA是否有必要设立四分线全过程文档及程序
  • 登录校验解决方案JWT
  • Flutter开发进阶之瞧瞧BuildOwner
  • 大量免费工具使用(提供api接口)
  • 网络探测工具Nmap介绍
  • 20240319-2-机器学习基础面试题