一、自动化流程图
1、Jenkins:一个用java编写的开源持续集成工具
2、测试环境:PHP、C、等其它服务端程序
3、测试平台:Robot Framework/Junit/python等语言
二、python简介
1、python语言的介绍(谷歌公司的员工)
2、优缺点
优点:“优雅”、“明确”、“简单”; 拥有非常强大的第三方库等
缺点:运行速度慢;代码不能加密
3、应用场景
4、拓展:GO语言--谷歌开发的,如:刀塔就是利用go语言开发的
三、变量
变量相关知识点参考链接:http://www.cnblogs.com/mjios/archive/2013/05/07/3065522.html
1、声明变量--声明完之后就已经把变量存储在内存当中了
例子1、
name,age = "tanghouzi",20
例子2
name = "tang houzi" #所有带引号的,不管是单、双、三引号,都是被python认为是字符串
age = 20 #python是分数字类型的,分为数字和字符串,这是数字,上面的是字符串
例子1与例子2的意思是相同的
2、变量的调用
name #这样的话就表示调用了变量 print (name,age) #打印两个变量name和age,输入完之后,工具就会自动帮忙保存
3、变量的命名规则
|
如果需要标识的太过于复杂,需要用_区分开来 |
name_of_brothors_age = 2 |
如果不使用下划线的话,可以使用首字母大写来进行区分 |
NameOfBrothersAge = 2(驼峰体) |
|
中横线 - 代表的是减法,已经被其他的预发占用的,不能用来命名 |
||
命名禁忌 |
不可以数字开头 | |
不可以特殊字符开头,下划线是可以的 例如:$&*&&& | ||
变量里面不能有空格 |
||
python自带成语法的关键字不能使用 如:and as assert break class等 |
4、作用域
name = "monkey" #将monkey赋值给name name2 = name #将name的值赋值给name2,其实就是直接将monkey赋值给了name,这个时候name对应的值就是monkey print(name,name2) #打印上面的name、name2 name = "hahah" #将name赋予新的值为hahah print(name,name2) #打印出来name = hahah name1 = monkey
四、常量
在python当中是没有常量这个概念的,但是当别人定义数据的时候前面是全部大写的话,就表示是一个常量,不能修改的,如果修改的话会报错。
如:连接数据库的信息算是一个常量,不能随便的进行更改。如果有更改的话应该要重启下程序才可以。
五、字符编码
计算机只能识别的是0、1的这两种二进制组合,但是人眼的话需要展示的是界面--将人能看得懂的页面转化成0、1、0、1的形式即可
1、ascii编码
1个字符 = 8比特位(bit,8个0或1二进制编码组成) = 1字节(byte)
如图所示,有127个字符,如果我们自己看到一个字母E其实计算机去ascii表中查询字母E对应的十进制69,并且转化成二进制01010100;计算机是由西方人发明的,刚开始的时候只能支持英文,也就是26个字母就可以拼出所有的英文单词,加上一些特殊字符就只有占用127个字符--一个字符就可以将整张表的数据存储下来。一个字节8位,能表示的最大数字位28 -1 =255个字符
上面的ascii中占用的是127,剩下扩展的为255 - 127 =128种方式。后面其它国家的经济发展越来越快,如:中国这边也引进了电脑的技术,而且单单常用的汉字就有六千多个字,就将剩下的字符中占用一位字符扩展成另一张表(这张表要存储的大小由我们自己来确定),这张扩展出来的表中存储的就是全部的中文和其它国家的文字。中国扩展的表中会包含日文、韩文、中文,日本所扩展的表中也有了中文、日文等语言,这样就会赞成了乱码的情况(同一种语言在不同编码表里面的编码归责是不一样的)--国外的部分软件,我们安装之后就会乱码(字符集出现交叉导致乱码要么就是没有安装相对应的字符集)
2、unicode编码
由于上面会出现乱码的问题,所以就统一推出了unicode编码(统一码、万国码),是一种在计算机上使用的字符编码,unicode是为了解决传统的字符编码方案的局限而产生的,,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节),即216 = 65536种 (比之前的ascii多一个或者更多的字符,占用的空间太大,推出下面的UTF-8 编码)
3、UTF- 8编码
是对unicode编码的压缩和优化,不再使用最少2个字节,而是将所有的字符和符号进行分类:ascii码种的内容用1个字节保存,欧洲的字符用2个字符保存,东亚(中文)的字符由3个字符保存
4、加解释器和字符集
python2的时候,只支持ascii码,所以如果输入的包含中文的话,需要声明编码位UTF- 8编码
#!/user/bin/env python 加解释器 # -*- coding: utf-8 -*- 加字符集
六、注释
1、定义
# | 在每段代码后面或者是上面可以利用#进行添加单行注释 |
''' ''' | 多行注释(可以为单、双引号,但是一定要英文的输入法情况下写入) |
2、python的开发规范:每一行的代码不超过80个字符
3、用户输入--input
python2 | raw_input |
user_input = raw_input("your name:") |
input |
name = "haha" #先声明变量name user_input = input("your name:") print (user_input) 如果在2.7里面使用input的话,输入的是一个字符串的时候,系统不认为是一个字符串,而是一个变量, |
|
python3 | input |
user_input = input('input your name:')
print("user input msg:",user_input)
打印结果解析:输入用户名字,然后打印出来所要打印出来的结果 |
七、格式化字符串
name = input("input your name:") age = int(input("input your age:")) job = input("input your job:") msg=''' Infomation of user %s: ---------------------- Name: %s Age: %f Job: %s ----------End--------- '''%(name,name,age,job) print(msg)
1、文本格式化:将外面的变量置换到文本里面
2、占位符: %
每一个占位符必须赋予一个变量,如果输出到是字符串的话用s来表示;如果是数字的话则用d来表示;如果是小数(浮点数)的话则用f来表示
3、只要用input,在python3里面默认输出的是字符串的形式,如果我们在后面的age中强制将输入的字符变成是数字的,这个时候在input的时候需要强制转换成数字类型(int)
4、浮点型举例
八、常用模块初识--import
1、Linux命令(用Mac终端执行的)
df:用来检查Linux服务器的文件系统磁盘空间占用情况
df-h:方便阅读方式显示
ls:列出文件和目录
新建文件并查询
2、导入当前目录模块
3、环境变量的查询方式
一般自己写的模块都是保存在python的site-packages文件夹里面
如果将文件保存在site-packages文件夹里面(或者上面的任意一个文件夹当中)的话,则表示的是适用于全部的文件的,保存在其它文件夹当中的话则表示只适用于这个文件夹的文件
4、tab补全模块文档保存
新建一个tab.py文件,将下面的代码复制进去,放在驱动的文件夹里面即可,这样就可以适用于全部文件的tab补全文档了
PS: 此文档仅适用于Mac,关于windows文档需要自行百度哦。
#!/user/bin/env python # -*- coding: utf-8 -*- import readline,rlcompleter ### Indenting class TabCompleter(rlcompleter.Completer): """Completer that supports indenting""" def complete(self, text, state): if not text: return (' ', None)[state] else: return rlcompleter.Completer.complete(self, text, state) readline.set_completer(TabCompleter().complete) ### Add autocompletion if 'libedit' in readline.__doc__: readline.parse_and_bind("bind -e") readline.parse_and_bind("bind ' ' rl_complete") else: readline.parse_and_bind("tab: complete") ### Add history import os histfile = os.path.join(os.environ["HOME"], ".pyhist") try: readline.read_history_file(histfile) except IOError: pass import atexit atexit.register(readline.write_history_file, histfile) del histfile
5、查询规则