python基础和安装配置,自动化测试定位(简单定位),csv文件,函数,列表,元组,字典

1.模块
a.模块的定义
python中模块就是一个以.py结尾的文件
模块可以把一个复杂程序按照功能分开,放在不同的文件夹
公共模块放在python安装目录下Lib中
b.模块的使用方法
模块都是以.py结尾
模块导入的方式
import 模块
调用模块中函数时候一定要加模块的名字
from 模块 import xxx
直接使用导入模块的函数
from xxx import *
import xxx as xxx
c.os模块
os模块是系统自带,使用前必须要导入
d.sys模块
sys.version 当前python的版本号
sys.path python的环境变量
e.模块的安装
建议:搜索模块时候找pypi(python API)
1.单文件模块
安装方法:直接拷贝文件到指定文件夹$python_dir/Lib
2.多文件模块
安装方法:
下载模块压缩包
解压压缩包
进入到解压后的文件夹,(命令提示符)执行python setup.py install
3.easy install 方式
easy install 包名字
easy install 包.egg
4.pip方式
系统中已经安装好pip,也已经设置好环境变量
强烈推荐:不要升级pip

2.自动化测试
a.自动化测试环境搭建
a1.python的安装
a2.pycharm的安装和配置(interpreter)
a3.selenium模块安装
1>win+r–cmd–pip install selenium
2>下载源码–解压–python setup.py install
a4.chrome webdriver的安装
selenium 2.x版本自带firefox浏览器驱动
selenium 3.x版本所有浏览器驱动都要自己下载(webdriver和浏览器的版本需要对应)
强烈建议:关闭浏览器自动更新
1>查看chrome的版本
帮助–关于xxx 81.0.4044.113
2>下载chrome webdriver驱动(对应浏览器版本)
http://npm.taobao.org/mirrors/chromedriver/
3>下载后把解压后的文件复制到python的安装文件夹下
4>测试代码
a5.常见问题
1>命令提示符中提示pip不是系统命令
解决办法:
11>进入到python安装路径下的Scripts文件夹中进行操作
12>设置环境变量
计算机–属性–高级–环境变量-系统变量–Path中添加
;python的安装路径下的Scripts文件夹–确定x3
2>没有安装selenium模块
解决办法
21>重装selenium(pip\源码)
22>pycharm的设置
file–settings–project-project interpreter (默认…venv\python.exe)
–小螺丝–add–system interpreter–点击…–找到python.exe
(需要把project interpreter替换为系统中的python)
3>webdriver need xxx in path(webdriver 系统环境变量中没设置)
解决办法
把下载好的webdriver复制到python的安装路径下
3.selenium的元素定位方法
浏览器的F12功能(开发者工具),右键元素检查,查看对应元素的前端代码
a.对元素的常见操作
click() 点击
clear() 清空
send_keys() 发送输入内容
b.id定位
c.class定位
d.tag定位
html是通过tag来定义功能的比如input标签
工作中直接使用比较少,很难通过tag标签去区分不同元素
e.通过link定位
专门定位超文本链接,比如百度新闻等
f.通过partial_link定位
超文本链接文本很长,全部输入会浪费资源,这种方式叫做模糊匹配
g.xpath定位
理想状态下,页面中会有id,name,class,超链接等等,实际情况则不是
h.css定位
类选择器 .类名
id选择器 .id名
标签
i.通过name定位

