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自动化测试-环境搭建之安卓SDK

认识Python&基础环境搭建

Docker 搭建 Django+Mariadb 环境

Appium python自动化测试系列之appium环境搭建

手机自动化测试环境搭建(eclipse+python+uiautomator)

Selenium2+python自动化1-环境搭建(悠悠课程之路)