基本数据类型
Python有五个标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
shell好像无明显的数据类型区分
Python支持四种不同的数值类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
下面重点介绍字符串,列表,元组和字典三种数据类型
字符串
重点在于截取功能:
#!/bin/python
#string testing
str="aabbccdd"
print(str)
print(str[0])
print(str[2:5])
print(str*2)
print(str+"join test")
输出:
aabbccdd
a
bbc
aabbccddaabbccdd
aabbccddjoin test
kerry
eva
111
222
shell的字符串截取如下:
从左边第几个字符开始,及字符的个数echo ${var:0:5}其中的 0 表示左边第一个字符开始,5 表示字符的总个数
只是个数,不是结束的索引值,而且shell还可以根据#,%,##,%%截取。
shell中左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
python 中,左边第一个是0,右边第一个是-1
从右边第几个字符开始,及字符的个数echo ${var:0-7:3}其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。
列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
加号(+)是列表连接运算符,星号(*)是重复操作。如下实例
[nxuser@PSjamsBond-0-0-0 ~]$ vi testall.py
#!/bin/python
name=["kerry","eva",111,222]
name2=["eva",333]
for element in name:
print(element)
print("all elements:"),name
print("the second element is:"),name[2]
print("the 1,3,sub is:"),name[1:3] //前闭后开区间
print("double:"),name*2
print("join:"),name+name2
元组(只读列表)
圆括号括住,逗号分割
print("##############")
print("group testing")
name=("aaa","bbb","ccc","ddd")
print(name)
for element in name:
print(element)
元组不可更新,只能读取,如下
##############
group testing
('aaa', 'bbb', 'ccc', 'ddd')
aaa
bbb
ccc
ddd
Traceback (most recent call last):
File "testall.py", line 37, in
name[2]="eee"
TypeError: 'tuple' object does not support item assignment
字典(key-value形式)
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成
# dict testing
print("##############")
print("dict testing")
student={"kerry":25,"eva":28}
print(student)
print("output the keys:"),student.keys()
print("output the values:"),student.values()
附完整code清单
#!/bin/python
#string testing
str="aabbccdd"
print(str)
print(str[0])
print(str[2:5])
print(str*2)
print(str+"join test")
#list testing
name=["kerry","eva",111,222]
name2=["eva",333]
for element in name:
print(element)
print("all elements:"),name
print("the second element is:"),name[2]
print("the 1,3,sub is:"),name[1:3]
print("double:"),name*2
print("join:"),name+name2
# tuple testing
print("##############")
print("tuple testing")
name=("aaa","bbb","ccc","ddd")
print(name)
for element in name:
print(element)
#name[2]="eee"
# dict testing
print("##############")
print("dict testing")
student={"kerry":25,"eva":28}
print(student)
print("output the keys:"),student.keys()
print("output the values:"),student.values()