1.文件操作
a.文件操作的应用场景
1>网站记录日志的时候
2>报表
3>爬虫爬取的数据写入到文件中
4>招聘网站的简历的导入导出
b.普通文件的读取和写入追加
1>读文件
open函数,常见有2个参数,第一个参数是文件路径,第二个参数是对文件的操作
2>写文件
open函数的第二个参数w,代表写,write只能写入字符串
注意:如果文件被占用,是无法进行其他操作的
3>文件的追加
open函数的第二个参数a,代表追加,追加时候注意换行
c.练习:
作业写的登录程序中,记录登录时候所输入的错误的用户名,写入到日志文件
作业写的登录程序中,记录密码错误时候所输入的密码,写入到日志文件
2.csv文件操作
a.csv文件是什么
逗号分割值,文件以纯文本形式存储表格数据
b.csv文件的读写
1>csv文件的读
使用python处理excel文件需要导入excel模块(自带)
import csv
2>csv文件的写
python生成excel文件兼容csv的话,创建参数必须有dialect=‘excel’
3.函数的定义和调用
a.什么是函数
开发时候使用指定代码多次,为了提高代码效率和重用性所以把多个功能代码组织为一个模块,函数可以使用自带函数
例子1:登陆网站(用户名、密码、按钮)
1.打开网页
2.点击用户名输入框
3.清空用户名输入框
4.输入用户名信息
5.点击密码输入框
6.清空密码输入框
7.输入密码信息
8.点击登陆
例子2:登陆网站
1.打开网页
2.操作用户名
点击xxx
清空xxx
填写xxx
3.操作密码
点击xxx
清空xxx
填写xxx
4.点击登陆
例子3:登陆网站
定义一个函数叫做信息输入
def 信息输入(信息类型,信息):
点击 信息类型 输入框
清空 信息类型 输入框
填写 信息
信息类型:
用户名
密码
1.打开网页
2.调用函数信息输入(用户名,‘admin’)
3.调用函数信息输入(密码,‘123456’)
4.点击登陆
b.函数的定义和调用
def 函数名字(参数):
执行语句(业务逻辑)
函数名字(参数)
内置函数可以直接使用,调用一个函数需要函数的名字和参数,函数的名字是一个函数对象的引用,也可以把函数赋值给变量
c.函数的常用格式(参数)
c1.无参数,无返回值(自己工作,散养)
c2.无参数,有返回值(主动发周报)
c3.有参数,无返回值(领导安排任务,不管效果)
c4.有参数,有返回值(领导安排任务,要求汇报完成情况)
d.return语句
d1.返回值定义
函数在定义时候可以直接输出,但是有时候需要对函数进行一系列操作,需要返回值
d2.return和print区别
return语句返回计算的结果和值,需要print才能打印出来
print语句是直接输出到控制端
d3.return语句
一般用于退出函数,return下面语句是不执行的
一个返回值
多个返回值
e.函数的命名方法
大驼峰 每个单词的首字母都大写Print_Name()
小驼峰 第一个单词首字母小写,后面单词首字母大写 print_YourName()
f.函数的传参
f1.函数的形参和实参
def Print_name(name):
print(‘your name is %s’% name)
Print_name(‘heygor’)
形参是函数定义时候括号中的name,实参是调用函数传入的heygor
定义在函数体内的是形参,调用函数传入的是实参
f2.参数传递-实参位置
函数允许有多个形参,有多个实参,通过形参和实参的位置对应顺序就是实参位置
f3.参数传递-关键字参数
关机子参数传递名称-值对,直接在命名和值对应就不会混淆
f4.参数传递-参数默认值
函数定义时候设置形参,形参有默认值,当函数在调用时候没有实参就是用形参默认值
f5.参数传递-不定长参数
有时候函数处理比当初声明更多参数叫做不定长参数
*args 参数传入数据装配成元组
**args 参数传入数据装配成字典

