编程语言Python知识点总结 测试技术信息类知识讲解

时间:2021-07-30 12:09:11 作者: MM

一、 索引与切片

#索引 在公司中一般也叫做下标或者角标,可以通过索引位读取序列中的指定元素,索引可分为正向索引和负向索引,索引中正向索引从0开始,负向索引从-1开始

#range 遍历函数(起始位,结束位,隔位)

遍历函数中:包含起始不包含结束,隔位不能为0可以为

Eg: 用range求出100以内的奇数和偶数

print(list(range(0,101,2))) #使用range遍历方法求出100以内偶数

print(list(range(1,101,2)))#使用range遍历方法求出100以内奇数

#二、切片

切片的表达式:str[start_index:end_index:step] [开始索引:结束索引:步长值]

2、解释:

start_index:开始索引(可以取值)

end_index:结束索引(不能取值)

step:步长

注意点:

3、注意点

1)、切片中如果步长不写则默认为1

2)、切片取值从开始索引到结束索引,且结果不包括结束索引位的值 (取到索引位的前一位)

3)、步长从开始索引走起,步长分正负

st= ‘abcdefgihjk’ #step步长值 能取开始索引 不能取结束索引 默认步长为1

print(st[::-1]) # lkjhgfedcba 面试题目:重点把字符串中的值进行反向输出

常见的字符串函数str

字符串的定义:要用单引号或者双引号英文 括起来表示

1、 str.capitalize():(实现首字母大写输出)意思:首写大字母

2、 str.count(‘XX’):统计指定的字符在当前字符串中出现的次数

3、 ””.join(‘XX’):(拼接函数)自动定义分割,来分割当前的字符串(自定义符号)

4、 split分割函数

5、 strip#删除字符串开头和结尾的字符

6、str.lstrip(‘XX’):删除字符串以XX字符开头的内容

7、str.rstrip(‘XX’):删除字符串以XX字符结尾的内容

8、 str.startswith(‘XX’):判断字符串中以XX字符串开头,如果条件成立返回TRUE,否则返回FALSE

9、str.endswith(‘XX’)判断字符串中以XX字符串结尾,如果条件成立返回TRUE,否则返回FALSE

10、find、rfind通过具体的值来找到对应值的索引位,

12、str.replace(‘XX’,‘YY’)替换指定的字符串,且可以指定替换次数

13、replace():replace(substring,newstring,max)

14、str.lower()将字符串中的所有大写字母改为小写

15、str.upper()将字符串中的所有小写字母改为大写

16、isalnum()判断字符串是否是字母或数字,数字和字母的组合

17、isdigit 判断字符串是否是数字

18、slower判断字符串是否是小写

19、isupper判断字符串是否大写

20、#istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否

三、python中的列表:list [ ]

定义列表方法

方法一、直接通过[ ]来定义 ([] 中括号)

list1 =[1,2,3,‘teat’]

print(type(list1)) #  列表类型

方法二、a =‘hello’ #定义一个字符串

b=list(a) #通过list列表类型来将a字符串转换成为列表

通过索引赋值:格式 列表名[ 索引]=“ 新值”

通过切片赋值:格式 列表名[ 索引:]=“ 新值”

append 添加元素

exend 添加函数,(两个列表的拼接)

insert 插入

remove 删除

del 删除

sort 升序

sorted 降序

reverse 反转

pop 删除(默认删除最后一个元素)

index 索引位

四、Python中的元组tuple ()

元组是不可变

1、如果要让做一个值的的元组输出的类型是元组:在数组的后面加上,(英文逗号)s=(1,)

元组转列表

方法一:将元组转换成列表 ,通过list 方法;

(1)第一步转换:s=(1,2,3,4,5) #元组

(2)第二步:转换成列表再进行修改,增加,删除

五、python中的字典:dict类型{} 英文的大括号 也叫花括号

一、列表转换成字典步骤 重点:(使用dict 就可以转换)

第一步:定义一个列表

l =[(‘name’,‘zhangsan’),(‘age’,18)]

第二步:使用dict 将列表转换成字典

di_ct=dict(l)#将列表转换成为字典

第三步:查看字典的类型

print(type(di_ct)) # 字典类型

第四步:在打印字典

print(di_ct) #{‘name’: ‘zhangsan’, ‘age’: 18}

1、字典中添加键值对: 格式:变量名[键] =值

注意:字典中添加新的的键和值,默认体在最后

2、字典中有键,替换值(键不变,值变)

3、通过keys取出对应的键

4、通过values 取出字典中对应的值

5、通过键来获取对应键的值

6、添加设置默认键值setdefault

7、删除键(删除键,值也没有了)del

8、使用for 循环获取key

9、使用for循环获取key,values

10、通过items()方法来获取对应键值对

11、通过pop函数删除指定的键,打印返回对应键的值

