Python渗透测试编程技术:方法与实践(第2版)
上QQ阅读APP看书,第一时间看更新

3.6 数字和字符串

Python提供了5个标准的数据类型,分别是数字、字符串、列表、元组和字典。Python中支持的数字类型主要有3种,分别是int、long和float。这些数字类型支持常见的数学运算。其中,int代表的就是整数,常见的没有小数点的数就是整数,Python的命令行可以用来充当一个计算器。

     >>> 100+1
     101

而平时所用的实数在Python中就是float。

     >>> 100.2+9
     109.2

另外,Python有时需要处理一些较大的整数,在Python 2中需要使用到长整数,但是在Python 3中去掉了长整型,只有整型。

     >>> 9999999999999999999999999999999999
     9999999999999999999999999999999999

在Python中输入字符串很简单,只需要用引号开始和结束,例如"This is a test"。Python中的字符串是一种相当灵活的数据类型,它支持很多运算符和方法。首先介绍一下常见的字符串运算符。

1.+

这个运算符在操作两个数字时是相加的意思,在操作两个字符串的时候则表示连接的意思,例如:

     >>> 'Penetration '+'Test'
     'Penetration Test'

2.*

这个运算符在操作两个数字时是相乘的意思,不能应用于两个字符串。不过,一个字符串可以与一个整数进行*操作,表示将这个字符串重复n次。

     >>> 'Penetration '*3
     'Penetration Penetration Penetration '

3.[]

这个运算符很灵活地将字符串看作类似C语言数组(相信本书的读者都可能有一点儿C语言的基础,不过没有也没关系)。例如,字符串“Hello Python”就支持以下操作,其中,“-1”是一个特殊的参数,表示最后一个字符。

     >>> a='Hello Python'
     >>>a[0]
     'H'
     >>>a[2]
     'l'
     >>>a[-1]
     'n'

4.[:]

这个运算符用来得到一个子字符串,使用两个下标来指定范围,包含从开始下标到结束下标之间的字符,其中包括开始下标代表的字符,但不包括结束下标代表的字符。

     >>> a='Hello Python'
     >>>a[0:5]
     'Hello'
     >>>a[:5]
     'Hello'
     >>>a[6:]
     'python'

5.in

这个运算符用于两个字符串,如果第二个字符串包含第一个字符串,则返回True,否则返回False。

     >>> "He" in "Hello Python"
     True
     >>> "he" in "Hello Python"
     False

6.not in

这个运算符也用于两个字符串,运算结果与in相反。

     >>> "He" not in "Hello Python"
     False
     >>> "he" not in "Hello Python"
     True