1.字符串
a.应用场景
1>用户名、密码、邮箱
2>电话号码升级
0452-8869504
0452-68869504
3>爬虫网站域名
www.baidu.com----baidu
www.acfun.com----acfun
4>分词
hello, im your baba!!!
你知不知道我知道你知道我不知道你知道
5>密码破解
b.字符串的索引
索引:下标从0开始,可以从左到右,也可以从右到左
b a i d u
0 1 2 3 4
-5 -4 -3 -2 -1
注意:
IndexError: string index out of range
索引超出范围
c.字符串的切片
切片:通过索引截取所需要的信息,string[x,y]截取的信息x,y-1(前闭后开,左闭右开)
d.其他操作
1>字符串的拼接(字符串和字符串)
2>遍历
3>去空格
4>计算长度
e.补充
1>find和index
find:检测字符串是否包含在字符串序列中,返回开始的索引值(目标第一次出现的索引),否则返回-1
index:类似于find,找不到目标会报异常
区别:
find只能用于字符串中
index所有序列容器(元组、列表、字符串)
2>isalpha()和isdigit()
isalpha() 检查字符串是否只有字母组成
isdigit() 检查字符串是否只有数字组成
3>upper()和lower()
upper 字符串中字母转换为大写字母
lower 字符串中字母转换为小写
4>startswith和endswith
startswith 检查字符串是否以指定字符串开头
endswith 用于检查字符串是否以指定字符结尾
5>count、replace、split
count 返回序列中所包含的元素个数
replace 替换字符串
split 按照某种条件把字符串拆分成列表
6.引号
单引号
双引号
三引号
注意:常见情况单引号和双引号没区别,特殊情况下双引号包单引号,单引号包双引号
\转移符
三引号用于注释和多行打印

2.列表1
a.序列
序列是python中最基本的数据结构
序列中每个元素分配一个数字把标识他们的位置,也就是索引
列表和元组使用最多
序列都可以进行索引、切片、拼接
b.列表的应用场景
1>taobao中商品加入购物车
2>自动化投简历屏蔽某些公司
3>爬虫页面筛选信息
c.列表的定义
列表是python中最常见数据类型,中括号中分开元素,元素可以是不同类型
l=[1,2,3]
l=[1,‘08ma’,‘ladeng’,2]
l=[1,2,[3,4]]
d.列表的访问
直接输出
遍历
成员访问
e.列表的索引和切片
索引理解为下标,左侧从0开始,右侧从-1开始
f.列表的拼接
g.列表的更新
通过索引来设置对应位置的数据变化
h.列表的删除
del可以删除指定元素,也可以删除整个列表
3.列表2
a.栈的方式访问列表
队列 先进先出,后进后出
栈 后进先出,先进后出
append() 追加
pop() 弹出、删除
b.获取列表的索引
index() 获取元素第一次出现位置的索引
enumerate() 枚举
c.排序
reverse() 反向打印
sort() 排序
d.insert 和extend
insert() 通过索引和值进行元素新增
extend() 扩展(元素、列表)

4.元组
a.元组的定义
元组和列表类似,小括号中包含元素,元素之间通过逗号进行分割
(1,2,3)
(‘a’,‘b’)
b.元组和列表的区别
敏感信息传递给不了解的函数,希望数据不被修改,使用元组
处理动态数据的时候,经常更新,使用列表
元组不可变,列表可变
元组的速度快
c.创建元组
如果元组中只有一个元素,需要在后面加逗号进行转义
d.访问元组
直接访问
遍历访问
成员访问
e.删除元组
del 删除整个元组
f.元组的索引和切片
和列表字符串类似
g.补充
len() 元素的个数
max() 最大值
min() 最小值
index() 元组中某个值第一次出现的索引
count() 元组中某个元素出现的个数

5.字典
a.字典的应用场景
1>接口开发
2>前后端数据传输
b.创建字典
字典是python中的映射数据类型
大括号中键值对组成’name’:‘gaga’
一般是由字符串或者数字作为键
c.访问字典
直接访问
数据筛选
d.删除字典
del
删除指定元素(键值对)
删除整个字典(不能访问)
clear
清空,可以访问
e.修改字典
通过筛选字典的键来进行赋值修改
f.补充
f1.keys(键)
f2.values(值)
f3.items(键值对)

python的下载和安装
a.下载
https://python.org/
a1.操作系统类型
windows
linux
unix
a2.操作系统位数
x86 i686 i386 32位操作系统
x64 x86_64 64位操作系统
a3.软件版本
python2
python3
b.安装
傻瓜安装(下一步)
Add Python To Path(添加python相关信息到环境变量里)
3.python的开发环境
pycharm
eclipse+pydev
sublime text
vi/vim