12、popitem在字典删除键值对,一般默认在末尾

13、clear 来清空当前字典中的键值对,返回一个空字典

14、get ,get通过键获取对应的值

15、快速生成一个新字典的方法fromkeys

#print ({ }.fromkeys([‘name’,‘age’]))

16、update 方法 将多个字典合并

17、copy 复制字典

18、del删除字典

六、集合:是不同元素的无序集合

1、可变集合(set):集合里面的元素是可以发生变化,集合中可以动态的增加和删除。

2、不可变集合(frozenset):集合里面的元素是不可以发生变化

注意:集合中的元素是无序的,且集合后元素不重复

去重:

一、(1)对列表数据重复的,进行去重

(2)对一个“字符串”进行去重

案例1:对列表数据重复的,进行去重

new = [1,2,33,2,2,99,‘test’] #列表中元素去重

print(type(new))

print(new)

yy=set(new)

print(type(yy))

print(yy)

二、update 添加集合的内容

第一种方法;

test=“hello”

yy=set(test)

print(yy)

yy.update(“8”)

print(yy)

第二种方法:

test = ‘hello’

yy = set(test)

yy.add(‘123’)

print (yy)

三、clear 清除集合种的内容

test = ‘hello’

yy = set(test)

yy.clear() #清除集合中的内容

print (yy)

pop 删除集合中的内容

讲解:pop()方法用于随机移除一个元素例如:set.pop()

备注:不带参数时一般是移除最后一位,但是我们这里删除的是第一位

test=“hello”

yy=set(test)

yy.pop()

print(yy)

remove 删除指定的内容

a=(‘99’,‘88‘)

yy=set(a)

yy=remove(‘88’)

print (yy)

复制集合

test = ‘hello’

yy = set(test)

a=yy.copy()

print (a)

不可变集合 frozenset

只能使用copy:

第一种情况:copy(只能对不可变集合复制,)

test = ‘hello’

yy = frozenset(test)

a = yy.copy()

print (a)

三、 python之判断循环语句

python 循环语句

一、if 判断

二、for 循环

第一种情况:if 单分支 (if 条件判断语句分支)

格式:if 判断条件

执行 语句块1

else:

执行 语句块2

pass的讲解

pss的用法:pass 表示占位,在语句中还没有想好写什么满足条件

注意:python中的pass的作用:

(1)pass 是一个空语句

(2)保证格式完整

(3)保证语义完整

第二种情况:if 多分支 格式:

if 判断语句1:

执行语句块1;

elif 判断语句2:

第三种情况:if 语句的嵌套语句(if中嵌套一个if)

嵌套语句格式:

if判断条件1

if 判断条件2:

# 执行语句块2

# else:

# 执行语句块3

# else:执行语句1

执行语句块2;

elif 判断语句3:

执行语句块3;

elif 判断语句4:

执行语句块4;

三、三目运算

格式: print ( '执行语句1' if 条件判断 else '执行语句2')

二、while循环语句

实例一: i=1 sum=0 while i<=10 sum +=i i+=1 print (sum)

三、for循环语句

1、for循环的语法格式如下: for ... in ... 语句块

四、continue语句

用法:continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进 行下一轮循环。

list = [1,2,3,4,5,6,7,8,9]

for i in list:

if i==6: continue

print (i)

五、break语句

用法:语句会立即退出循环,在其后边的循环代码不会被执行。

list = [1,2,3,4,5,6,7,8,9]

for i in list:

if i==6:

break

print (i)

四、Python中的函数

1、函数:一个工具,随调随用

优点:

(1)降低代码冗余

(2)增加代码的复用性,提高开发效率

(3)提高程序扩展性

(3)函数有两个阶段:定义阶段,调用阶段。

(4)定义时:只检查函数体内代码语法,不执行函数体内代码。

(5)比如:我们存储的过程,就是把所有的语句块,调用

(6)封装:就是把代码片段放在函数当中

2、自定义函数

def 自定义函数名():

函数体

函数 的调用格式 函数名()

举例:def fun():

print(‘请输入密码:’)

调用:fun()

调试时调用多个函数:if __name__=='__main__':

从其他模块调用:import aa (导入aa模块)

aa.fun( )(调用aa模块的fun函数)

3、可变长元组(*list)与可变长字典(**dict)

4、全局变量与局部变量

5、return(函数的返回值)

6、内置函数(format、zip、open、with open、abs、sum、map)

1.1 format(格式化输出函数)

a ='{}'.format('hello','ni','hao')

print(a) #打印结果 hello

1.2 zip(打包函数)

打包:zip(a,b) print(list(zip(a,b)))

解压:s,c=zip(*zip(a,b)) print(list(s))

1.2 open(打开与编辑文件)

open完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file: 必需,文件路径(相对或者绝对路径)。

1.3 with open(open的扩展)

