欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
相关标签: Python python