• 1. PythonRui Qiping
  • 2. GuidelineDay 1 Python 简介、安装、IDE、相关术语、基本概念 Day 2 运算符与表达式、控制流、函数 Day 3 数据结构、模块 Day 4 输入输出、异常、正则表达
  • 3. Day 1Python 简介、安装、IDE、相关术语、基本概念
  • 4. Python 简介、安装、IDE、相关术语、基本概念什么是Python? Python语言是一种即简单又功能强大的编程语言。你将惊喜地发现Python语言是多么地简单,如同Perl一样,它注重的是如何解决问题而不是编程语言的语法和结构。 你可以用它编写简单的脚本,也可以用它来建立一个强大的系统(豆瓣、翻墙软件GAE……)。 Python的官方介绍是: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
  • 5. Python 简介、安装、IDE、相关术语、基本概念如何安装Python? 获得Python - http://www.python.org/getit/ 推荐版本为Python2.6 傻瓜式安装,你懂的。。。 校验是否安装成功? 首先确认C:\Python2x目录是否存在? 打开一个CMD,输入Python并回车,出现下图: 恭喜你,安装完成!
  • 6. Python 简介、安装、IDE、相关术语、基本概念如何选择IDE? IDE(Integrated Development Environment)的选择非常重要,可以大量节省开发调试的时间。 这里很独裁的推荐大家使用Eclipse,这款IDE可以无限扩展一些意想不到的功能,目前我所知道比较快捷方便的有:Easy Explore、SVN版本控制、代码规范检测PyLint……
  • 7. Python 简介、安装、IDE、相关术语、基本概念术语解释 编程 programming 指令 instruction 软件 software 二进制 binary 比特 bit 安装 installation 资源 resources IDLE(Python GUI)就是Python的用户图形界面(graphical user interface),没有GUI的程序称为文本模式(text-mode)程序、控制台(console)程序或命令行(command-line)程序 shell “外壳” 基本说来,就是一个通过键入文本与程序交互的途径 “>>>” 是Python提示符(prompt),表示已经准备好,等待键入程序 打印 print(在屏幕上显示) 代码 code 关键字 keyword 保留字 reserved word
  • 8. Python 简介、安装、IDE、相关术语、基本概念术语解释 执行 运行 发生 executing(PC上“.exe”文件缩写的全称) 未命名 untitled “臭虫” bug,指程序错误 运行模块 Run Module 输入 input 处理 process 输出 output 内存 memory 名字 name 指派 assign “让...等于...” 算术表达式 arithmetic expression 计算 evaluate “算出...的值” 变量 variable 存储 store:Python不是把值存储在变量中,而是像把名字放在值上 字符串 string 拼接 concatenation(“拼接”两个字符串;“相加”两个数字)
  • 9. Python 简介、安装、IDE、相关术语、基本概念术语解释 三重引号字符串 triple-quoted-string:跨多行的字符串 列表 list 自增 increment 自减 decrement 整数 integer 小数(实数)decimal number or 浮点数 floating-point number,float 操作符 operator 比如 + - * / :对它两边的操作数造成影响的符号。 复制操作符 assignment operator 就是 ‘=’ 号 操作数 operand 运算顺序 order of operation 求幂 exponentiation 余数 remainder 商 quotient 取余 modulus E记法 E-notation(科学计数法 scientific notation) 上标 superscript 下标 subscript
  • 10. Python 简介、安装、IDE、相关术语、基本概念基本概念 1. 字面意义上的常量 一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的数,或者如同'This is a string'、"It's a string!"这样的字符串。它们被称作字面意义上的,因为它们具备 字面 的意义——你按照它们的字面意义使用它们的值。数2总是代表它自己,而不会是别的什么东西——它是一个常量,因为不能改变它的值。因此,所有这些都被称为字面意义上的常量。 2. 数 在Python中有4种类型的数——整数、长整数、浮点数和复数。 2是一个整数的例子。 长整数不过是大一些的整数。 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表 示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是复数的例子。
  • 11. Python 简介、安装、IDE、相关术语、基本概念基本概念 3. 字符串 字符串是 字符的序列 。字符串基本上就是一组单词。 使用 单引号‘、双引号”、三引号’’’或“”“ 转义字符反斜杠、Unicode字符串 字符串一旦确定,终身不可变。如 可以赋值连接
  • 12. Python 简介、安装、IDE、相关术语、基本概念基本概念 4. 变量 变量就是我们想要的东西——它们的值可以变化,即你可以使用变量存储任何东西。变量只是你的计算机中存储信息的一部分内存。与字面意义上的常量不同,你需要一些能够访问这些变量的方法,因此你给变量名字。 变量的命名尽量直白,一眼就能识别变量的意义。最重要的,变量不能使用中文来命名。 标示符的命名 变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则: 标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。 无效 标识符名称的例子有2things、this is spaced out和my-name。
  • 13. Python 简介、安装、IDE、相关术语、基本概念基本概念 6. 逻辑行与物理行 物理行是你在编写程序时所 看见 的。逻辑行是Python 看见 的单个语句。Python假定每个 物理行 对应一个 逻辑行 。 逻辑行的例子如print 'Hello World'这样的语句——如果它本身就是一行(就像你在编辑器中看到的那样),那么它也是一个物理行。 默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。 7. 缩进 与大部分语言使用{}不一样的,Python使用缩进来表示一个程序块。 Python在行首使用4个空格(或一个制表符)来表示一个新的程序块,少一个多一个都会出现语法错误。千万不要在文本编辑器中混合使用空格和制表符,你会抓狂的。
  • 14. Python 简介、安装、IDE、相关术语、基本概念练习一下吧: 安装Python后使用Eclipse打印”Hello World!”.
  • 15. Day 2运算符与表达式、控制流、函数
  • 16. 运算符与表达式、控制流、函数运算符与表达式-运算符名称
  • 17. 运算符与表达式、控制流、函数运算符与表达式-运算符的优先级
  • 18. 运算符与表达式、控制流、函数运算符与表达式-表达式 小伙伴们,迷惑了吧。。。。
  • 19. 运算符与表达式、控制流、函数控制流 if、while、for、break、continue
  • 20. 运算符与表达式、控制流、函数函数 函数是重用的程序段,函数通过关键字def定义,后面跟一个标示符,一对括号,一个冒号,最后是函数内容,空函数的内容直接为pass。如有带参数,则在括号中定义。下图为一个没有参数的函数。 若在类中定义函数,括号中需有self def ShowLove(self): pass
  • 21. 运算符与表达式、控制流、函数函数-形参 函数取得的参数是你提供给函数的值,这样函数就可以利用这些值做一些事情。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。 参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式提供值。注意我们使用过的术语——函数中的参数名称为 形参 而你提供给函数调用的值称为实参 。
  • 22. 运算符与表达式、控制流、函数函数-局部变量 在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。 我们也可以使用global在局部程序块中来改变之。
  • 23. 运算符与表达式、控制流、函数函数-默认参数 对于一些函数,可能希望它的一些参数是可选的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。
  • 24. 运算符与表达式、控制流、函数函数-关键参数 如果某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。 这样做有两个优势:一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。
  • 25. 运算符与表达式、控制流、函数函数-return语句 return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值 。 返回的值可以是任意的,数字、布尔值、字符串、数据结构甚至是一个对象。
  • 26. 运算符与表达式、控制流、函数练习一下吧: 分别写2个函数,函数的功能为在60秒内打印30个“@”。 要求如下:1. 第一个函数使用for循环 2. 另外一个使用while语句实现
  • 27. Day 3数据结构、模块
  • 28. 数据结构、模块数据结构 Python的数据结构概括起来只有两种,数组(又称为序列)和字典。数组又可细分成列表和元组。
  • 29. 数据结构、模块数据结构-数组 右图显示了一个简单的列表操作,单纯的添加元素。我们可以对一个非空列表进行如下操作: L.insert(index, var) L.pop(var) #返回最后一个元素,并从list中删除之 L.remove(var) #删除第一次出现的该元素 L.count(var) #该元素在列表中出现的个数 L.index(var) #该元素的位置,无则抛异常 L.extend(list) #追加list,即合并list到L上 L.sort() #排序 L.reverse() #倒序
  • 30. 数据结构、模块数据结构-元组 元组其实就是一个数组,唯一的区别是元组的元素不可变。 右图中使用了range来快速生成一个列表,此方法有不妥之处如下:
  • 31. 数据结构、模块数据结构-字典 字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。 注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。 键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。 字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。
  • 32. 数据结构、模块数据结构-字典 右图示例了字典的一些操作。 字典和数组结合起来用非常方便,字典中含有数组,数组的元素是字典,循环嵌套,其乐无穷。
  • 33. 数据结构、模块模块 Python在处理功能复用和功能颗粒度划分时采用了类、模块、包的结构。模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉后缀。可用作Python模块的文件类型有py、pyc、pyo、pyd。
  • 34. 数据结构、模块模块-如何使用
  • 35. 数据结构、模块模块-模块安装 Python的模块都是开源的,所以可以随意下载使用,但必须遵循开源的规则。 一般的安装包有exe和tar格式,exe的安装方式也肯定懂的,tar格式的安装方法基本为:解压tar文件,找到里面的setup.py文件,在命令行里面输入setup.py install 回车,完成安装。 一些模块使用该方法无法安装,可直接将解压出来的lib复制到C:\Python2x\Lib\site-packages
  • 36. 数据结构、模块模块-常用模块 系统自带模块 os:包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果。 sys:系统信息和方法模块,提供了很多实用的变量和方法 built-in内置模块:如eval、repr、exec、type、open等 time:这个模块定义的都是和时间、时钟、计时相关的内容 re:正则表达模块,提供了正则匹配的功能 需要安装的模块 界面模块:wxPython、wxWigdet、PyQT 数学模块:numpy 自动化模块:win32、pythonwin、Sendkeys
  • 37. 数据结构、模块练习一下吧: 打印一个数据结构,数据结构的要求如下: a. 该数据结构为一个列表 b. 列表的元素为一个字典, c. 字典的键可任意,数字、字符串都可 d. 字典的值为一个元组,元组可任意取值
  • 38. Day 4输入输出、异常、正则表达
  • 39. 输入输出、异常、正则表达输入输出 程序与用户的交互有两种。 你会从用户那里得到输入,然后打印一些结果。我们可以分别使用raw_input和print语句来完成这些功能。对于输出,你也可以使用多种多样的str(字符串)类。例如,你能够使用rjust方法来得到一个按一定宽度右对齐的字符串。 2. 文件的输入与输出,创建、读和写文件的能力是许多程序所必需的。
  • 40. 输入输出、异常、正则表达输入输出-文件读写 使用build-in模块提供的函数open即可对文件进行操作。 打开一个已经存在的文件: f = open(“a.txt”) 或 f = open(“a.txt”, ’r’) 创建一个新文件(二进制模式创建): f = file(“a.txt”, ‘wb’) 追加写一个文件: f = open(“a.txt”, ‘a’) 写入字符串: f.write(‘hello world’) 读取文件:1. 全部读 lines = f.readlines() # 对于小文件可以一次性读取 2. 按行读 line = f.readline() #中小型文件可用此方法 3. 文件块读取,设定一个buffer,对1,2通吃,效率极快 lineBlock = f.read(1024),如果是对每一行进行操作,该方法 需要考虑换行符的情况。 关闭文件:f.close() 此外还可以使用tell、seek移动文件指针。
  • 41. 输入输出、异常、正则表达输入输出-文件读写 Python的爱好者同时免费分享了许多文件操作的模块,诸如:读写Excel、读写PDF、数据库操作模块甚至二进制格式的文件操作等等,基本上你想要操作的文件类型模块都能在Python论坛上找到相应的模块。
  • 42. 输入输出、异常、正则表达异常 当你的程序中出现某些异常的状况的时候,异常就发生了。例如,当你想要读某个文件的时候,而那个文件不存在。或者在程序运行的时候,你不小心把它删除了。数组越界了。使用了没有键的字典。上述这些情况可以使用异常来处理。 假如你的程序中有一些无效的语句,会怎么样呢?Python会引发并告诉你那里有一个错误,从而处理这样的情况。 使用方法: try: pass # 1. 必跑 except ErrorType: pass # 2. 1出现异常则进入2 except: pass # 3. 异常类型不是2中的ErrorType,进入3 else: pass # 不管2、3有没有run,必跑
  • 43. 输入输出、异常、正则表达异常 这里分享我的一个小技巧: 当数据保存到字典的时候,可以使用异常来减少代码
  • 44. 输入输出、异常、正则表达正则表达 指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式通常缩写成“regex”。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”); 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。 正则表达式的特点是: 1. 灵活性、逻辑性和功能性非常的强; 2. 可以迅速地用极简单的方式达到字符串的复杂控制。 3. 对于刚接触的人来说,比较晦涩难懂。
  • 45. 输入输出、异常、正则表达正则表达-正则表达式元字符和语法
  • 46. 输入输出、异常、正则表达正则表达-正则表达式元字符和语法
  • 47. 输入输出、异常、正则表达正则表达-正则表达式元字符和语法
  • 48. 输入输出、异常、正则表达正则表达-re模块 这里用到re模块中的match方法,这个方法比较慢,属于轻量级的,如果遇到任务量较大的匹配,建议使用search方法,用法跟match一样。这两个方法后面都有缺省的参数,如pattern.match(a, re.I),re.I加上去就是匹配时忽略大小写,这些参数有re.L、re.M、re.S、re.X等。更详细的资料可以网上搜索或者私下交流。
  • 49. 输入输出、异常、正则表达练习一下吧: 创建一个文本文件,写入三行字符串,字符串必须包含3个“|”,完成后保存 在1的基础上对这个文本文件进行分析,将第二个“|”和第三个“|”中间的内容打印出来,可使用re模块,或者其他方式。
  • 50. Day 5Web UI自动化
  • 51. Web UI自动化使用Jenkins触发自动化 Jenkins ServerWindows Server 使用MobaSSH模拟SSH环境、使用PsExec显性执行自动化 SSH发送命令: 更新svn,copy文件,运行robot 结果展示
  • 52. Web UI自动化如何编写自动化用例 - Robot IDE
  • 53. Web UI自动化如何编写自动化用例 - Robot IDE 安装selenium 安装wxPython 安装RIDE 将webDriver(exe文件)放入C:\\Python27目录 安装包地址: \\192.168.7.156\Install2\Installers\Python
  • 54. Web UI自动化如何编写自动化用例 编写规范: http://wiki.qbao.com/display/qccenter/RFAutomation SVN: http://192.168.7.237/ngsvnroot/qccenter/auto
  • 55. Web UI自动化如何编写自动化用例 – 编写
  • 56. Web UI自动化如何编写自动化用例 – 编写
  • 57. Web UI自动化练习一下吧: 根据已有的用例编写自动化用例 用例名称: 已登录用户点击立即预订 用例步骤: 1.登录用户进入海选好车车辆详情页 2.点击立即预订按钮 预期结果: 跳转到订单确认页面