url =r'C:\Users\Administrator\PycharmProjects\untitled1\requester\ss.py'

with open(url,'r',encoding='utf-8')as o:

a=o.read()

print(a)

五、Python中的模块

1.模块的导入(import)

Time模块(时间的显示)

time.time()(显示从1970年到现在一共经历的秒数)time.ctime()(显示当前实时时间)

time.sleep()(休眠,括号内加上数字表示休眠多少秒后再执行)

time.strftime()(自定义时间格式:%Y-%m-%d-%H:%M:%S)

time.asctime()(转换为asc码形式显示时间)

3、random模块

random.random() 随机生成0开头的浮点数

random.randint(1,4) 随机取一个在1-4范围内的数(不包含4)

random.sample(a,4) 在a中随机抽取4个数生成一个列表

random.randrange() 递增随机取一个值

random.choice(a) 在a列表中随机取一个值

random.shuffle() 随机洗牌(将列表中的所有元素随机调 动输出)

2.string模块(字符串)

string.digits 生成0-9的整数

string.hexdigits 生成0-9的整数+大小写的a-f和A-F

string.ascii_uppercase 生成26个大写字母

string.ascii_lowercase 生成26个小写字母

4、加密与解密

5、OS 模块(对于目录文件路径常用的模块)

OS.getcwd() 获取当前文件对应的目录(相对路径)

os.path.isfile(a_path) 判断当前是否为文件,返回布尔值

OS.path.isdir() 判断是否为目录

os.path.exists(a_path) 判断文件(目录)是否存在

os.mkdir() 创建目录mkdir(a,755)注意:目要设置权限,755或者777

os.remove(a_path) 删除文件(无法删除目录)

os.listdir(a_path) 获取当前目录下所有的文件和目录

os.path.split(a_path) 对某个路径进行分割,要求:把路径 分隔以后,再通过索引取出分隔后的值,在使用得到的值进行拼接,拼接成新的路径

例如:

#第一步先使用split分割 a_path ="D:\\bao" print(os.path.split(a_path)) # 第二步在根据索引取值 path=os.path.split(a_path)[0] #第三步在拼接 b_path=os.path.join(path,11.py) print(b_path)

os.path.abspath(a_path) 通过名称获取当前名称对应的路径(绝对路径)

os.rename(old_path,new_path) 重命名目录和文件

6、re模块(正则匹配)

# 预定义字符集匹配:

\ d: 数字0-9

\D: 非数字

\s: 空白字符

\n: 换行符

\w: 匹配字母数字

\W: 匹配非字母数字

^:表示的匹配字符以什么开头

$:表示的匹配字符以什么结尾

*:匹配*前面的字符0次或n次 #eg:ab(* 能匹配a 匹配ab 匹配abb )

+:匹配+前面的字符1次或n次

?:匹配?前面的字符0次或1次

{m}:匹配前一个字符m次

{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是

1、findall #从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]

2、compile #编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]

3、match # 从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败并报错# 注意:如果规则带了'+',则匹配1次或者多次,无' +'只匹配一次

4、search #从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错

六、类与对象

1、面向对象的基本概念:类(所有具有相同属性和方法的对象的集合)、对象(通过类定义的数据结构实例)、方法(类中定义的函数)、类变量(实例中对象公用的,定义在类中且在函数体之外)、实例变量(用self修饰的变量)

2、定义与使用类

定义格式:class people()

Def __init__(self,name)

创建对象:p=people(‘xx’)

3、类中的实例方法、动态方法、静态方法

实例方法

定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);

调用:只能由实例对象调用。

动态方法(类方法classmethod)

定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);

调用:实例对象和类对象都可以调用。

静态方法(staticmethod)

定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

调用:实例对象和类对象都可以调用。

4、类的三大特性(封装特性、继承特性、多态特性)

封装特性

1、类里面不光有属性还有方法。

2、这种将属性通过方法直接在类内部操作的形式叫做封装。这里的封装是把 属性封装在类内部。

继承特性

1、继承:类的继承是面向对象程序设计的一个重要思想,继承时子 类可以继承父类的内容,包括成员变量和成员函数。

2、在继承中一个类被另外一个类继承这个类称之为父类也称之为基 类,则另外一个类则为子类也称之为派生类。

多态特性

1、多态是以继承和重写父类方法为前提,对所有子类实例化产生的对象 调用相同的方法,执行产生不同的执行结果。

2、例如同样是人,但是当问起一个人的职业时会有不同的结果,可能是 软件测试工程师,可能是HR 3、一个对象的属性和行为不是由他所继承的父类决定的,而是由其本身 包含的属性和方法决定的。

相关推荐
AI桌面浏览器

热文推荐

  • 48小时热文
  • 每周热文

编程语言Python知识点总结 测试技术信息类知识讲解

Baidu
map