【测试开发学习历程】认识Python + 安装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.mzph.cn/news/766633.shtml

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

相关文章

mac 安装 nvm 【真解决问题】

前提 没有node环境已有git 下载 我用的gitee极速下载 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags配置 1. 配置变量 在用户的目录下新增文件 .zshrc export NVM_DIR"$HOME/…

unity学习(67)——控制器Joystick Pack方向

1.轮盘直接复制一个拖到右边就ok了,轮盘上是有脚本的。(只复制) 2.上面的显示窗也可以复制,但是要绑定对应的轮盘(unity中修改变量),显示窗上是有脚本的。(复制改变量) 3…

康奋威科技邀您到场参观2024长三角快递物流展

参展企业介绍 杭州康奋威科技股份有限公司创立于2005年,由国家“万人计划”专家任天挺先生创立并担任法人,是一家专业从事智能装备研发与制造的国家级高新技术企业。专注于自动化控制、机械设计、信息化方面的技术研究,主要为太阳能光伏、智…

计算机底层结构

一、人类关于计算领域的发展 人类的祖先从树上下来以后开始了一轮新的生存挑战。与其他动物相比人类没有尖牙厉爪,只能去发展大脑,随着大脑的发展人类逐渐的站在了食物链的顶层。但是受制于人类活动和自然因素的发展,许多大型动物越来越少&a…

【动态规划】Leetcode 70. 爬楼梯

【动态规划】Leetcode 70. 爬楼梯 解法1 ---------------🎈🎈题目链接🎈🎈------------------- 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 输入…

CICD流水线(ali)

后端CICD 一、打开云效流水线,创建流水线

【2024第十二届“泰迪杯”数据挖掘挑战赛】B题基于多模态特征融合的图像文本检索—解题全流程(持续更新)

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛B题 解题全流程(持续更新) -----基于多模态特征融合的图像文本检索 一、写在前面: ​ 本题的全部资料打包为“全家桶”, “全家桶”包含:数据、代码、模型、结果csv、教程…

十分钟掌握redis精髓指令

编译安装 git clone https://gitee.com/mirrors/redis.git cd redis make make test make install # 默认安装在 /usr/local/bin # redis-server 是服务端程序 # redis-cli 是客户端程序启动 mkdir redis-data # 把redis文件夹下 redis.conf 拷贝到 redis-data # 修改 redis.…

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-SLAM34 使用 D435i …

网络学习:RIPNG

目录 前言: 一、RIPNG与RIP的区别 二、如何配置RIPNG 如何解决RIPNG环路问题呢? 控制RIPNG的选路 1、修改RIPNG默认优先级 2.配置接口附加开销值从而干涉RIPNG的选路 RIPNG拓展配置 1.RIPNG的认证 配置RIPNG进程下的IPsec认证: 配…

解决淘宝镜像过期问题 ERR! request https://registry.npm.taobao.org

目录 一、问题描述 二、解决方案 2.1、针对于域名更换解决方案 2.2、针对于证书过期解决方案 三、进行测试 一、问题描述 针对于2022年5月31号和2024年1 月 22 日前的前端项目 npm.taobao.org和旧域名于2021年官方公告域名更换事件,已于2022年05月31日零时起…

Spring Bean加载优先级

当我们使用 ConditionalOnMissingBean / ConditionalOnBean注解去给某个 bean 注入赋予条件时,那在条件判断时我们需要确保条件判断过程所需的环境已准备好。 举个例子 下面的代码中有两个配置类,涉及两个 Bean 的注入 配置类 ConfigA 需要注入一个 A…

IDEA-JAVA 常用的的插件

文章目录 一、常用插件 一、常用插件 CodeGlance:在编辑器侧边栏显示代码缩略图。 Key Promoter X:在你使用快捷键时提示你相应的操作可以使用快捷键来完成。 BashSupport:提供 Bash 脚本语言的支持。 IdeaVim:将 Vim 的快捷键…

Unity与鼠标相关的事件(自己记忆用)

1. OnMouseDown:当用户按下鼠标按钮时调用。 - 参数:MouseEvent,可以用来确定哪个鼠标按钮被按下。 2. OnMouseUp:当用户释放鼠标按钮时调用。 - 参数:MouseEvent,可以用来确定哪个鼠标按钮被释放。…

SpringBoot源码探险 —— SpringBoot启动流程详解

一&#xff0c;SpringBoot启动流程 本人使用的SpringBootParent版本为 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.1</version><relativePath/>…

vsto worksheet中查找关键字【关键字】获取对应的整列 union成一个range

要在 VSTO 中的工作表中查找包含特定关键字的单元格&#xff0c;并将这些单元格所在列合并为一个范围&#xff0c;可以使用以下代码&#xff1a;csharp using Excel Microsoft.Office.Interop.Excel;// 在工作表中查找包含特定关键字的单元格&#xff0c;并返回这些单元格所在…

HTML世界之标签Ⅶ

目录 一、source 标签 二、span 标签 三、strong 标签 四、style 标签 五、sub 标签 六、summary 标签 七、sup 标签 八、textarea 标签 九、template 标签 十、time 标签 十一、title 标签 十二、track 标签 十三、video 标签 十四、wbr 标签 一、source 标签 …

计算机网络——26通用转发和SDN

通用转发和SDN 网络层功能&#xff1a; 转发&#xff1a; 对于从某个端口 到来的分组转发到合适的 输出端口路由&#xff1a; 决定分组从源端 到目标端的路径 网络层 传统路由器的功能 每个路由器(Per Route)的控制平面 &#xff08;传统&#xff09; 每个路由器上都有实…

Oracle数据库如果出现乱码,需要查看是否时字符集不一致导致乱码,这样解决

1、如果出现乱码&#xff0c;需要查看是否时字符集不一致导致乱码 以修改为ZHS16GBK字符集为例&#xff0c;具体字符集需要sql查询。 Oracle查看字符集 SELECT * FROM NLS_DATABASE_PARAMETERS p where p.PARAMETERNLS_CHARACTERSET; SELECT USERENV(language) FROM DUAL; 1.…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀&#xff0c;在不到两年的时间内&#xff0c;迅速被广大开发者青睐和推崇&#xff0c;得益于它颠覆性的优势“快”&#xff0c;快到可以节省7套代码。本课程由uni-app开发者团队成员亲授&#xff0c;带领大家无障碍快速掌握完整的uni-app…