1. Python属于脚本语言,它不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。一个Python源码文件(.py)除了可以被直接运行外,还可以作为模块(也就是库),被其他.py文件导入。不管是直接运行还是被导入,.py文件的最顶层代码都会被运行(Python用缩进来区分代码层次)。
2. if name == ‘main’:含义:
通俗的理解__name__ == ‘main’:假如你叫小明.py,在朋友眼中,你是小明(name == ‘小明’);在你自己眼中,你是你自己(name == ‘main’)。
if name == 'main’的意思是:当.py文件被直接运行时,if name == 'main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。
3、标识符、关键字
if / else / elif / break / continue / for / while / and / or / not / in / True / False / try / except / finally / as / import / from / def / class / return / None / global / lambda
4、变量、输入、输出
a = 100 # 引用
a,b = b,a
python2
a = input()
#3+4----->a = 7
python3
a = input()
#3+4 ---->a = “3+4”
#100—>a = “100”
int(“100”)—>100
str(100)---->“100”
33670—>str(33670)—>“33670”—>len(“33670”)—>5
5、 字符串、列表、元组、字典、集合、列表生成式、类型转换
字符串:“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}
可变类型:列表、字典、集合
不可变类型:数字、字符串、元组
[“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)
6、切片
顺序、选择、循环
7、if
if 条件:
xxxx
if 条件:
xxxx
else:
xxxx
if 条件1:
xxx1
elif 条件2:
xxx2:
elif 条件3:
xxx3
.....
else:
xxxx
if xxx:
xxx
xxx
if yyy:
yyy
8、while
i = 0
while i<100:
xxxx
i+=1
i = 100
while i>0:
print(i)
i-=1
while True:
pass
while xxx:
while yyy:
pass
9、 for
a = [111,22,33]
for i in a:
xxxxx
10、 各种嵌套
11、函数、参数、返回值、全局/局部变量、多个return、一个return返回多个值
def xxx(形参):
...
return 0
return 1
...
return (0,1)
return [0,1]
xxx(实参)
结束一个函数:return
结束一个循环:break/continue
结束一个程序:exit()
num = 100
def test():
global num # 全局变量
num=200
def test(a,b,c=100,*args,**kwargs): # *args 用来将参数打包成tuple(元组)给函数体调用
print(a,b,c,arg,kwargs) # **kwargs 打包关键字参数成dict给函数体调用
test(a=22,b=11,100,200,300,400,mm=100,nn=20)
12、类、对象
class Animal(父类):
类属性
num = 100
实例方法
def __init__(self):
self.xxx = 100 实例属性
父类名字.父类方法(self)
super().父类的方法名()
super(当前类的名字Animal,self).父类的方法名()
实例方法
def test(self):
Animal.num = 300
类方法
@classmethod
def xxx(cls):
cls.num = 200
静态方法
@staticmethod
def yyy():
pass
a = Animal()
b = a
del a----->不会调用__del__
del b----->调用__del__方法
13、异常
try:
xxxx
except 异常的名字:
异常的处理。。。。
else:
没有异常的时候执行
finally:
不管有没有产生异常,都会执行
14、模块、包
import 模块、包
xxxx.功能()
from 模块 import test1,test2
from ... import *
test1()
if __name__ =="__main__":
xxx