4.python的运行环境
IDE(图形开发工具)
IDLE
命令提示符(win+r–cmd)—python
命令提示符—python 文件名
5.python的输入和输出
a.输出的应用场景
a1.淘宝中搜索信息,返回的内容
a2.错误信息调试时候输出
a3.访问网页不存在(404)
a4.网站用户名提示信息
b.输出
b1.直接输出
b2.变量输出
b3.函数输出
b4.格式化输出
c.输入的应用场景
c1.注册用户填写信息
c2.搜索框中输入信息
c3.前后端交互
d.输入
d1.input python2中接受键盘传入数字类型数据,python3中接受键盘传入的字符类型数据
d2.raw_input python2中接受键盘传入的字符类型数据,python3中已经废弃
e.数据类型转换
type() 查看变量的数据类型
int() 数据转换为整型
str() 数据转换为字符串
6.运算符和表达式
a.算数运算符
a1.应用场景
1>计算工资
2>计算员工
3>网站在线用户数量
4>app中记录跑了多少步
a2.python中的算数运算符
+ 两个对象的和
- 两个对象的差
* 两个对象的积
/ 两个对象的商
% 求余
// 取整(向下取整,取整数部分)
** 指数
python2中数据整型的话不保留小数部分(取整),浮点类型除外(小数)
python3中无论怎样都是真除(保留小数点)
b.比较运算符
b1.应用场景
1>年终奖发放
2>登陆网站时候输入用户名和密码
3>订单是否打折
b2.python中的比较运算符
==
>
<
>=
<=
!=
比较运算符返回的值是True或者False
c.逻辑运算符
c1.应用场景
1>某宝中搜索地区是深圳,售价200以下的手机
2>注册用户时候可以使用账号密码、QQ、微信
3>快递青海不包邮
c2.python中的逻辑运算符
and 同时满足条件
or 满足一个条件即可
not 不满足条件
d.成员运算符
d1.应用场景
1>用户名是否被注册过
2>黑名单是否封禁
3>某宝中选择多个品牌
4>勾选商品
d2.成员运算符
in 如果在指定的序列中找到值,返回真,否则返回假
not in 如果在指定序列中没有找到该值,返回真,否则返回假

7.分支流程控制
a.应用场景
1.订单是否有收货地址
2.用户登陆时候用户名和密码是否正确
3.对薪资进行分类
4.结合运算符进行判断
b.条件判断
1.单分支
只针对一个语句进行判断(可以有多个条件)
if 判断条件:
执行语句
例子:
假如我是梅西:
我一点都不慌
2.双分支
针对两个语句进行判断,如果第一个语句不满足就一定满足第二个
if 判断条件:
执行语句
else:
执行语句
3.多分支
针对多个语句进行判断,从上到下进行判断
if 判断条件:
执行语句
elif 判断条件:
执行语句

else:
执行语句
例子:
假如月薪超过1w:
买块手表
假如月薪在5k和1w之间:
买套西装
其他:
去越南买个老婆!
4.注意
1.每个语句后面需要使用冒号,冒号后面接下来是满足条件后你需要做的事情
2.使用缩进划分语句块,相同缩进语句在一起形成语句块
3.python中没有switch-case语句
4.判断可以进行嵌套,一个判断语句中可以嵌入多个判断
8.循环
a.循环的应用场景
1.输入密码不能超过3次
2.不输入正确付款码不能进行下一步
3.爬虫解析页面从头到尾
4.重复利用资源
b.for循环
可以遍历任何序列的项目,比如一个列表或者一个字典或者字符串
for 变量 in 列表、元组、字典、函数:
执行语句

c.while循环
	while循环后面判断条件只能实真或者假的,如果为真继续执行,如果为假,不执行
	while 判断条件:
		执行语句
d.跳出循环
	continue 跳出本次循环
	break 跳出整个循环
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值