Python基础知识_学习笔记
python包含6中内建的序列:
常用的两种类型为:列表和元祖
字符串、Unicode字符串、buffer对象、xrange对象
列表和元祖的区别:
列表可以修改,而元祖不能修改该
input:需要自己定义输入内容的格式
raw_input:会将任何输入的内容转化为字符串
函数:
pow:可以求数值的幂 #pow(2,3)
abs:可以求数的绝对值 #abs(-10)
round:可以给定精度四舍五入数值 #round(3.456,1)
模块:是一种增强python功能的扩展
math:数学运算的函数
floor:实现去一法 #math.floor(3.9)
ceil:实现进一法 #math.ceil(3.4)
sqrt:实现开平方 #math.sqrt(9)
cmath:计算虚数
sqrt:实现虚数的开平方 #cmath.sqrt(-9)
将数字转译为字符串的方法:
repr:可以将数字转译成字符串格式的 #repr(23)或`23`
str:可以将数值转译为字符串格式
原始字符串:在原始字符串中输入的每个字符都会与书写的方式保持一致
print r"let\'s go" 会原样输出为: let\'s go
序列:
列表:
索引:序列中的所有元素都是有编号的,从0开始递增。
分片:通过冒号相隔的两个索引来实现访问一定范围的元素
max:判断序列中最大的数值 #max([1,2,3,4)]
min:判断序列中的最小的数值 #min([1,2,3,4])
len:判断序列的长度 #len([1,2,3,4])
del:删除列表中的元素 #del a[-1]
append:追加列表 #a=append(b)
count:统计元素个数 #a.count(1)
extend:扩展列表 #a.extend(b)
index:找出某个值第一个匹配项的索引 #a.index(2)
insert:将指定数值插入到指定位置 #a.insert(2,'ma')
pop:可以一处列表中的元素,默认是最后一个,可以指定 #a.pop()|a.pop(1)
remove:移除指定的匹配到的第一个元素 #a.remove('ma')
reverse:将列表中的元素反向存储 #a.reverse()
sort:为列表排列顺序 #a.sort()
cmp:比较两个数值,返回0、1、-1 #cmp(1,2)
元祖:
tuple:类似于数列中的list函数 #tuple('ma')|tuple([1,2,3])
字符串:
a=1.23
b='long'
print "num is %d"%a
print "num is %.2f"%a
print "name is %s"%b
print "name is %s num is %d float is %.2f"%(b,a,a)
%10d:表示输出的字段长度为10
%010:表示输出的字段长度为10,如果不够可以使用0补齐
%.2f:表示精确位数为2位小数
%-10d:表示向左对齐,不够的可以使用空格补充
string方法:
find:可以在一个较长的字符中查找指定的字符串,返回字符串最左边的的索引位置,如果没有搜到
返回0
'This is a example'.find('example') 结果:10
'This is a example'.find('test') 结果:-1
'This is a example'.find('example',0,10) 结果:-1
join:用来在字符串队列中添加元素
a='test'
':'.join(a) 会在字符串中每个字符间添加:
lower:返回字符串的小写
a='THIS IS A EXAMPLE'
a.lower()
upper:返回字符串的大写
a='This is a example'
a.upper()
title:将字符串转化为标题字符串
a='this is a example'
a.title()
replace:替换匹配到的字符串
a='This is example '
a.replace('is','is not')
split:根据给定的分割符来分割字符串
a='/etc/init.d/rc.local'
a.split('/')
strip: 去除字符串两侧的空格
a=' This is a example '
a.strip()
字典:
通过查找某个特定的词语(键),从而找到他的定义(值)
字典中的键是唯一的,而值并不唯一
dict函数:
items=[('name','test'),('age',14)]
d=dict(items)
d['name']
len(d) 返回字典d中的键-值的数量
d[k] 返回关联到键上的值
d[k]=v 将值v关联到k键上
del d[k] 删除键为k的项
k in d 判断字典d中是否含有键k的项
Example For:
people={'test1':{'phone':123,'addr':'beijing'},'test2:{'phone',12345,'addr':'tianjing'}}
people['test1]['phone']
html='''
<head>%(head)s</head>
<title>%(title)s</title>
<body>%(body)s</body>
'''
data={'head':'This is example','title':'This is a example','body':'Hello World!'}
print html%data
clear:清除字典中的所有项,可以同时清除负值的其他字典,相当于递归清除
items.clear()
copy:复制字典,当副本中替换值的时候,原字典不会受影响,但是如果修改了某个值,那么原
字典会受影响(类似与删除某个项中的值)
deepcopy:深度复制,副本的修改不会影响原来的字典
from copy import deepcopy
items.deepcopy()
fromkeys:使用给定的键建立新的字典,每个键默认的对应值为None
{}.fromkeys(['name','age'])
get:获取字典中键的值,如果没有不会有报错
items.get('name')
has_key:判断字典中是否含有对应的键,类似于k in b,但在python3.0中就没有这个函数了。
a.has_key('name')
items:将字典以列表的形式显示
a.items()
iteritems:类似与items,但返回的是一个迭代对象
b=a.iteritems()
keys:将字典中的键以列表的形式显示
iterkeys:类似于keys,只不过是生成一个迭代对象
pop:将给定键的值删除掉
a.pop('name')
popitem:随机的从字典中删除项
a.popitem()
setdefault:可以给没有值的键设定默认的值,如果一个键有值会返回对应的键值
a.setdefault('name','test')
update:更新字典中的项,如果老字典与新字典有重复,回见重复的项覆盖掉
a.update(b)
values:会以列表的形式返回字典中的值
a.values()
itervalues:会返回字典中值的迭代结果,可以被调用
a.itervalues()