• 0
  • 1
分享
  • python基础知识整理——软件测试圈
  • TIMI 2021-08-13 16:00:13 字数 2819 阅读 1053 收藏 1

背景知识

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python 由 Guido van Rossum 于 1989年底发明,第一个
公开发行版发行于 1991 年。 Python 源代码遵循 GPL(GNU GeneralPublic License) 协议。
Python 不是大蟒蛇,而是个 BBC 电视剧(命名的来源)
Python 是 解释型语言 交互式语言 面向对象语言

简单内容

编码格式

Python 3默认使用UTF-8编码

修改Python的编码格式

#-*-编码:UTF-8-*-
#encoding = utf-8

保留字符

保留字不能用作常数或变数,或任何其他标识符名称
所有 Python 的关键字只包含小写字母

0.jpg

其他

  1. 行和缩进

  2. 使用斜杠( \)将一行的语句分为多行显示

  3. 使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" ) 来表示字符串

  4. 单行注释使用# 多行注释使用’’’ 或 “”"

变量类型

数据类型

type函数是Python提供的内置函数,可以用来查询数据类型.返回<class ‘***’>
ord函数和chr函数都是Python提供的内置函数。ord(ch)函数返回字符ch的ASCII码,chr(code)函数返回ASCII码code所代表的字符
序列(如字符串、列表、元组等)可以进行下标访问
列表和字典是可变对象,数字,字符串,元组是不可变对象
类型创建是否可以修改是否可以下标访问
数字numbers1或(1)

字符串string “hhhnb”

列表listst=[ 1,2,3],lst=list(range(6))可以可以
元组tupletuple1=(1,),tuple2=tuple()不可以,但是元组中列表的值可以改可以
字典dictionarydict1={},dict2=dict()键是惟一的不可变,不能重复,值可以重复可变可以
集合setset1=set(),set2={1}集合分为可变集合和不可变集合 不可以,元素不重复且无序可以
类型基本函数运算符添加元素删除元素其他
数字numbers




字符串stringsplit,join



列表listlen,max,min,sum+,*,in,not in,is is not,关系运算符 append,extend,insertpop,remove,delcount,index,clear
元组tuplelen,max,min,sum+,*,in not in,is,is not,关系运算符

count,index zip
字典dictionary字典名.get(key),字典名[key]=valuelen,hashin,not in,is ,is not,关系运算符 == ,!=
pop,popitem,del,clear
集合setlen,max,min,sumin not in,is is not,关系运算符add,update,inter…_update,diff…update,sym…updatepop,remove,discard,clear,delissubset,issuperset,union,intersection,difference,sy…_difference

切片访问

布尔运算,运算符

关系运算符

1.jpg

成员运算符和身份运算符

in,not in 判断某元素是否在序列中(list,tuple,dictionary)

is, is not 判断两个对象是不是同一个对象,而==判断值是否相同;a is b 等价于 id(a) == id(b)

逻辑运算符

三种逻辑运算符:逻辑非not、逻辑与and和逻辑或or。

德摩根定律:
not (condition1 and condition2) 等价于 not condition1 or not condition2
not (condition1 or condition2) 等价于 not condition1 and not condition2

优先级

2.jpg

函数

函数的定义和调用

def func():
# 函数体

函数的参数

实参:位置参数和关键字参数

位置参数:在调用函数时,要求实参按形参在函数头中的定义顺序进行传递。

def test(test,n):
    for i in range(n):
        print(test)
test("hhh", 3)

关键字参数:使用“形参名=值”的形式传递参数。

def test(test,n):
    for i in range(n):
        print(test)
test(test="hhh",n=3)

默认参数:调用时没有给参数

def test(test="nbnb",n=3):
    for i in range(n):
        print(test)
test()

参数传递:数字、字符串和元组是不可变对象,不可变对象的内容是不能被更改的,传递参数以后,函数内改变的是形参的值(值传递);而列表或字典是可变对象,形参的改变,实参的值也会改变(引用传递)。

a = 1
b = [1]
def test(a,b):
    a = 0
    b[0] = 0
    print("a0",a)
    print("b0",b[0])
test(a,b)
print("a1",a)
print("b1",b[0])

3.png

**包裹传递参数(可变长参数)**用这种方法可以返回多个值(本质还是返回一个值,即返回元组)

定义函数时,各种类型参数出现的先后顺序是:位置参数、关键字参数、可变长位置参数、可变长关键字参数。

