本文适合有一定编程基础的人群学习,或者N年前学习过python语言的人群进行快速复习,不适合菜鸟小白。
1. 标识符、关键字
if/else/elif/break/continue/for/while/and/or/not/in/True/False/try/except/finaly/as
/import/from/def/class/return/None/global/lambda
import keyword
keyword.kwlist
可以查看关键字
2. 变量、输入、输出
a = 100 引用
交换变量
a = 4
b = 5
方式1
c = a
a = b
b = c
方式2
a = a+b
b = a-b
a = a-b
方式3
a,b = b,a
在python2中
a = input()
#3+4----->a = 7
raw_input() 就是保存字符串
在python3中
a = input()
#3+4 ---->a = "3+4"
#100--->a = "100"
int("100")--->100
str(100)---->"100" 整形转换成字符串
33670--->str(33670)--->"33670"--->len("33670")--->5
3. 字符串、列表、元组、字典、集合、列表生成式、类型转换
"aaa"
'sdfsdf' 双引号,单引号都是字符串
切片
a = "abcd"
a[:3]---->"abc"
a[::-1]---->"dcba"
列表
[1,2,3,1,1,1]--->增删改查
元组
(1,2,3,1,1,1)-->只读
集合
{1,2,3,1,1,1}---->{1,2,3} 集合---元素不重复
字典---->{key:value, key2:value} value可以存储任何类型
可变类型:列表、字典、集合
不可变类型:数字、字符串、元组
["aa","ddd"] 相同数据类型用列表
{"name":"asdf","age":10} 不同数据类型用字典
[{"name":"xxx","family":[{"小姑":"aa","family":["a","b","cc"]},"bb","ccc"]},{},{}]
去重
a = [111,22,33,1,111,111,111,343]
b = set(a) 转集合
c = list(b) 转列表
d = tuple(a) 元组
"a"+"b"---->"ab"
4. 切片
顺序、选择、循环----程序无非就这几种语句
5.if
一、
if 条件:
xxxx
二、
if 条件:
xxxx
else:
xxxx2
三、
if 条件1:
xxx1
elif 条件2:
xxx2:
elif 条件3:
xxxx3
.....
else: //以上不满足执行else,一个if最多1个else
xxxx
if嵌套
if xxx:
xxx
xxx
xx
if yyy:
yyyyy1
6. while
一、
i = 0
while i<100:
xxxx
xxx
xxx
i+=1 //不加这句就是死循环,一般规律在最下面
二、从大到小打印出来
i = 100
while i>0:
print(i)
i-=1
三、
while True:
pass
四、循环嵌套,外面XXX循环每一编,里面的yyy必须循环完,一般2层
while xxx:
while yyy:
pass
7. for
a = [111,22,33]
for i in a:
//在遍历的时候不能删,删会漏掉,飞机子弹的问题,在循环过程中可以让i指向新的值
xxxxx
8. 各种嵌套
9. 函数、参数、返回值、全局/局部变量、多个return、一个return返回多个值
def xxx(形参):
。。。。。
return 0
return 1
....
return (0,1) //返回元组
return [0,1] //返回列表,想返回什么类型都可以
xxx(实参)
结束一个函数:return //可以有多个return,但第一个return函数就结束了
结束一个循环:break/continue
结束一个程序:exit()
def test(a,b,c=100,*args,**kwargs):
//c=100是缺省参数,args以元组形式保存,kwargs以字典形式保存
pass
test(b=11,a=22,100,200,300,400,mm=100,nn=20)
全局变量
num = 100
def test():
global num
num=200
10. 类、对象 把函数封装在一起
class Animal(父类):
类属性
num = 100
实例方法
def __init__(self): //self用来接受实例?
self.xxx = 100 实例属性
父类名字.父类方法(self)
super().父类的方法名()
super(当前类的名字Animal,self).父类的方法名()
实例方法
def tset(self):
Animal.num = 300
类方法
@classmethod
def xxx(cls): //cls用来接收类
cls.num = 200
静态方法
@staticmethod
def yyy(): //可以不接受任何参数
pass
a = Animal()
b = a //ab指向同一对象
del a----->不会调用__del__
del b----->调用__del__方法
11. 异常
try:
xxxx
except 异常的名字:
异常的处理。。。。
else:
没有异常的时候执行
finally:
不管有没有产生异常,都会执行
12. 模块、包
导入方式1
import 模块、包xxxx
xxxx.功能()
导入方式2
from 模块 import test1,test2
test1()
导入方式3
from .... import *
if __name__ =="__main__":
xxx
//我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。
python比较少操作文件,多数是用于操作数据库