前言
最近开始在研究selenium了,主要是发现性能测试比较局限于环境因此JMeter也停留在比较简单的接口测试环境下类似就和postman那样像功能测试工具一样,没有更深入学习的意义了。不过学习不能停滞不前,正好满足我的码字欲望的同时也要复习一下python的部分,毕竟代码和脚本才是王道!虽然也是框架,但是最实际的这些编程逻辑思维和基础概念可千万不能丢下!同时也还是以傻瓜式的方法,来写文能够让看到博客的人可以实际地去学习和建立python编程的思路。
python不仅能够实现我们说的ui自动化,接口自动化也是可以实现的,最简单的就是通过我们的requests库,利用python+requests做接口自动化,用python+ selenium 做ui自动化,移动端的话就是python+appium
1.python介绍和环境安装
啥也不说了,学语言万事开头难的部分就是在环境安装这里。首先,如果是mac用户那很幸运你不啥也不需要准备,去官网直接点击安装社区版本即可,如果是windows系统的话那还是老老实实走环境变量配置的安装路吧。
1.1介绍
大家可以自己搜索百度百科,在这里我就不再将python的官方定义概念了。说一些比较需要注意的点就可以:
1.市面上常见的python的版本有 python2 和 Python3(主流)。
2.我们说的python 是解释型语言,在执行的时候, 需要解释器⼀边解释(翻译)⼀边执行。
3.从上到下执行,下方代码出现的错误, 不会影响上方代码的执行。
ps:计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。像c和c++就是编译语言,可以直接编译。
1.2环境安装
相对来说,环境安装才是零基础开始接触一门语言比较麻烦的地方。python的环境其实也就是python解释器的环境,目前最新应该都是3.10之后的了,反正安装的时候至少要是3.7之后的版本,在安装之后可以在终端里输入python如果有返回就是环境安装成功,如下图所示。
如果是win10系统就打开我的电脑-高级系统设置-系统属性-环境变量,然后添加你下载下来的python解释器的位置路径即可,这个配置path的目的就是为了程序在任何的目录都可以去用cmd执行。下载python解释器的网址如下https://www.python.org/downloads/
在我们下载完成解释器之后,总感觉还少了什么,因为我们没有一个可视化的编程环境,虽然有了解释器能够读写我们的代码,但是我们不可能直接写在txt文件里编译吧。所以还要再推荐一款特别好用的IDE(集成开发环境),也就是pycharm,之后的学习也会使用它来作为主流的代码编写,查看,执行(当然了也可以用像vscode,sublime来编写代码)。
1.3pycharm使用
我这里比较懒,就不贴我自己的图了,其实很简单使用,在进入之后直接使用create new project就能创建一个新的项目了。当然不同版本的pycharm或者不同操作系统的都会有不一样的界面,但是大同小异,毕竟原理都是一样的。
之后就是配置我们代码文件存放的路径和使用的解释器版本了。一般来说,这里的位置是放在file - settings - project:... - python interpreter。
一般一个新的项目,我们会在项目的目录底下创建我们想要的代码文件并且取上自己定义的标题。
1.4书写第一个代码
可以看到,代码中的标点比如说逗号或者'',都要使用英文的半角字符。然后直接右键运行代码即可,windows下的快捷键是ctrl+shift+f10,mac下的快捷键是control+shift+r。
F:\Python\python,exe是指解释器的路径,而后面那一长串是代码的路径。
1.5pycharm常见操作
对文件进行操作![](https://img-blog.csdnimg.cn/c561d2012f834f04b4591dfc66b31d3b.png)
新打开项目方式
file菜单![](https://img-blog.csdnimg.cn/4bea0c6c5700459e9deb83122fdb2d2a.png)
背景色调节
设置字体
2.print解析和注释
2.1print
print其实是一个Python 中的函数,在控制台中输出 内容. 主要用途, 验证结果是否正确. 在学习阶段使⽤居多,在工作中会使⽤其他内容代替(日志输出) 想要在控制台进行输出,就必须有 print();其实也是打印的意思,很好理解。
2.2注释
![](https://img-blog.csdnimg.cn/06e5b587c05c459685924a850ab41ace.png)
注释也是有分类的,比如单行和多行。快捷键 ctrl + / ,就会在当前行变成 # xxx,这样就代表了注释掉xxx,并且他不会被代码执行。
如果是多行代码的注释,可以使用三对单引号或者三对双引号,比如''' xxx ''' 或者""" xxx """
注释并非是越多越好,一目了然的代码就不需要注释。
例如下图:
![](https://img-blog.csdnimg.cn/75641ddecd0942a99439d9eacdedc93f.png)
3.波浪线
3.1红色波浪线
一般有红色波浪线,都是明显的代码错误,需要修改,比如下图print函数未进行顶格就出现缩进的问题。
3.2灰色波浪线
一般来说出现灰色的波浪线都是代码书写规范的问题,现在的编译环境越来越智能,都会在对书写代码的过程进行检索。对于PEP8 的代码规范性问题如果没有处理好就会出现,解决的方法很简单,使用快捷键 ctrl + alt + L (code --> reformat code),比如说# 后面的单行代码注释是空一格,如果不空格虽然也会注释但是会被提醒。
3.3绿色波浪线
其实不是错误,就是单纯pycharm认为你书写的不是一个单词。
4.变量(重点)
4.1定义
变量的作用 是用来保存数据的 -- 存储
变量必须先定义后使用. (必须先存⼊数据才能获取数据) -- 初始化
定义的语法, 变量名 = 数据值 python里的声明非常的简单,但是上面存储和初始化的概念最好还是理解透彻才能懂得计算机语言的魅力。
使用的方法就是 直接使用变量名 即可使用变量中存储的数据
下面就是一个简单的变量存储的实例:
4.2变量名命名规范
我们前面学了http协议,知道协议就是规则,那么我们写代码也是要有遵从一定的规则和要求的,比如我们定义变量,不会像上面简单的定义一个字母,那么我们取名字该怎么取呢?要有底下的这基本的几点要求:
1.要遵循标识符的规则
2.见名知意
3.命名习惯
大驼峰,每个单词的首字母都大写,ex:MyName
小驼峰,第一个单词的首字母小写,其他单词首字母大写,ex:myName
下划线相连,python主要用这种,ex:my_name
上面说的第一点其实是最重要的,标识符的定义是:由字母,数字和下划线组成,并且不能以数字开头。
ps:还有python自带的内置关键字也是不能作为变量来命名的,最常见的比如for,if这样的。
5.数据类型
本来细说有很多类型,我就简单分成两类就好了。
5.1数字型
常见的:整型 - int,浮点型 - float ,布尔型 - bool;整型就是整数,比如:1,2;浮点型就是小数,比如:1.234;布尔型就是true和false。(布尔型中的非0 即为真)
5.2非数字型
我这里不细说这些类型,等后续再具体讲,但是它们非常的实用。
字符串 - str:带引号的就是字符串,可以是双引号,单引号,三引号
列表 - list:在其他语言里也叫数组,用[ ]放起来; [1,2,3,4]
字典 - dict:{"name":"小明","sex":"boy"},其实就是kv键值对,前面在介绍接口测试的时候有说
元组 - tuple :(1,2,3,4)
集合 - set(很少用) :{ 1,2,3,4}
ps:如果我们不知道当前变量的类型,我们可以使用type去查看,比如type(a),这时候就已经知道了它的类型,然后我们就可以把它输出。
5.3数据类型转换
有时候,我们会想说把字符串类型的数据转换成整数类型的数据来满足我们某些情况下对数据类型的要求。所以格式是:变量 = 要转换为的类型(原数据) # 数据类型转换,不会改变原数据的类型,而是生成一个新的数据。
除了int(变量),还有像float(变量),str(变量)--记得加引号。这些都可以强制转换数据类型。
6.输入和输出
6.1输入
我们如果不是单纯的定义变量,而是通过键盘每次都去输入一个想要输入的内容,这样我们就需要一个输入函数 input()。
变量 = input('给使用者的提示信息,这样就能告诉别人输入什么'),这样的格式下,代码从上往下执行,到input函数时会停止让使用者输入,当输入完**按下回车键后,表示本次输入结束**。
记住,**输入的内容的数据类型都是字符串的类型**。
6.2输出
其实上面说的那个打印,也就是print()函数就是代表着输出。这里可以了解格式化输出的概念,按照一定的格式在字符串中使用变量,从而 将变量的值 输出。
字符串.format()
1.可以在任意的python版本中使用
2.字符串中需要使用变量的用{ }去占位置
3.在 format 的括号中,按照占位的顺序将 变量 写上去
不过很明显下面的这种方法更好用,它是在python3.6版本之后出来的,在字符串' '前面加上f之后在{ }占位中直接添加变量即可。
7.转义字符和几种运算符
7.1转义字符
其实也很好理解,将合在一起的两个字符变成另外一个字符的意思。比如最常见的转义字符,就是**\n 这代表的意思就是换行和回车, 以及我们的制表符 \t 它就是我们的tab键**。
ps:一般来说我们的print函数默认都会有一个\n的转义字符,这意味着每个print函数都会进行自动的换行。但是如果我们**输入end=''**例如下图所示:
7.2算数运算符
这里的算数也很好理解,就是我们通常说的加减乘除还有我们的%余。一般来说我们的做运算都是有优先级顺序的。
最常见的顺序就是() > ** > * > / // % > + - ;如下图所示就很明显能够体会。
ps:这里还要补充一个特别重要的概念也就是取余%,为什么说它很重要呢,有这么一个场景就是在我们需要判断数字是奇数或者偶数时要用到数学中的取余数,就很容易**通过余数为零的情况下来证明它是偶数**。![](https://img-blog.csdnimg.cn/d6135a5dad0d45f09facdb408581db1c.png)
7.3比较运算符
比较运算符一般是>,<=这样常见的符号,但是我们一般是在相同类型之间进行比较,比如字符串和数字之间就无法进行比较。下图就是我们常见的比较运算符号及其作用和说明。
7.4赋值运算符和复合赋值运算符
赋值运算符就是我们常见的等号 = ,而复合赋值运算符其实就是我们在等号的基础上进行的一些算数运算符的复合执行,如下图所示就是我们常见的复合赋值运算符。
7.5逻辑运算符
计算机里的逻辑就是我们经常说的与或非,对应的结果就是真假。用符号来表示逻辑运算符就是:and , or , not ,true , false 这些关键字。字面上就很好理解,我们可以通过python当中的python console进行简单的一些执行来验证我们的逻辑运算符。如下图所示
8.总结
作为接触python的第一部分,其实和其他的语言学习是差不多的,都是介绍一些基本的语法规则,后续我会再写像基本的循环语句、python中的容器、python对文件的操作等几个大模块的复习博客。还是希望自己能够在写的同时,重新温习一些写过的编程题目,巩固编程思维。
版权归原作者 Deric_ 所有, 如有侵权,请联系我们删除。