Python环境搭建&基础知识(为自动化做准备)
Posted 软件测试小dao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python环境搭建&基础知识(为自动化做准备)相关的知识,希望对你有一定的参考价值。
Python环境搭建
Windows中,Python 环境的安装
1、安装 Python,并设置环境变量
Python官网下载个Python安装文件,进行安装(比如安装在 c:\\Python34下)
右键-我的电脑(计算机)-属性-高级-环境变量-系统变量-Path
光标移动到最后,添加 ;C:\\Python34\\Scripts;C:\\Python34
检查环境变量是否设置好?
cmd命令行里输入: python
2、安装 JDK,并设置环境变量
根据自己电脑32还是64位,下载安装对应版本即可
i386/ i586 /i686 : 都是32位的
x64 : 是64位的
设置环境变量:
新增一个系统变量:
名称: JAVA_HOME
变量值: C:\\Program Files\\Java\\jdk1.8.0_144
Path:
;%JAVA_HOME%\\bin
检查环境变量是否设置好?
cmd 命令行输入: java -version
3、安装 PyCharm
PyCharm是一个编写 Python 代码的工具,可以网上搜索下载
Python对于以前没有编程基础的童鞋来讲,也是一样非常容易上手的;而且现在AI人工智能等技术,都是用的Python,所以我们掌握好Python是非常重要的。
而且,学习会了Python,再去学习 Shell, Java 等等,都是可以更快速上手的。
以下为简单的总结了一些必须掌握的知识点(为以后做自动化做准备):
常用数据类型介绍
数字
字符串
数组
元组
字典
条件语句
if .. else
与、或、非
循环
for
while
以下为一些代码分享
# 单行注释
# ctrl + /
'''
多行注释
12
23423
23423
'''
"""
多行注释
23423
2354
23523
"""
# 字符串类型 '' ""
# print('Hello')
# print("Hello World")
#
# # 数字类型
# print(1)
# # 字符串类型
# print('1')
# 变量
# a = "你好"
# print(a)
# name = '华仔'
# age = 19
# print('我叫%s,我今年%d岁' %(name,age))
"""
Java里的写法:
string name = '华仔'
int age = 19
print("我叫"+name+",我今年"+age+"岁")
"""
# 数组类型 list
# a = [1,2,3,4,5,6]
# # print(a[0])
# # print(a[4])
# # ctrl + d 复制一行
# # 报错 IndexError: list index out of range
# # print(a[6])
#
# # 循环 for
# for i in a:
# print(i)
# # 元组 tuple
# a = (1,2,3,4,5,6)
# print(a[0])
# for i in a:
# print(i)
# 字典类型 dic
# json 接口测试
#print(a['name'])
#
# #定义1个字典类型,包含姓名,年龄,性别,住址等信息,打印一句话:我叫**,今年**岁,性别**,我住在**
# a = {'b':'乐','c':'22','d':'男','e':'深圳'}
# print("我叫%s,今年%s岁,性别%s,我住在%s"%(a['b'],a['c'],a['d'],a['e']))
#
# #定义1个数组类型,包含姓名,年龄,性别,住址等信息,打印一句话:我叫**,今年**岁,性别**,我住在**
# a = ['乐','22','男','深圳']
# print("我叫%s,今年%s岁,性别%s,我住在%s"%(a[0],a[1],a[2],a[3]))
# # if .. else
# a = 4
# if a == 1:
# print("a=1")
# elif a == 2:
# print("a=2")
# elif a == 3:
# print("a=3")
# elif a == 4:
# print("a=4")
# else:
# print("a不是1,2,3,4")
# for 循环
# range(10) 0 .. 9
# for i in range(10):
# print(i)
# range(1,10) 1..9
# tab 缩进
# shifit + tab 反缩进
# for i in range(1,10):
# print(i)
# range(1,10,3) 1,4,7
# for i in range(1,10,3):
# print(i)
# 将1-100所有的偶数都打印出来
# 方法1: 使用到 if
# a = 5
# b = 2
# c = a%b
# print(c)
# 方法2: 不用 if
# for i in range(1,101):
# if i%2==0:
# print(i)
# for i in range(2,101,2):
# print(i)
# while 循环
# a = 10
# while(a<20):
# print(a)
# # a += 1
# a = a+1
# 与 或 非
# 或 or 只要有1个条件成立,则整个条件就成立
# a = 2
# b = 10
# c = 15
# if a == 2 or b == 4 or c ==10:
# print("OK")
# else:
# print("NG")
# and 与 没个条件都要成立,整个条件才算成立
# a = 2
# b = 10
# c = 15
# if a == 2 and b == 4 and c ==10:
# print("OK")
# elif a == 2 and b == 10 and c ==15:
# print("OK222")
# else:
# print("NG")
# 非 !=
# a = 2
# if a != 2:
# print(111)
# else:
# print(222)
# 与 或 非 混合,优先级 and优先级 > or 优先级
# a = 2
# b = 10
# c = 15
# if a == 2 and b != 4 or c ==10:
# print("OK")
# elif a != 2 or b == 10 and c !=15:
# print("OK222")
# else:
# print("NG")
# 计算 1+2+3+4+5+6+...+99+100 的值
#
# sum = 0
# for i in range(1,101):
# sum = sum + i
# print("1+2+3+4+5+6+...+99+100 的值 %d" %sum)
#
#
# # 计算 1-2+3-4+5-6+...+99-100 的值
# sum = 0
# for i in range(1,101):
# if i%2 == 1:
# sum = sum + i
# else:
# sum = sum -i
# print("1-2+3-4+5-6+...+99-100 的值 %d" %sum)
'''
99乘法口诀
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
9*1=9 ... 9*9=81
# print("aaa",end='')
# shell不换行 : echo -ne
'''
# 定义几行
# for i in range(1,10):
# # 定义几列
# for j in range(1,i+1):
# # end 不换行
# print("%d*%d=%2d" %(i,j,i*j),end=' ')
# print(" ")
'''
从键盘输入1个年份,判断该年份是否为闰年
小提示:
闰年标准:能被400整除,或者能被4整除但不能被100整除
int(input("请从键盘输入一个年份:")) String -> int
'''
# try:
# year = int(input("请从键盘输入一个年份:"))
# if year <= 0:
# print("您输入的年份的不合理,请重新输入1个大于0的年份")
# else:
# if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
# print("您输入的年份%d是闰年" %year)
# else:
# print("您输入的年份%d不是闰年" %year)
# except:
# raise NameError("您输入有误,请输入1个数字")
'''
try .. except : Python里的异常处理机制
try .. catch : Java里的异常处理机制
'''
'''
随机生成1个1-200之间的数字,
从键盘输入1个数字,
如果键盘输入的数字大于随机数字,则打印"1",
如果键盘输入的数字小于随机数字,则打印"2",
如果键盘输入的数字等于随机数字,则打印"3",
如果键盘输入的不是数字,则打印"请输入1个数字".
小提示:
import random
random.randint(1,200)
'''
# import random
# a=random.randint(1,200)
# i=int(input('请随机输入一个数字'))
# try:
# if i>a:
# print(1)
# elif i<a:
# print(2)
# elif i==a:
# print(3)
# except Exception as e:
# raise NameError('请输入1个数字')
'''
随机给出1组数字(10个数字),按照数字的从小到大排序打印出来
234,523,52,22,1,45,33,9999,88
1,22,33,45,52,88,234,523,9999
小提示:
a = [1,2,3,4]
print(len(a))
a[i],a[j] = a[j],a[i]
'''
"""
# 升序
a = [4,2,1,5,4,7,9,6]
a.sort()
print(a)
# 降序
b = [4,2,1,5,4,7,9,6]
b.sort(reverse=True)
print(b)
"""
# a = [1,2,3,4]
# for i in a:
# print(i)
# a = [1,2,3,4]
# for i in range(len(a)):
# print(a[i])
'''
a = [1,4,2,3]
1轮:
1,4,2,3
1,2,4,3
1,2,3,4
2轮:
1,2,3
1,2,3
3轮:
1,2
'''
# a = [1,4,7,8,9,6,5,9,9,8,4,2,3]
# # 比较几轮
# for i in range(len(a)-1):
# # 每1轮比较多少次
# for j in range(len(a)-1-i):
# # 如果前面的数字比后面的数字大,则调换顺序
# if a[j] > a[j+1]:
# a[j],a[j+1] = a[j+1],a[j]
# print(a)
'''
随机给出1组数字,打印出最大的那个数字有几个
'''
# sum = 0
# a = [1,4,7,8,9,6,5,9,9,8,4,2,3]
# # 比较几轮
# for i in range(len(a)-1):
# # 每1轮比较多少次
# for j in range(len(a)-1-i):
# # 如果前面的数字比后面的数字大,则调换顺序
# if a[j] > a[j+1]:
# a[j],a[j+1] = a[j+1],a[j]
# print(a)
# for k in range(len(a)):
# if a[k] == a[len(a)-1]:
# sum += 1
# print("最大的数字是%d,有%d个" %(a[len(a)-1],sum))
# sum = 0
# a = [1,4,7,8,9,6,5,9,9,8,4,2,3]
# # 比较几轮
# for j in range(len(a)-1):
# # 如果前面的数字比后面的数字大,则调换顺序
# if a[j] > a[j+1]:
# a[j],a[j+1] = a[j+1],a[j]
# print(a)
# for k in range(len(a)):
# if a[k] == a[len(a)-1]:
# sum += 1
# print("最大的数字是%d,有%d个" %(a[len(a)-1],sum))
'''
计算 1-2*2+3*3-4*4+5*5-6*6+...+99*99-100*100 的值
'''
# sum = 0
# for i in range(1,101):
# if i % 2 == 1:
# sum += i*i
# else:
# sum -= i*i
# print("1-2*2+3*3-4*4+5*5-6*6+...+99*99-100*100 的值为:%d" %sum)
'''
99乘法口诀
'''
# for i in range(1,10):
# for j in range(1,i+1):
# print('%d*%d=%2d' %(i,j,i*j),end=' ')
# print()
'''
随机生成整数,从2-50取数,输入1个数字,如果该输入的数字大于随机数,则输出为'Bigger';
如果该输入的数字小于随机数,则输出为'Less';如果该输入的数字等于随机数,则输出为'Equal';
如果输入的数字不是数字,则抛出异常提示信息'您输入的不是数字'.
'''
# import random
# r = random.randint(2,50)
# try:
# input = int(input("请输入1个数字:"))
# if input > r:
# print("Bigger")
# elif input < r:
# print("Less")
# else:
# print("Equal")
# except:
# raise NameError("您输入的不是数字")
'''
给出一组数字 [1,66,43,25,43,22,18,66,66,25],输出第2大的数字是几,有多少个
'''
# sum_1 = 0
# sum_2 = 0
# a = [1,66,43,25,43,22,18,66,66,25]
# for i in range(len(a)-1):
# for j in range(len(a)-1-i):
# if a [j] > a[j+1]:
# a[j],a[j+1] = a[j+1],a[j]
# print("从小到大排序结果为%s" %a)
# for j in range(len(a)):
# if a[j] == a[len(a)-1]:
# sum_1 += 1
# print("最大的数字是 %d,有 %d 个" %(a[len(a)-1],sum_1))
# for k in range(len(a)-sum_1):
# if a[k] == a[len(a)-1-sum_1]:
# sum_2 += 1
# print("第2大的数字是 %d,有 %d 个" %(a[len(a)-1-sum_1],sum_2))
#
#
#
#
# s=0
# for i in range(1,10):
# for j in range(1,i+1):
# s=i*j
# print('%d*%d=%2d'%(i,j,s), end=' ')
# print()
'''
count = 1
sum_1 = 0
sum_2 = 0
a = []
while(count<11):
print("[总共输入10个数,当前输入的是第%d个数]" %count)
b = int(input("请输入1个数字:"))
a.append(b)
count += 1
for i in range(len(a)-1):
for j in range(len(a)-1-i):
if a [j] > a[j+1]:
a[j],a[j+1] = a[j+1],a[j]
print("从小到大排序结果为%s" %a)
for j in range(len(a)):
if a[j] == a[len(a)-1]:
sum_1 += 1
print("最大的数字是 %d,有 %d 个" %(a[len(a)-1],sum_1))
for k in range(len(a)-sum_1):
if a[k] == a[len(a)-1-sum_1]:
sum_2 += 1
print("第2大的数字是 %d,有 %d 个" %(a[len(a)-1-sum_1],sum_2))
'''
# # 获取列表的第二个元素
# def takeSecond(elem):
# return elem[1]
# # 列表
# random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# # 指定第二个元素排序,降序排列
# random.sort(key=takeSecond,reverse=True)
# # 输出类别
# print('排序列表:', random)
# # print('排序列表:%s' %random)
'''
Python 移动、复制文件
'''
# import os,shutil
#
# def mymovefile(srcfile,dstfile):
# if not os.path.isfile(srcfile):
# print("%s not exist!"%(srcfile))
# else:
# fpath,fname=os.path.split(dstfile) #分离文件名和路径
# if not os.path.exists(fpath):
# os.makedirs(fpath) #创建路径
# shutil.move(srcfile,dstfile) #移动文件
# print("move %s -> %s"%( srcfile,dstfile))
#
# def mycopyfile(srcfile,dstfile):
# if not os.path.isfile(srcfile):
# print("%s not exist!"%(srcfile))
# else:
# fpath,fname=os.path.split(dstfile) #分离文件名和路径
# if not os.path.exists(fpath):
# os.makedirs(fpath) #创建路径
# shutil.copyfile(srcfile,dstfile) #复制文件
# print("copy %s -> %s"%( srcfile,dstfile))
#
# srcfile='C:/test/liulinjie.txt'
# dstfile='C:/tmp/liulinjie.txt'
#
# # mymovefile(srcfile,dstfile)
# mycopyfile(srcfile,dstfile)
'''
Python对列表去重的多种方法(三种方法)
'''
# 1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集
orgList = [1,0,3,7,7,5]
# list()方法是把字符串str或元组转成数组
formatList = set(orgList)
# formatList = list(set(orgList))
print(formatList)
# 结果: [0, 1,3, 5,7]
# 2. 按照索引再次排序
orgList = [1,0,3,7,7,5]
formatList = list(set(orgList))
formatList.sort(key=orgList.index)
print(formatList)
# 结果: [1, 0, 3, 7, 5]
# 3. 使用keys()方法
orgList = [1,0,3,7,7,5]
# list()方法是把字符串str或元组转成数组
formatList = list({}.fromkeys(orgList).keys())
print(formatList)
# 结果: [1, 0, 3, 7, 5]
最后:【可能给予你一定的帮助】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
关注我的微信公众号【软件测试小dao】免费获取~
我的学习交流群:1033482984 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
以上是关于Python环境搭建&基础知识(为自动化做准备)的主要内容,如果未能解决你的问题,请参考以下文章
Appium python自动化测试系列之appium环境搭建