数字
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后的字符串全部忽略 |
如果在字符串中输出"\",需使用"\\"
字符串的匹配模式将在正则表达式中专门学习!