1、补充字符串
print ("This is "
"a test "
"string")
或者
print ("This is \
a test \
string")
合并成一行输出
2、注释
#行注释
引号中的#号,失去注释作用
3、赋值
变量复制前不必声明,但变量在用于表达式或其他形式的语句中时必须已经存在
a、基本赋值
letter='A'
sum=15
b、tuple和列表赋值
num=[1,3]
(start,end)=number[0:2]
start=1
end=3
c、多目标赋值
one=first=1
4、输出
import sys
fp=open('test.txt','w')
sys.stdout=fp
print 'this goes in the file'
重定向输出到文件
print 'This is a ','book'=>This is a book
print 'I have %d dozen %s'%(3,'eggs')=>I have 3 dozen eggsI have 3 dozen eggs
5、if控制语句
if Expression1:
BLOCK
elif Expression2:
BLOCK
else:
BLOCK
python没有switch-case结构
6、while控制语句
while Expression:
BLOCK1
else:
BLOCK2
如果Expression返回假,则执行else;如果被BLOCK1中的break中断,则不执行else
7、for控制语句
for Target in Object:
BLOCK1
else:
BLOCK2
如果循环正常退出,执行else;如果被BLOCK1中的break中断,则不执行else
for num in [1,2,3,4,5]:
print num
for letter in 'I love you':
print letter
for i in range(1,5):
print i
**注意包括1,不包括5
for i in range(0,10,2):
print i
当需要大型列表时可以使用xrange来减少使用的内存
for i in xrange(0,1000000,2):
print i
8、break控制语句
结束当前循环,并忽略任何else语句
9、continue控制语句
强制进入下一次循环
10、pass控制语句
不做任何事情,但在需要识别却忽略特定事件的时候需使用pass
11、不要混用tab和空格缩进
12、Unicode字符串————避开一些字符乱码
print u'你好'
13、内置函数
cmath.sqrt(number) 返回平方根,num无限制
float(object) 返回浮点形式
input(prompt) 获取用户输入
int(object) 返回整型形式
long(object) 返回长整型形式
math.ceil(number) 返回上入整数
math.floor(number) 返回下舍整数
math.sqrt(number) 返回平方根,num>=0
raw_input(prompt) 获取用户输入
repr(object) 返回值的字符串表示形式
str(object) 将值转换成字符串
14、列表的补充
切片:num=[1,2,3,4,5,6]
num[0:1]=[1]
num[-3:-1]=[4, 5]
num[3:]=[4, 5, 6]
num[:3]=[1, 2, 3]
num[:]=[1, 2, 3, 4, 5, 6]
num[-1]=6
num[0:5:2]=[1, 3, 5]
num[::3]=[1, 4]
num[::-1]=[6, 5, 4, 3, 2, 1]
num[3::-2]=[4, 2]
乘法:['a']*5=['a', 'a', 'a', 'a', 'a']
None值列表
sequence=[None]*10=[None, None, None, None, None, None, None, None, None, None]#无初值,但是有空间
len(num)长度
min(num)最小值
max(num)最大值
跟据字符串生成序列list('Iloveyou')=['I', 'l', 'o', 'v', 'e', 'y', 'o', 'u']
反之,lista=['I', 'l', 'o', 'v', 'e', 'y', 'o', 'u']
''.join(lista)='Iloveyou'
删除元素:del num[1]
分片赋值:a=['l','i','k','e']
a[1:]=list('ove')
a=['l', 'o', 'v', 'e']
利用分片赋值插入序列:a=[1,2,3]
a[2:2]=[1,2,3]
a=[1, 2, 1, 2, 3, 3]
利用分片赋值删除序列:a=[1,2,3,4,5,6]
a[2:4]=[]
a=[1, 2, 5, 6]
再加上步长:a=[1,2,3,4,5,6,7,8,9]
del a[2:8:2]
a=[1, 2, 4, 6, 8, 9]
将排序结果放到另一个序列:y=x[:]
y.sort()
或者
y=sorted(x)
sorted('Python')=['P', 'h', 'n', 'o', 't', 'y']
compare(x,y) 当x<y时返回负数
当x=y时返回0
当x>y时返回正数
高级排序:num=[6,4,8,5]
num.sort(cmp)
num=[4, 5, 6, 8]
sort 还有另外两个可选参数key和reverse。
key提供一个在排序过程中使用的函数,该函数并不是直接用来确定对象的大小,而是为每一个元素创建一个键,然后所有元素跟据键来排序。
letter=['love','length','light']
letter.sort(key=len)
letter=['love', 'light', 'length']
根据首要关键字和次要关键字排序
allbir=[['a','a'],['a','ab'],['b','b'],['a','aa']]
allbir.sort(lambda x,y:(cmp(x[0],y[0]) or cmp(x[1],y[1])))
allbir=[['a', 'a'], ['a', 'aa'], ['a', 'ab'], ['b', 'b']]
跟据多关键字排序
allbir=[['a','b','c'],['a','a'],['a','bb'],['b','aa'],['b','a','aa'],['a','b','c']]
allbir.sort(lambda x,y:(cmp(x[0],y[0]) or cmp(x[1],y[1]) or cmp(x[2],y[2])))
allbir=[['a', 'a'], ['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'bb'], ['b', 'a', 'aa'], ['b', 'aa']]