*元组,**字典(为啥两个*,字典既有键又有值)

def test(i,*n,**dic):
    print(i)
    print(n)
    print(dic)
i = 0
dic = {"a":0,"b":1}
test(i,1,2,3,**dic)
# **定义函数时打包,调用时是解包

4.png

返回多个值:

参考

内置函数和数学函数

  • abs(x) 返回x绝对值

  • round(x,n) 返回保留小数点后n位的浮点数

  • pow(a,b) 返回a的b次幂,等于a**b

  • divmod(a,b) 返回一个元组,第一个元素是a/b,第一个元素是a//b

  • help(topic)

使用数学函数需要导入模块 import math
  • fabs 浮点数的绝对值

  • ceil 向上取整

  • floor 向下取整

  • exp 返回e的幂函数值

  • log 就是log

  • log(x,base) 就是那个base的log

  • sqrt 平方根

  • degrees 弧度变角度

  • radians 角度变弧度

  • sin cos tan asin acos atan 三角函数


作者:caesarding

原文链接:https://blog.csdn.net/qq_44628595/article/details/105973195

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、接口的产生  1、接口的定义  一般来说,接口分为硬件类接口和软件类接口。银行系统的接口一般指的是软件接口,软件接口分为两种:  (1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,用于模块与模块之间的交互,使用于自身的系统。  (2)系统对外的接口:与银行别的业务系统之间的交互。由于对方系统不会提供数据库共享,只提供一个写好的方法,让其对接,业务系统需通过这个写好的方法,来获取自身系统想要的数据。这个写好的方法,就是对外的接口。  2、接口的分类  接口一般分为两种:  (1)webService接口:走soap协议通过http传输,请求报文和返回报文都是xm...
            0 1 1218
            分享
          •   前言  测试过程中经常会进行抓包来查看一些错误内容,判断是前端的问题还是后端的问题,常见的抓包工具有Fiddler、Charles,还有Web端的F12。今天安静来介绍下如何通过F12进行抓包查看请求内容。  F12抓包  打开百度按下键盘F12或者邮件选择检查,这里可以看到有一些选项:Elements、Console、Sources、Network、performance、Memory、Application、Secutity、Lighthouse,那么这些选择都是干什么的呢?对于我们测试来说能给我们提供什么信息呢?安静一个个进行介绍。  Elements  表示当前页面的HTML内容,...
            13 13 3865
            分享
          •       本文写在预赛通过的基础上,默认后来者已经接触过web应用测试,并有一定的基础知识。      本文写于2020.11.8省赛结束,希望这些坑以后不会再有人跳进去。      【前排提示】没学过前端因为懒 ,所以有关网页的术语可能使用有误,烦请理性讨论_(:з)∠)_有错的地方可以在评论区指出~      1.frame的切换      今年的省赛功能测试题目是登录网易云进行操作(前两步操作如下图...
            7 6 2680
            分享
          •   如果能够掌握web自动化及接口自动化的话,在北京、深圳、上海这种城市拿到10K以上的薪水应该不是大问题,掌握的好的话,能拿到13、4K也正常。  如果实只是会用,没有足够的项目经验的话,薪资会大大打折,拿到10K就不错啦。  如果你是在西安、济南、成都这些城市,好的话能上12k,差点的话在9K左右。  在没有自动化项目经验的情况下,找工作一定要擦亮眼睛,因为现在很多企业虽然名义上在招聘自动化测试工程师,但是实际上大部分还在做手工测试,如果你学的东西不能很好的实践,很快就会忘记,那就又回到解放前啦。  个人建议,要找就找全自动化的岗位,就算开始薪资低一点也没事,先做一年,等技术成熟了再换一家...
            0 0 978
            分享
          •   随着信息化技术的不断发展,软件安全成了软件行业的重大挑战,因此安全测试也成为了测试人员必备的技能之一。沐沐在安全测试过程中较为常见的就是接口越权漏洞,在尝试过多种工具进行越权漏洞测试后,最终找到了个人认为最便捷最有效率的方式,即使用Burp Suite工具的Auth Analyzer插件进行接口越权批量测试;并且将接口越权测试作为常态化测试内容,不断提升软件安全测试的深度和广度。下文将对接口越权和Burpsuite工具进行简介,重点说明Auth Analyzer插件进行接口越权批量测试的步骤。  一、接口越权  越权访问(Broken Access Control,简称 BAC)是 Web...
            0 0 1543
            分享
      • 51testing软件测试圈微信