python进阶(一)

PYTHON进阶(一)

PYTHON语言综述

特点

命令式编程、函数式编程

代码优化

1.缩进
 

2.import库按照标准库、拓展库、自定义库的顺序
 

3.空行与空格

运算符、表达式、内置对象

内置对象类型:数字、字符串、字节串、列表、元组、集合、布尔型、空类型、异常、文件、其他可迭代对象、编程单元

运算符:矩阵乘法运算(@);并集(|);对称差集(^);差集(-)……

内置函数:filter;divmod(x,y);reduce;zip;bin;oct;hex(16进制);ord(Unicode码);chr;ascii(ASCII码);enumerate(枚举)……

list(map(int,range(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
from functools import reduce
seq=list(range(1,10))
reduce(lambda x,y:x*y,seq)
362880
def func(x):
    return x.isalnum() #测试字符是否为字母或是数字,若为int形式列表不能用isalnum测试
a=["gh","1","**"]
list(filter(func,a))
['gh', '1']
x=[1,2,0,None,False,'a']
print(list(filter(None,x)))
[1, 2, 'a']
z=eval(input("请输入整数列表:"))
ls1=list(filter(lambda x:x%2==1,z))
ls2=list(filter(lambda x:x%2==0,z))
print(ls1+ls2)
请输入整数列表:[1,2,3,4,5]
[1, 3, 5, 2, 4]
list(zip('x,y','1,2'))
[('x', '1'), (',', ','), ('y', '2')]
x=eval(input("请输入一个三位数:"))
a,b=divmod(x,100)
print(a,b)
b,c=divmod(b,10)
print(a,b,c)
请输入一个三位数:322
3 22
3 2 2
x=input("请输入一个三位数:")
a,b,c=map(int,x)
print(a,b,c)
请输入一个三位数:230
2 3 0
x=input("请输入正整数:")
ls=[]
ls=list(map(int,x))
s=0
for l in ls:
    s+=l
print(s)
请输入正整数:1234
10

序列结构

列表

append(尾部追加一个元素);insert;extend(尾部追加多个元素);pop(删除最后一个);remove(删除第一个为xx的值);count(统计某元素出现次数);
index;sort;reverse

#列表推导式
a=[x for x in range(3)]
print(a)
[0, 1, 2]
#切片:全部[::];逆序[::-1];间隔取[1:2];指定位置[1:2]
a=[1,2,3,5,5,6]
a[1::3]
[2, 5]
a[:1]=[]#删除
a
[3, 5, 5, 6]

元组

不可变序列,无法增加或删除元素,但其访问速度比列表快

#生成器推导式
g=((i*2) for i in range(5))
g
 at 0x0000021272D7F890>
tuple(g)
(0, 2, 4, 6, 8)

字典

get(值);items(键值对);keys(键);values(值)

keys=["A","B","C"]
values=[4,3,2,1]
dic=dict(zip(keys,values))
print(dic)
{'A': 4, 'B': 3, 'C': 2}
x=["A","B","1","A","A","Q","B"]
d={}
for ch in x:
    d[ch]=d.get(ch,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
print(ls)
[('A', 3), ('B', 2), ('1', 1), ('Q', 1)]

集合

集合运算符号;add;update;pop;remove;discard;clear

序列解包

for k,v in zip(,):
 

for i,v in enumerate():
 

for l,m in s.items():
 

程序控制结构

条件表达式

关系运算符、逻辑运算符

选择结构

单分支:if
 

双分支:if …else…
 

多分支:if…elif…elif…else

循环结构

while–循环次数难以确定
 

for–枚举/遍历序列
 

break-所属层次循环提前结束;continue-提前结束本次循环

你可能感兴趣的:(python)