Python进阶和高阶学习(持续更新)
程序员文章站
2022-04-11 17:46:00
...
Python是一门非常方便的静态语言,使用语法简洁,语言格式更易于让大众理解,在当今的大数据的浪潮下,Python的数据分析,机器学习等等起到了巨大的作用,因此学习Python必不可少。
当然在我看来,对于一些偏于计算机方向的同学,Python不适宜作为一门个人的主要语言,因为相对于C/C++他缺少了很多东西,比如内存,指针这些,这些关乎代码的存储和运行效率,不可或缺!
本博客将持续更新,以进阶和高阶为主,基础部分(列表,字典等等不做概述)。
go for it!
Python基础
函数
关键字:global,nonlocal
global:将变量声明为全局变量
def varible():
global a # 此时a是全局变量
nonlocal:将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量)
# 自裁
拷贝
浅拷贝:拷贝了最外层的对象(变量名称),内部的元素只拷贝了一个引用,地址不变,把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址
# the first channel
a = b
# the second channel
import copy
b = copy.copy(a)
深拷贝:外层的对象和内部的元素都拷贝(赋值)了一遍,被赋值的变量开辟了另一块地址用来存放要赋值的变量的值(内容)
import copy
b = copy.deepcopy(a)
四大高级函数
map(映射函数):把函数一次作用在列表中的每个元素上
map(func, object)
# example
def func(x):
return x * 3
lambda(匿名函数):函数名 = lambda 形参:返回值
la = lambda x : x * 3
# x相当于func的形参,x*3是functional的返回值
reduce(累积函数):一次把序列中的元素进行累积;新把对象中的前两个元素取出,计算出一个值然后保存,依次累积
from functools import reduce
reduce(func, object)
# func函数是有两个参数的函数
# example
def func(x, y):
return x + y
zip(拉链函数):用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
zip([iterable, ...])
# example
a = [1,2,3]
b = [4,5,6]
zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
异常
异常种类
捕获异常
# 通用格式
try:
# 监测的代码块(可能发生异常)
except:
# 如果发生异常,执行此代码
# 特定异常格式
try:
# 监测的代码块
except ErrorType as e:
# 如果发生异常,执行此代码
print(e)# 表示把异常输出信息放入e变量中
# 万能异常格式
try:
# 监测的代码块
except Exception as e:
# 如果发生异常,执行此代码
print("报错信息是e:", e)
# else:没有异常时执行的代码
#finally:不管有没有异常都会执行的代码
抛出异常
# 关键字:raise
# 执行了raise后面的代码不可执行
raise Exception("xxx")
自定义异常
# 自裁
模块
.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块
模块分类:
- 内置模块(标准库)
- 第三方模块(第三方库)
- 自定义模块
导入模块
import package
from father-package import son-package
# 调用自定义模块
# 调用模块内的函数,函数,类:
1. module.func()
2. from ... import ...
# 把模块内的所有内容导入
from ... import *
模块起别名
import test as name