Python 零基础入门
1.1 Python介绍
Python 是一门优雅且健壮的面向对象解释型计算机程序编程语言,具有面向对象、可升级、可扩展、可移植 语法简洁清晰易学、易读写、易维护、健壮性、通用性、跨平台等特点。目前广泛应用于人工智能、机器学习、 科学计算、大数据分析、图像处理、爬虫、区块链、自动化测试、测试开发、自动化运维、Web 开发、接口开发 网站搭建等领域。
1.2 环境搭建
本书介绍的是基于 Windows 平台上进行安装,以及选择 Eclipse 4.5.2+Python 3.6.4+ PyDev 的安装环境,因为
Eclipse 功能强大,同时兼容 Windows 和 Mac,支持 Java 和 Python 等。
安装 Python 3.6.4,下载地址:https://pan.baidu.com/s/1diUgNzfMXgLhMQ ZjNNcNKA。官网下载地址:https://www.python.org/downloads/。
如图 1.1 所示,选择版本 Python 3.6.4,单击“Download Python 3.6.4”下载,下载后双击安装包,进入 Python安装向导,选择默认设置进行安装即可。
设置环境变量“C:UserszhAppDataLocalProgramsPythonPython36”。
▲图 1.1
1.2.1 安装 JDK 1.7
下载解压文件夹进行默认安装,设置 Java 环境变量,右键单击“我的电脑→属性→高级→环境变量”,新建
系统变量 JAVA_HOME 和 CLASSPATH。 变量名:JAVA_HOME。 变量值:C:Program FilesJavajdk1.7.0_80。
变量名:Path。
变量值:%JAVA_HOME%in;%JAVA_HOME%jrein;。
变量名:CLASSPATH。
变量值:;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;。
测试环境安装成功:运行 CMD,输入 java –version,如果成功则出现 Java 信息,如图 1.2 所示。 安装文件路径:https://pan.baidu.com/s/1gf4Ym3L。
▲图 1.2
1.2.2 安装 Eclipse
设置 IDE 集成开发环境,注意确认 Windows 系统是 32 位还是 64 位,Eclipse 版本需要与之对应。
下载地址:https://pan.baidu.com/s/1dF0sBcP。
1.2.3 安装配置 Python 3
Python 2 与 Python 3 在语法上有较大的一些差异,比如输出字符,Python 3 为 print (‘hello python3’); Python2为 print‘hello python2’。
比如异常处理,Python 3 为 exception exc as e; Python 2 为 exception exc,e。
比如操作 MySQL,Python3 为 import pymsql;Python2 为 import mysqldb。
由于官方未来将停止更新和维护 Python 2,所以个人建议用 Python 3。下载地址:https://www.python.org/downloads/。
配置环境变量:C:UserszhAppDataLocalProgramsPythonPython36。 测试环境,运行 CMD,输入 Python,如输出如图 1.3 所示信息则表示配置成功。
▲图 1.3
1.2.4 安装 PyDev
在线安装 PyDev,插件的官方网址:http://www.pydev.org/。在 Eclipse 里,单击“HelpInstall New Software”
单击“Next”按钮,选择默认设置进行安装。
1.2.5 配置 PyDev
接下来配置 解释器路径,
在弹出的对话框中单击“Add”按钮,在 Name 中选择 PyDev,在 Location 中输入http://www.pydev.org/update_sites/4.5.5/,单击“OK”按钮,如图 1.4 所示。如果是最新版本的 JDK,则输入http://pydev.org/updates。
Python 在 Eclipse 中,单击“Windows→Preferences”,然后在对话框中单击“PyDev→Interpreters→Python Interpreter”,单击“New”按钮,选择 Python.exe 安装路径,单击“OK”按钮,如图 1.5所示。
如图 1.6 所示,安装好环境后,就可以创建 Python 工程了。
▲图 1.4
1.2.6 新建一个项目工程
单击“FileNewProjects”,选择 PyDev-PyDev project,输入项目名称:Python。 新建 Python 文件:hello。
▲图 1.5
▲图 1.6
|
#include utf-8
|
单击“运行”按钮,可以看到控制台输出 hello python,如图 1.7 所示。 程序可以正常运行,说明 Python 的环境搭建成功了。
|
▲图 1.7
1.3 基础知识
本章仅简要介绍测试开发会用到的一些 Python 基础知识,如图 1.8 所示。如要了解更详细的内容,请参考Python 专业书籍和官方资料。
1.3.1 语句与语法
1.Print 语句,print(“hello”)
▲图 1.8
逗号:打印多个表达式时用逗号(,)分开,列表中多个值用逗号分开,参数中多个值用逗号分开。
分号:一行中写多条代码时需要加上分号(;),如果只写一条代码,可以加也可以不加。
冒号:用冒号(:)、缩进及空格来区分代码块, 在 if class def 类、函数、循环、分支等。
示例:
|
if True:Print(“hello,python”)
Else:
|
引号:单引号、双引号、多引号都可以表示字符串。 加号:加号可表示连接字符串,也可以表示加法运算符。 缩进:四个空格键,多一个空格、少一个空格或 Tab 键都会报错。 注释:单行注释使用#,多行注释使用′′ʹ ′′ʹ。
2.编码格式
# -*- coding: UTF-8 -*-:表示支持 UTF-8 中文。 Encode(“utf-8”):表示以 UTF-8 编码对对象进行编码,获取 byte 类型对象。 Decode(“utf-8”):表示以 UTF-8 编码对对象进行解码,获取字符串对象。
3.标识符 大小写敏感,第一个字符必须为字母或下划线,不能使用字符、数字、下画线之外的特殊符号,不要与关键字重名。 常见关键字有:Print,class,def,for,if,else,or,in ,is,import,except,from,try,pass 等。
1.3.2 数据类型1.基本数据类型
1)数字类型 整型int
Print (100):输出 100。 浮点数 float
Print (100.00):输出 100.0。 布尔型
布尔型数据类型,其值是 True 或 False,它实际上是内置整数类型 int 的子类,其 True 可设置为整数 1,False可设置为整数 0,True+1=2。
print (True+1) 运行结果为 2。
|
如需将多个字符串连接起来,可以用(+)连接,Strname1=“fin”, strname2=“is”, strname3=“ok”,Strname== strname1+‘ ’+strname2+‘ ’+strname3。 3)标准型函数
列表:在 Python 中最常用,相当于 Java 里面的数组,用[]来定义空,访问列表等值用 alist [0] ;alist [1:3]。
|
aList = []
|
元组:用小括号表示,功能与列表类似,区别在于元组中元素不能修改。 字典:相当于哈希表,即键-值(key-value)组成。
数据类型转换:str(x)将 x 转换成字符串类型。 1.3.3 运算符和表达式
1)算术运算符,a=1,b=1,c=a+b,即 c=2。有+、、*、/等算术符。 2)比较运算符,if(a==b),print (“a 等于 b”)。 3)赋值运算符,c=a+b,= 即为简单的赋值运算符。 4)逻辑运算符,if(a or b),其中 and or not 代表布尔值与或非。
1.3.4 变量和赋值
Number = 100 #定义了整型变量并赋值。 1.3.5 基本控制流程
1)If else elif 条件分支语句 2)for 语句遍历一个列表或字符串等
|
Fruits = [“apple”, “banana”,“grape”,“mango”]
Print (fruit)
|
3)pass 语句,即不做任何事情。
1.3.6 类和对象 面向对象语言都包括类、属性、方法、对象(包含了类成员变量和方法)、实例化和继承等概念。
|
Class Test: #定义 Test 类i=100
Def num(self):
|
Return ‘hello’t=Test() #实例化Test类
Print(“Test 类的属性是”,t.i)Print (“Test 类的方法是”,t.num())Class Test(self):
|
表明 Test 继承类基类 self。 1.3.7 函数
|
Def test():
|
自带函数:如 str(x),int(x),len(x),open(fn‘w’)。 参数:有必选参数、默认参数、可变参数、命名关键字参数和关键字参数。 关键字参数允许传 0 个或多个参数;
|
Def user(name,age,sex)Print('name:'name,'age:'age)
|
参数为 name,age,sex。
|
Def user(name,age=18)Name='zouhui'
Name = name +'is greate'
|
必选参数 name,默认值参数 age。
|
Def user(*ages)Age=18
For i in ages
Return age
|
可变参数 ages,返回值为 age。 1.3.8 模块导入和包导入
引用模块或包 import time、sys 是指引用了 time 和 sys 模块。 自定义模块 From X import X 是指从某个模块或某个包导入某个对象。
1.3.9 异常处理
1.4 实例讲解
1.4.1 文件操作实例 将内容写到相应的文件中,读取并打印到控制台,布局结构示例如图 1.9 所示。
|
程序清单:
▲图 1.9
|
# -*- coding: UTF-8 -*-
def wfile(): #定义写文件函数try:
filename="C:\Users\zh\"+"test.html" #定义文件路径和文件名变量except IOError:
print ("file create error") #文件异常处理else:
fp=open(filename,'wb') #打开写文件fp.write("test".encode('utf_8')) #将 test 字符串写入到文件中fp.close() #关闭写文件
def rfile(): #定义读文件函数try:
filename="C:\Users\zh\"+"test.html" #定义读文件路径和文件名变量
fp=open(filename,'r') #打开读文件except IOError:
print ("file open error") #文件异常处理else:
for f in fp: #循环读取每行数据
|
print ("file data is "+ f) #打印数据fp.close() #关闭读文件
if __name__ == '__main__': #程序调用 main 主函数#readSQL()
wfile() #调用写文件函数rfile() #调用读文件函数print ('Done!') #输出‘Done’完毕
|
运行结果:
|
file data is test
|
1.4.2 数据库操作实例 写基于 Python 的 MySQL 数据库的查询 |
语句编程实例,其他增删改与此类似。
|
# -*- coding: UTF-8 -*-
def readSQL(): #查询 SQL 语句
sql="SELECT id,`apiname`,apiurl from apitest_apistep where apitest_apistep.Apitest_id=2 "
#打开 MySQL 数据库连接
#获取数据库操作游标
|
info = cursor.fetchmany(aa)
print(info)
#关闭游标cursor.close() #关闭连接coon.close()
if __name__ == '__main__':
print ('Done!')
|
执行后查询结果数据如下:
|
((1, '登录', '127.0.0.1:8000/login'), (2, '购物', '127.0.0.1:8000/login')) Done!
|
主函数:表示主程序调用 main()函数即入口,格式固定如下即可:
|
if __name__ == '__main__':
print ('Done!')
|
本文节选自:《自动化平台测试开发-Python测试开发实战》第一章