一点一滴学Python(3)

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']]



原文地址:https://www.cnblogs.com/pythonlover/p/2323278.html