wordpress在这个站点注册,企业网站优化的三层含义,代售网站建设,wordpress文章末尾添加内容我们的目标是#xff1a;按照这一套资料学习下来#xff0c;大家可以独立完成自动化测试的任务。
上一篇我们讨论了使用模块化测试的测试模型#xff0c;从某一程度也反映出熟练掌握一门编程语言的重要性。 为了后续进一步深入学习。本篇文章主要做下Python基础知识的复习。… 我们的目标是按照这一套资料学习下来大家可以独立完成自动化测试的任务。
上一篇我们讨论了使用模块化测试的测试模型从某一程度也反映出熟练掌握一门编程语言的重要性。 为了后续进一步深入学习。本篇文章主要做下Python基础知识的复习。大家也可以参考着练习一遍可以快速低恢复编写基本代码的能力。适用于一段时间没有使用python现在做自动化测试要用到的情况。也适用面试前的准备。
一、输出与输入
1、print()
看例子学习
print(hello selenium) #无参数输出name dewi
print(my name is %s%name) #带参数输出字符串number6
print(my enter number is %d%number) #带参数输出数字
print(my name is %s,and i enter number is %d%(name,number))#两个参数输出 2、input 输入
favourite_color input(pls enter your color you like:)print(your favourite color is %r%favourite_color) #不确定输入的内容输出可以用%r 二、python 数据类型
数据类型包含数字、字符串、列表、元组、字典 1、数字
数字是较广泛的数据类型
整形 int 如 1
浮点数 float 如 2.1
长整型 long 如1L 当一个整数后面有L那么就是长整型
正因为2版本整型的不严谨python 3 版本取消了长整型。
print(float(5)) #类型转换整型转化为浮点型 数字运算
数字的运算符 - * / % 取余 **求方 // 整除
print(11) print(4/2) #除法结果2.0print(4//3) #整除结果1print(4%3) #取余结果1 2、字符串
定义字符串是有序的不可修改的元素以引号包围的序列
符号 单引号 双引号 三单 三双
用不同的引号可以避免字符串中有 等符号的情况交叉使用
a abcdefgprint(a[1]) #输出为b,序号从0开始#截取有下限没有上限aabcdefgprint(a[1:3]) #打印出bc 3、列表
字符串是一个不可以修改的序列当我们对字符串修改的时候实际上是生成了一个新的被修改的对象而原字符串没有变化。但是列表是一个可以修改的序列会修改到他本身
所以我们需要变量指出。
赋值有三种
1直接赋值 a 1
2链式赋值 a b 1
3, 序列解包赋值 a,b 1,2 等号左边的和右边的值数量要一致 列表定义是一个有序的可以修改的元素以逗号分隔以中括号包围的序列。
列表的定义
1list
2[ ]
3range
4xrange
python 3 取消了xrange, range 和xrange 效果一样 list1[a,b,c,d,e,f]
print(list1[3]) #输出d #列表的修改
ourlist list(12345)
print(ourlist)
ourlist[0] a
print(ourlist)
输出[a, 2, 3, 4, 5] 4、元组
元组的定义元组是元素以逗号分隔以小括号包围的有序的不可以修改的序列。 ourtupletuple(12345)
print(ourtuple)
输出(1, 2, 3, 4, 5) 元组和字符串的区别都是不可以修改的序列
元组的元素可以使用任何元素字符串的元素为字符
元组的元素长度可以是任意的字符串的元素长度只能为1 5、字典
字典定义一个无序的可以修改的序列
元素键值对的形式以大括号包围的无序的序列。字典是python的基础数据类型当中唯一一个映射关系的数据类型通常对应JSON。 定义{1“a”,2:b,3:c} zip 函数 将几个序列对应索引上的元素分到一个元组当中形成一个大元组子元组的个数取决于最短序列的长度 mydict {name:zhangdan,password:888888}
print(mydict)print(mydict.keys())
print(mydict.values())
输出
dict_keys([name, password])
dict_values([zhangdan, 888888]) 字典的特点
因为字典是无序的所以字典没有索引值因为字典没有索引值所以字典以键取值字典的键相当于列表的索引
因为字典以键取值所以字典的键唯一且不可以修改。不可以重复
字典的方法 字典到的取值 Keys 获取字典所有的键 values 获取字典所有的值 #循环打印key,value值for key,value in mydict.items():print(mydict keys is %r%key)print(mydict values is %r % value)输出
mydict keys is name
mydict values is zhangdan
mydict keys is password
mydict values is 888888 #zip 方法举例keys [d,c,a]values[3,5,7]for key,value in zip(keys,values):print(key,value)
输出
d 3
c 5
a 7 三、流程控制
1、if语句
if 语句
if语句判断语句只有满足if 条件才执行if下的语句块
if elif else
if(条件) block 语句块
elif(条件) #可以有多个 block 语句块
else: block 语句块 #举例if elif else 用法scores 88if scores90:print(A)elif scores80:print(B)elif scores70:print(C)elif scores60:print(D)else:print(E) 2、for 循环
python 当中的for循环与其他语言不通。
其它语言
for(var int i 1;i6;i)
{ block
}
python 语言
for in 结构
for 变量 in 可迭代对象 block
for 循环实质上是将后面可以迭代的对象元素依次赋值给前面的变量每赋值一次就执行一次
#for 用法举例for i in range(1,10,2): #1-10不包括10,步长2print(i)
输出1、3、5、7、9 四、函数和类
1、函数
定义就是将我们要执行的代码进行结构整合形成可以被调用的代码块这个代码块就是函数
函数是可以重复调用的代码块
函数比较代码复制
1减少冗余代码
2代码结构清晰
3有助于保持代码的一致性
函数包含内容如下
1关键字 def
2 函数名 字母开头不允许有关键字不允许有特殊符号不允许有莫名其妙的a,b等函数名
3参数定义在参数括号里调用时传入作用在函数内部的变量
(1)如果有写在括号中
(2)没有就写空括号
4内容块 #函数举例def add(m,n):return mnprint(add(6,9)) #输出152、类和实例 1类的结构形式
class person(object): #类的语句块 pass
#class 类名基类
#object是我们python里面所有类的基类
# person是有object发展而来。3.0默认全部继承object类 2类的实例
#新建一个符合这个类的标准的一个类的实例对象
#类的实例就是 实例 类名()
xiaohong person()
xiaoming person() #类的成员函数是定义在类这个块里说明
1第一个参数是self
2调用成员函数不一样
3类的成员函数是一个全局的函数全局唯一不会随着类的实例化多个而出现多个
4property 修饰的方法或成员函数 1方法必须只能self参数不能有其他 2方法调用时不可以写 3简单点的例子
class Cal(object):def __init__(self,m,n):self.m mself.n ndef add(self):return self.mself.n calculate Cal(7,8)print(calculate.add())
输出15 4复杂点的例子
类的实例
1类的实例有一个字典对象用来保存keyvalue
2可以在类的成员函数中使用self.key来访问和存储类的实例的成员变量
3.外部直接可以使用对象的实例.数据成员来获取数据成员的值
dir 函数
1.不带参数时返回当前范围内的变量方法和定义的类型列表
2.带参数时返回参数的属性、方法列表
3.dir类的实例里面有一个__dict__的字典原来存的都是类实例的数据成员
例如
class person(object):def init_person(self, age, name, sex):self.age ageself.name nameself.sex sexprint(self.name)propertydef get_age(self):print(self.age)passpass# 新建一个符合这个类的标准的一个类的实例对象# 类的实例就是 实例 类名()xiaohong person()xiaoming person()# 类的成员函数# 调用成员函数不一样完成具体的事情# 类的实例.函数名称参数# 类的成员函数调用的时候不用我们传self参数python解释器在执行的时候默认传递# self传的类的实例# self 会在函数调用的时候传递xiaohong.init_person(10, xiaohong, girl)xiaoming.init_person(11, xiaoming, boy)# 错误的调用xiaoming.get_age()xiaoming.get_age #正确调用# 调用成员变量print(xiaohong.sex)print(dir())print(dir(xiaohong))print(xiaohong.__dict__)print(xiaoming.__dict__)输出
xiaohong
xiaoming
11
girl
[__annotations__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, a, add, i, key, keys, list1, mydict, name, number, ourlist, ourtuple, person, scores, value, values, xiaohong, xiaoming]
[__class__, __delattr__, __dict__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __gt__, __hash__, __init__, __init_subclass__, __le__, __lt__, __module__, __ne__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__, __weakref__, age, get_age, init_person, name, sex]
{age: 10, name: xiaohong, sex: girl}
{age: 11, name: xiaoming, sex: boy}
今天就先学习到这里吧。
每天进步一点点加油