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

news2024/11/18 18:42:19

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.coloradmin.cn/o/1540367.html

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

相关文章

查看文件内容的指令:cat,tac,nl,more,less,head,tail,写入文件:echo

目录 cat 介绍 输入重定向 选项 -b -n -s tac 介绍 输入重定向 nl 介绍 示例 more 介绍 选项 less 介绍 搜索文本 选项 head 介绍 示例 选项 -n tail 介绍 示例 选项 echo 介绍 输出重定向 追加重定向 cat 介绍 将标准输入(键盘输入)的内容打…

鸿蒙Harmony应用开发—ArkTS-LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。 接口…

Day45:WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件

目录 PHP-MYSQL-二次注入-DEMO&74CMS DEMO-用户注册登录修改密码 CMS-74CMS个人中心简历功能 PHP-MYSQL-堆叠注入-DEMO&CTF强网 Demo 2019强网杯-随便注(CTF题型) PHP-MYSQL-带外注入-DEMO&DNSLOG(让服务器主动把数据交出去) 知识点&…

Docker入门到实践之环境配置

Docker入门到实践之环境配置 docker 环境安装 Ubuntu/Debian: sudo apt update sudo apt install docker.ioCentOS/RHEL: sudo yum install dockerArch Linux: sudo pacman -S docker如果未安装成功,或者env的path未设置成功,运行时会报错 Bash: Do…

国自然提交状态,NSFC已审核 ≠ 申请书被受理!!!

本 期 推 荐 【SciencePub学术】2024年度国家自然科学基金集中受理期项目申请受理工作已基本结束。到底什么状态才算申请书被NSFC接收成功呢? 01 申请书状态 申请人登录ISIS系统,至此,绝大部分申请人的系统状态为下面三种: …

Stable Diffusion实现光影字效果

昨天下午有人在群里发光影图片,大家都觉得很酷,我没怎么在意。直到早上我在小红书看到有人发同款图片,只是一晚上的时间点赞就超过了8000,而且评论数也很高,也可以做文字定制变现。研究了一下发现这个效果不难实现&…

训练不了AI,怎么办?

即使直接训练人工智能(AI)模型对许多人来说可能是一个技术上和资源上的挑战,仍然有多种方式可以参与、利用和推动AI技术的发展,而不必直接参与到模型的训练过程中。以下是一些可以考虑的途径: 1. 使用现有的AI服务和工…

【计算机网络篇】数据链路层(3)差错检测

文章目录 🥚误码🍔两种常见的检错技术⭐奇偶校验⭐循环冗余校验🎈例子 🥚误码 误码首先介绍误码的相关概念 🍔两种常见的检错技术 ⭐奇偶校验 奇校验是在待发送的数据后面添加1个校验位,使得添加该校验…

springcloud+nacos服务注册与发现

快速开始 | Spring Cloud Alibaba 参考官方快速开始教程写的,主要注意引用的包是否正确。 这里是用的2022.0.0.0-RC2版本的springCloud,所以需要安装jdk21,参考上一个文章自行安装。 nacos-config实现配置中心功能-CSDN博客 将nacos-conf…

[C语言]结构体、位段、枚举常量、联合体

目录 结构体 结构体的使用方法 结构体所占用的大小 位段 位段的使用方法 位段所占用的大小 枚举常量 枚举常量的使用方法 枚举常量的优势 联合体 联合体的使用方法 结构体 结构体的使用方法 结构体是一些值的集合,我们可以定义一个结构体,里…

Pink老师Echarts教学笔记

可视化面板介绍 ​ 应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出。 01-使用技术 完成该项目需…

TCP(socket 套接字)编程 1

一、TCP套接字编程架构如下 二、相关代码实现 1、服务器端代码 package com.company;import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket;public class Main {public static void main(String[] args) {…

GeoAI

GeoAI 是人工智能 (AI) 与空间数据、科学和地理空间技术的集成,以增进对空间问题的理解和解决。GeoAI 包括应用传统人工智能技术,通过从结构化和非结构化数据中提取、分类和检测信息来生成空间数据。GeoAI 也是空间显式人工智能技术的使用,旨…

超越工具的限制!菜鸟工具箱帮你节省时间

在这个飞速发展的时代,我们越来越依赖各种工具来提高工作效率和解决问题。然而,你是否意识到,有些工具不仅仅是工具,它们还能为你带来更多的可能性和机遇?菜鸟工具箱就是这样一个超越工具本身的存在! 菜鸟工…

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(二)—— 深度神经网络

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 概述 深度神经网络(Deep Neural Network…

扩展一下BenchmarkSQL,新增支持ASE/HANA/DB2/SQLServer,可以随便用了

1 背景 提到数据库的性能,自然就避不开性能测试。有专用于测试OLTP的,也有偏重于OLAP的。本文介绍的BenchmarkSQL就属于测试OLTP中的一个,基于TPCC的。网上有很多介绍TPC*的相关测试的文章,大家可以自行脑补。而PostgreSQL自带的pgbench是属于TPCC的前一个基准测试程序,偏…

【Linux系统编程(进程编程)】创建进程的场景,fork和vfork的使用及区别

文章目录 一、进程关键概念二、创建进程函数fork的使用一、进程创建实战 三、创建进程函数fork的使用补充四、进程创建发生了什么事?五、创建新进程的实际应用场景 & fork总结一、fork创建一个子进程的一般目的?二、fork编程实战 六、vfork也能创建进…

Day55-LNMP架构原理及实战精讲

Day55-LNMP架构原理及实战精讲 1.什么是LNMP?2.LNMP架构工作原理流程解析3.LNMP架构环境安装部署4. LNMP架构配置及整体测试实战5. 超越企业级标准搭建和优化blog软件5.1 部署博客blog软件5.2 部署知乎软件Wecenter 1.什么是LNMP? 2010年前 LAMP Linux、Apache、MySQL、PHP&…

能降低嵌入式系统功耗的三个技术

为电池寿命设计嵌入式系统已经成为许多团队重要的设计考虑因素。优化电池寿命的能力有助于降低现场维护成本,并确保客户不需要不断更换或充电电池,从而获得良好的产品体验。 团队通常使用一些标准技术来提高电池寿命,例如将处理器置于低功耗…

企业微信可以更换公司主体吗?

企业微信变更主体有什么作用?当我们的企业因为各种原因需要注销或已经注销,或者运营变更等情况,企业微信无法继续使用原主体继续使用时,可以申请企业主体变更,变更为新的主体。企业微信变更主体的条件有哪些&#xff1…