Bootstrap

python数字和字符串可以运算吗_Python 类型和运算(一)【数字和字符串】

数字

Python的数字包含整数(123),浮点型(1.23),长整形(这个数值无限长度)。

例如:

>>> l=123

>>> l

123

简单赋值

>>> l=2*2

>>> l

4

加减乘除

>>> l=2**10

>>> l

1024

在数值时候‘**’代表次幂。

除了这些简单的基本运算,Python还提供math库,用于复杂的计算。

>>> import math

>>> math.pi

3.141592653589793

>>> math.sqrt(4)

2.0

第一行的import math是导入math模块。

random可以作为随机数字生成器和随机选择。

>>> import random

>>> random.random()

0.9771716414571444

>>> random.choice(['a','b','c'])

'b'

字符串

Python的字符串是一个任意字符的集合,是用来记录文本信息的,他在Python中作为一个序列(也就是,一个包含其他对象的有序集合),序列的元素根据他们的相对位置存储和读取,字符串是单个字符的序列。其他的序列还包括列表和元组。

*序列的操作*

作为序列,字符串支持假设其中元素包含位置顺序的操作。

例如我们有一个4个字符的字符串,我们可以通过len函数来查看长度。

>>> l='time'

>>> len(l)

4

通过索引得到各个元素

>>> l[0]

't'

>>> l[1]

'i'

>>> l[-1]

'e'

在Python中,索引是从最前面的偏移量开始编码的,第一项为1,向后一次加1.。。。

当索引为负数时,表示倒数,也就是从后向前数。

序列不光支持索引,还支持分片。分片就是可以提出一段内容,和间隔一段距离的提取。

格式为[开始偏移量:结束偏移量:步长](结束偏移量不包含当前量的值,就是结束偏移量如果是3,那么实际就到2)当步长为负数时,就是逆序输出(#该部分为个人理解,l[-1]=l[0],l[-2]=l[1],l[-3]=l[2],l[-4]=l[3]#)。偏移量为整数,没有特定界限,与分片不同,分片有越界的危险!

>>> l[::2]

'tm'

>>> l[1:]

'ime'

>>> l[1:2]

'i'

>>> l[::-1]

'emit'

>>> l[1:3:-1]

''

>>> l[3:1:-1]

'em'

>>> l[3:0:-1] #没法输出‘t’

'emi'

>>> l[3::-1] #这样就可以输出了

'emit'

>>> l[3:-5:-1] #可以用负数表示

'emit'

>>> l[0:7] #越界不会报错

'time'

>>> l[20:23]

''

>>> l[::2] #步长为2

'tm'

最后,字符串作为序列也支持’+‘链接和’*‘重复。

>>> l+'123'

'time123'

>>> l*3

'timetimetime'

类型特定的方法

目前学习的字符串的操作方法都是一个真正的序列操作,也就是说这些操作在其他的序列中也可以工作,但有相同就会有不同,也就是说在不同的序列类型,都会有其不同的方法。

例如:‘find’就是用于查找子字符串的。(它将返回一个子字符串的偏移量,若没有则返回-1)

>>> l

'time'

>>> l.find('im')

1

>>> l.find('z')

-1

还有很多这种方法,例如通过分隔符将字符串拆分为子字符串,将字符串转换成全大写,去掉字符串后的空格字符,等等。。。。。

>>> line='aaa,bbb,ccccc,dd'

>>> line.split(',')

['aaa', 'bbb', 'ccccc', 'dd']

>>> s='test'

>>> s.upper()

'TEST'

>>> line='aaaa,bbb\n'

>>> line=line.rstrip()

>>> line

'aaaa,bbb'

编写字符串的其他方法

字符串也支持转意字符,并且他对于双引号和单引号是没有区别的,但是它多引入了一个三引号的概念,三引号怎么使用呢?其实很简单,就是按照你的格式进行输出。

例如

>>> l="""a

b"""

>>> l

'a\nb'

>>> l='a\nb'

>>> l

'a\nb'

Python的转义字符及其含义

符    号

说     明

\'

单引号

\"

双引号

\a

发出系统响铃声

\b

退格符

\n

换行符

\t

横向制表符

\v

纵向制表符

\r

回车符

\f

换页符

\o

八进制数代表的字符

\x

十六进制数代表的字符

\000

终止符,\000后的字符串全部忽略

如果在字符串中输出"\",需使用"\\"

字符串的匹配模式将在正则表达式中专门学习!

;