前言

Python的发展史是一部典型的励志大片。自1989年诞生以来,从名不见经传到跃居编程语言排行榜首位(2017年7月),堪称屌丝逆袭非人类样板。

进入21世纪的第一个十年,是Python的平稳发展期,基本稳住了前十名的地位,那时候,NASA已经在大量使用Python程序了。

在21世纪的第二个十年,Python迎来了爆发式的增长。这一切得益于人工智能的迅猛发展,更确切的说,是中国人工智能的迅猛发展。目前国内拥有近200万名程序员,在全球的占比高达10%,如果这些人关注的是Python的强有力竞争者R语言,那么如今排名第一位的编程语言恐怕就是R语言了。

Python的诞生(为什么会出现这样的新语言)

Python的创始人为Guido van Rossum。

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
  Guido van Rossum(荷兰人),从阿姆斯特丹大学获得了数学和计算机硕士学位。所以他可以称得上是一名数学家,或者更确切点是精通数学与计算机的复合型人才。
  他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。

*Python 是一门伟大的入门语言

*Python的设计哲学是“**优雅”、“明确”、“简单”**作为一门伟大的编程语言,一定要具备一些特征,其中有五项特征是非常重要的:

  1. 非常棒的首次体验:就像书的开始,首先一定要能够“沉迷”,学习新知识一定会碰到各种挫折,但是如果能够吸引学生的好奇心和热情,零基础的学员才能够有更好的兴趣在学习中;
  2. Web 编程能力:对于程序员的职业发展来说,Web 编程能力越来越重要,如果想要发展的更好,是要具备一些 Web 框架基础;
  3. 桌面编程能力:尽管将来趋势将更多的转移到 Web 应用上,但没什么能比开发和运行一个本地程序来的直接;
  4. 有市场的职业技能:即使是学术和业余编程已经非常出色,但是学生的职业技能在职业环境中也非常重要;
  5. 社区支持和轻松的语言环境:这个部分对于新人来说,更是重要的一点,能够加速让他们融入到这个环境中。

Python所具有的以上五个特点是其他语言所不可比拟的,也决定了Python快速的发展,深受编程人士的喜爱,目前Python发展势头很好,人工智能和大数据也推动了Python的发展,因此,目前学习并从事Python相关工作是很好的一个机遇。

如今Python现在在很多领域都得到广泛的应用,比如自动化运维、DevOps,甚至大热的AI,都将Python作为主要开发语言。此外Web项目开发、云基础设施服务、数据处理等方向也都需要Python人才。这也就意味着Python编程语言的学习之后会有更多的就业途径和就业选择。

近几年来,凭借着这样的大数据时代,Python编程语言一跃而起,受到大众追捧,成为人工智能技术中最受欢迎的编程语言之一,而Python程序员的薪资也水涨船高。

Python行业前景

哪些人适合学Python

编程新手/在校学生

如果你自制力强、有上进心,想通过学习来改变现状,那么我们让你点亮高薪 人生!

前端开发人员

不想仅限于H5、CSS3开发,Python将是你的不二之选。

想做全栈开发工程师

立志做全能型人才,一人搞定前后端,那么Python是你成功的首选。

网络运维转型开发

从事传统网络运维工作,想要转型做开发,那你适合学Python。

传统IT转行互联网

想从传统企业软件开发转向Web互联网方向,那么Python将是一个不错选择。

准备进军AI领域

一、用Python做自动化测试
对于软件测试人员来说,使用python最主要的就是来做自动化测试,提高测试的工作效率,保证产品的质量。自动化测试又可以分为几大方向:
1)Web自动化测试、APP自动化测试、接口自动化测试。

  1. Web自动化测试当前市场上最主流的Web自动化测试工具就是Selenium,所以通过编写Python+Selenium脚本可以实现对Web项目的自动化测试。
  2. 现在给大家做下简单的演示如何安装Selenium:以Windows系统为例,打开cmd命令行窗口输入命令:pip install selenium
  3. 安装浏览器驱动的步骤:
  4. 下载浏览器驱动各个驱动下载地址: http://www.seleniumhq.org/download/浏览器的版本和驱动版本要一致!
  5. 把驱动文件所在目录添加到Path环境变量中
  6. 入门示例需求:通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器

示例代码: 导包
from selenium import webdriver
import time

创建浏览器驱动对象
driver = webdriver.Chrome()

