• 0
  • 1
分享
  • python基础知识整理——软件测试圈
  • TIMI 2021-08-13 16:00:13 字数 2819 阅读 836 收藏 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 沐沐近期面试了几个测试人员,所以简单的记录一下自己的面试感悟。当我从一个面试者转变成面试官后,我才意识到,以往的面试经历中我的表现有多糟糕。下文将记录一下我作为一个不专业面试官的经验总结。一、面试前准备有意向企业时,尽量找关系内推,朋友的朋友此时都可以联系起来,内推能大大提升面试成功的几率。投递简历前,充分分析JD中的具体要求,优化简历内容,提升简历和招聘岗位的匹配度。接到面试邀约后,了解公司的相关信息,如果是内推的岗位,尽量向内推人员打听相关的产品信息、项目信息、技术架构、测试框架等信息,知己知彼百战不殆。简历样式尽量整洁美观,突出重点;避免出现排版混乱、错别字等情况。简历内容尽量实事求是,...
            1 0 3090
            分享
          • 关于PandasPandas中的数据结构(1)Series:一维数组系列,也称序列;(2)DataFrame:二维的表格型数据结构;(3)Panel:三维数组。数据类型1.Logical(逻辑型)2. Numeric(数值型)3. Character(字符型)数据结构1.Series使用方法如下;Series([数据1,数据2,...],index=[索引1,索引2,...])例如:from pandas import Series X=Series(['a',2,'螃蟹'],index=[1,2,3]) X X[3]#访问inde...
            1 1 1514
            分享
          •   前言  从当初偶然的机会进入测试领域,到现在已经多年了,在这些年做过测试执行、测试技术研究、测试工具等测试相关的工作。最近在工作上有些迷茫,不知道后面的职业道路怎么走,感觉很多测试技能,经验都没得到很好的总结和思考。之前接触过思维导图,但是一直没有发现其价值所在,最近又重新关注,发现思维导图真是个好东东,对测试工作有很大的帮助,所以特总结一下,分享给大家。  正文  一、测试是否需要建模  通常一谈到建模,大家普遍都认为开发才需要,对测试来说,最多可能是在测试设计阶段才需要建模。对于测试模型,一般都谈的比较少,因为很多人都认为测试要求不高,不需要什么模型,也没有什么模型。那么我们分析一下测...
            1 1 2051
            分享
          • 从当初的开发,到后来的功能加自动化测试,觉得自己需要去接触一些新的东西。从9月份开始,开始有个新的团队,专门负责网站的性能提高,于是,就跟老大申请了去支持这个team。首先,我这里说的性能测试,不是传统意义上的压测,所以我们tech lead一直在纠正我,不叫performance testing,而是叫site speed testing。国外的网站不会像淘宝会有那么大的流量,所以我们不是很看重压测,有监控就够了。做网站速度测试之前,首先我们要弄明白我们在意的metrics,那么有哪些关键的metrics呢?Metrics1.速度指标(SpeedIndex)速度指数是一个计算的指标,用来衡量...
            1 3 2815
            分享
          • 关于测试用例设计的方法,相信每一位测试工程师都会如数家珍,我更是在很多测试工程师的简历上看到了「精通测试用例设计的基本方法」。但到面试时一问,却发现不少候选人也仅能说出一些概念性的东西,对这些方法的理解还不够深入和透彻,在实际设计用例的过程中更是不知道这些方法该怎么用。这一节,我就以测试用例设计基本方法中最常用的等价类划分法和边界值法为例,重新梳理这些方法,让大家对这测试用例的设计方法有更深入的理解和认识。等价类划分法关于等价类划分法的基本定义和概念,这里就不赘述了。我们需要理解,等价类划分法的意义,在于选择合适的数据子集来代表整个数据集,以实现用尽可能少的用例做完整的覆盖。等价类对应的功能点...
            0 0 34
            分享
      • 51testing软件测试圈微信