python有5种标准的数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)
其他常用的数据类型有 集合(set)、文件(file)
下面总结一下每种数据类型常用的方法和关键字:
1. 数字(Number): 包括 int(有符号整型)、long(长整型,也可代表八进制和十六进制)、float(浮点型)、complex(复数)
赋值:var1=1
var2,var3,var4,var5 = -10, 23.5l, 23.5, 3+5j [备注] 3+5j 也可用complex(3,5)表示
删除:del var1,var2
abs(x)
math.ceil(x)
round(x,n)
math.floor(x)
cmp(x,y) : x<y返回-1; x==y返回0; x<y返回1
math.exp(x): e的x次幂
math.fabs(x): float + abs , maths.fabs(-10) 返回10.0
math.log(x): math.log(100,10) 返回2.0
max(x1,x2,..)
min(x1,x2)
pow(x,y): x**y
sqrt(x)
random.choice(seq): 序列中随机选一个,random.choice(range(10))
shuffle(lst) 对列表元素随机排序
uniform(x,y) 随机生成一个实数,在【x,y】范围内
sin(x)
cos(x): x是弧度
tan(x)
degrees(x): 将弧度转换为角度,degrees(math.pi/2) , 返回 90.0
radians(x):将角度转为弧度
2. 字符串(String):
str = 'Hello World!'
print str
print str[0]
print str[2:5]
print str[2:]
print str*2
print str+'TEST'
'string'.capitalize() 字符串首字母大写
'string'.center(width) 元字符串居中,并使用空格填充至长度width的新字符串
'string'.count(str,beg=0,encode=len(string)) 返回str 在 string 中出现的次数
'string'.encode(encoding='utf-8',errors='strict')
'string'.decode(encoding='utf-8',errors='strict')
'string'.endswith(obj,beg=0,end=len(string))
'string'.startswith(obj,beg=0,end=len(string))
'string'.expandtabs(tabsize=8)
'string'.find(str,beg=0,end=len(string))
'string'.format() 格式化字符串
string.isalnum() 都为字母或数字
string.isalpha() 都为字母
string.isdecimal()
string.isdigit()
string.islower()
string.isnumeric()
string.isspace()
string.istitle()
string.isupper()
string.join(seq) 以string为分隔符,将序列合并成一个新的字符串,''.join(range(5)) 返回 '01234'
string.ljust(width)
string.lower()
string.lstrip()
max(str)
min(str)
string.partition(str) '123d456'.partition('d') 返回 ('123','d','456')
string.replace(str1,str2,num=string.count(str1)) 'hello world'.replace('or','oo') 返回 'hello wood'
string.rfind(str,beg=0,end=len(string))
string.rindex(str,beg=0,end=len(string))
string.split(str='',num=string.count(str))
string.splitlines()
string.upper()
3. 列表(List)
list = ['runoob',345,2.23,'john',34.2]
tinylist = ['234','john']
del list[2]
print list, list[0], list[1:3], list[2:], tinylist*2, list+tinylist
cmp(list1,list2)
len(list1)
max(list)
min(list)
list(seq) list(str) 将元组、字符串转换为列表
list.append(obj)
list.count(obj)
list.extend(seq)
list.index(obj) 第一个匹配项的索引
list.insert(index,obj)
list.pop(index=-1)
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse()
list.sort(cmp=None,key=None,reverse=False)
4. 元组(Tuple) : 定义方式与组合方式同列表类型
5. 字典(Dictionary):
dict = {}
dict['one'] = 'This is one'
dict[2] = 'This is two'
tinydict = {'name':'john,'code':6734,'dept':'sales'}
print dict['one'], dict[2], tinydict, tinydict.keys() , tinydict.values(), tinydict.items()
dict.clear() 删除字典中所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys(seq[,value])创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key,default=None)
dict.has_key(key)
dict.items()
dict.keys()
dict.values()
dict.setdefault(key,default=None)
dict.update(dict2) 将字典dict2的键值对更新到dict里
pop(key[,default])
popitem() 随机返回并删除字典中的一对键和值
6. 集合(set)
set1 = set('1234sdfj')
set2 = {'1', 1, '23d'}
jiao1 = set1 & set2
jiao2 = set1.innersaction(set2)
bing1 = set1 | set2
bing2 = set1.union(set2)
cha1 = set1 - set2
cha2 = set1.difference(set2)
set1.add('python')
set1.update('python')
set1.pop() 随机删除一个元素
set1.remove('python') 删除集合中指定元素,删除不存在的元素会报错
set1.discard('sd')
set1.clear()
set1.copy()
set1.issuperset(set2)
set1.issubset(set2)
set1.isdisjoint(set2)
7. 文件(file)
file = open("text.txt","w+")
file.write("abc")
content = file.read()
file.close()
print content
指定目录下(既有目录,又有文件)的所有文件
for root,dir,file in os.walk(path):
print os.path.join(root,file)
指定目录下(只有文件)的所有文件
print os.listdir(os.getcwd())
其他文件相关操作的常用方法:
os.path.abspath(path)
os.path.split(path)
os.path.join(dir,file)
os.path.dirname(path)
os.path.basename(path)
os.path.exists(path)
8. 数据类型转换:
int(x) long(x) float(x) complex(real,image), str(x), tuple(s), list(s), set(s), dict(d),
repr(x) :将对象x转换为表达式字符串
eval(str): 计算字符串中的有效python表达式,并返回一个对象
frozenset(s): 转换为不可变集合
unichr(x): 将一个整数转换为Unicode字符
chr(x): 整数转换为字符串
ord(x): 字符串转整数
oct(x): 将一个整数 转换为一个八进制字符串
hex(x): 将一个整数 转换为一个十六进制字符串