加载web页面
driver.get(“http://www.baidu.com/”)

暂停3秒
time.sleep(3)

关闭驱动对象
driver.quit()
提示:当对一个企业级的项目实现Web自动化测试时,除了使用Python+Selenium之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还需要学习PO模式采用面向对象的封装思想来封装要操作的页面,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。

二、 APP自动化测试

当前市场上最主流的APP自动化测试工具就是Appium,所以通过编写Python+Appium脚本可以实现对APP项目的自动化测试。
APP自动化测试的环境搭建相对比较复杂,需要安装的软件有:安装JDK安装Android SDK安装appium安装Appium-python库安装模拟器(或者使用真机)需要查看app自动化如何测试,以Windows系统为例,打开cmd命令行窗口输入命令:pip install requests 3.2 入门示例需求:通过程序发送请求调用百度搜索接口http://www.baidu.com/s?wd=python3.3 示例代码:》 # 导包
import requests

发送GET请求
response = requests.get(“http://www.baidu.com/s?wd=python”)

获取响应数据
print(“text=”, response.text)提示:当对一个企业级的项目实现接口自动化测试时,除了使用Python+Requests之外,还需要学习一些测试框架来管理维护测试用例(如:UnitTest、PyTest),还可以采用分层的思想实现接口自动化测试框架的封装,还需要学习数据驱动思想实现测试脚本和测试数据的分离,还可以引入日志收集等技术来协助测试。

二、用Python做性能测试在做性能测试时一般都会使用工具实现,比如使用Loadrunner、JMeter等工具。但是通过编写Python代码同样也是可以实现性能测试的。Python语言中比较流行的性能测试框架是Locust,一个开源的性能测试工具,在代码中定义用户行为,支持分布式和可扩展,通过Web页面可以实时查看测试细节。安装Locust:以Windows系统为例,打开cmd命令行窗口输入命令:pip install locustio 2. 示例代码: from locust import HttpLocust, TaskSet
def login(l):
l.client.post("/login", data={“username”: “admin”, “password”: “123456”})
def logout(l):
l.client.post("/logout")
def index(l):
l.client.get("/index")
def profile(l):
l.client.get("/profile")
class UserBehavior(TaskSet):
tasks = {index: 3, profile: 1}
def on_start(self):
login(self)
def on_stop(self):
logout(self)
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 5000
max_wait = 9000
host = “http://192.168.1.2/bms”

三、用Python开发小工具在实际的测试工作中经常需要处理一些测试数据,比如解析日志文件中数据,大批量生成操作数据库的sql语句等需求。通过编写Python代码可以非常方便的实现数据的处理,并且Python中有大量的第三方库也可以帮助我们解决很多问题。也可以开发一些在日常工作中经常使用的小工具,协助提高工作效率。小需求:实现在商品表中插入10000条数据的sql语句示例代码: for i in range(10000):
goods_name = f"小米手机{i}"
count = 100
price = 1999
sql = f"insert into t_goods(goods_name,count,price) values(’{goods_name}’, {count}, {price});"
print(sql)

结语

最后跟大家推荐一个学习资料分享群:644956177,里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!

人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!

python的前世今生相关推荐

  1. 谈谈你了解的python_你也可以侃侃而谈,一文带你了解Python的前世今生

    那是1989年的事情了,Python是由Guido van Rossum在这年年底出于某种娱乐目的开发的,Python语言是基于ABC教学语言的,ABC语言大家应该清楚,是专门为非专业程序猿设计开发的 ...

  2. Python基础通关攻略(2)-Python的前世今生(上)

    在开始玩游戏前,让我们先来好好的了解一下这款"游戏".说道Python,可不是那个从天而降,开团让人闻风丧胆的战争之王"潘森",它是著名荷兰计算机程序员Guid ...

  3. python系列教程-python前世今生以及windows下环境的安装

    文章目录 一.python的前世今生 1.1 Python的起源 二.为什么要学习python 2.1.从语言排行榜上看 三.python的安装 3.1 python下载 3.2 自定义安装路径,以及 ...

  4. 非科班的我如何自学Python在一线城市找到一份15k的offer的?

    大家好,我是PythonYu,今天是我kotlin入门后,入行Python后,第一次总结下自己的经验! 12年从三流大学毕业后,刚开始接触的是java,后来入门了kotlin,后来我学习了Python ...

  5. python起步输入-第 4 节 小Python 起步

    文接上节,我们知晓了 Python 的前世今生.要能够应用好 Python 为我们服务,掌握其开发环境.核心语法.面向对象.异常处理等等技能点必不可少.从本节开始将开启真正的 Python 之旅. 1 ...

  6. python主要运用于-python主要应用领域有哪些?看这一篇就够了

    Python是一个工具而已,工具没有好坏,关键看工具被怎么用,这里就来总结下python主要应用领域有哪些? 甚至有人预言,Python会成为继C++和Java之后的第三个主流编程语言.那我们一起来看 ...

  7. Python编程语言简介

    一.编程与编程语言 1. 编程的目的 计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动 ...

  8. python相关背景及语言特点

    一.python的前世今生 ·起源  python是一种面向对象的解释型语言,由荷兰人Guido van Rossum在1989年的圣诞节期间为打发无趣时间而发明.其名称来源于一部BBC喜剧Monty ...

  9. python的起源和发展_Python入门第一课——Python的起源、发展与前景!

    我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Pyt ...

最新文章

  1. DataX 安装和使用
  2. 苹果被罚3.1635亿元,因不愿开放第三方支付!
  3. 怎样检查Android网络连接状态
  4. 一些有用的Exadata诊断命令
  5. CSS 笔记——盒子模型
  6. RHEL4.4安装YUM
  7. 华为机试HJ88:扑克牌大小
  8. 构建自己的PHP框架(邮件发送)
  9. ftp文件下载工具,三个非常好使的ftp文件下载工具
  10. 数学问题-标量三重积向量三重积
  11. Android开发实战《手机安全卫士》——6.“高级工具”模块拓展 自定义Toast
  12. 电源输出的Overshoot和Undershoot 测试
  13. 天父的花园-赞美之泉(音乐河4)
  14. 微信开放平台开发(3) 移动应用微信登录
  15. 常用的在线JS解密工具
  16. MacAir苹果本(2013AJ7629)安装win7单系统的曲折经历
  17. 你觉得什么叫做幸福?
  18. Fiddler系列教程2:手机抓包图文教程
  19. NATAPP安装和配置(附加NATAPP后台运行)
  20. 搭建私有云maven文档(超详细)超级容易上手

热门文章

  1. 数据库表关联关系的基础知识
  2. 浅谈第三方电子支付平台测试方法的研究
  3. 分布式红锁的加锁的lua底层设计原理
  4. Python基础教程和入门教程
  5. java iecapt.exe_java替换url的域名和端口方法
  6. chrome onetab_我的 Chrome 高效拓展推荐
  7. static_cast与dynamic_cast转换
  8. java中为什么同步_如何在Java中同步工作
  9. Android中的WebView之loadDataWithBaseURL()与loadData()
  10. 禁止root用户远程登录或者禁止其他用户登录而不删除它