Python常用的Numpy包

简介: Python常用的Numpy包

Python量化炒股常用的Numpy包
Numpy包是高性能科学计算和数据分析的基础包,不是Python的标准包,是Python第三方包。这里使用聚宽JoinQuant量化炒股平台免费提供的基于Jupyter Notebook的研究平台。

初识Numpy包及量化炒股平台
Numpy包概述
NumPy(Numerical Python)是 Python 中用于科学计算的基础库,提供了强大的多维数组对象和相关工具,以及用于处理这些数组的数学函数。以下是关于 NumPy 包的概述:

主要特点

  1. 多维数组对象:NumPy 的核心是 ndarray 对象,它是一个具有相同类型、固定大小的数组,支持高效的数值运算。

  2. 矢量化操作:NumPy 提供了广播功能,使得在整个数组上执行操作更加简单和快速,避免了使用循环。

  3. 数学函数:NumPy 包含了许多数学函数,如三角函数、指数函数、对数函数等,可以直接应用于数组。

  4. 线性代数运算:NumPy 提供了丰富的线性代数函数,可以进行向量和矩阵运算、求逆、特征值分解等操作。

  5. 随机数生成:NumPy 提供了用于生成各种随机数的函数,包括均匀分布、正态分布等常见分布。

集成 C/C++/Fortran 代码:NumPy 是 Python 科学计算库的基础,为其他科学计算库提供了底层的数据结构支持。

安装 NumPy

在安装 Python 后,通常可以使用以下命令来安装 NumPy 包:

pip install numpy

导入 NumPy

import numpy as np

示例用法

import numpy as np

# 创建数组
arr = np.array([1, 2, 3, 4])
print(arr)

# 数组运算
result = arr + 10
print(result)

# 矩阵乘法
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
product_matrix = np.dot(matrix1, matrix2)
print(product_matrix)

# 统计函数
mean_value = np.mean(arr)
print(mean_value)

运行结果如下:

[1 2 3 4]
[11 12 13 14]
[[19 22]
 [43 50]]
2.5

NumPy 是 Python 中不可或缺的科学计算库之一,对于处理大规模数据、进行数学计算和实现算法非常有用。其高效的数组操作和广泛的功能使得 NumPy 成为许多数据科学家和工程师首选的库之一。

量化炒股平台
量化炒股平台是指利用计算机程序和算法来执行股票交易策略的平台。这些平台通常使用大量历史数据、数学模型和统计分析来制定投资决策,以取代传统的人工交易。现在比较流行的量化炒股平台,如聚宽(JoinQuant)、优矿(Uqer)、米筐(Ricequant)等,大体上提供类似的服务。

单击导航栏中的”策略研究“选项,就会弹出下拉菜单,然后单击”研究环境“命令,如下图所示,就可以进入Jupyter Notebook的研究平台。单击“新建”按钮,弹出下拉菜单,然后单击“Python3“命令,如下图所示,就可以新建Python3文件。

image.png
image.png

ndarray数组基础
在 NumPy 中,ndarray 是表示多维数组的主要数据结构。它提供了许多功能和方法来操作数组数据。以下是一些常见的 ndarray 的用法示例:

创建数组:

import numpy as np

# 从列表创建一维数组
arr = np.array([1, 2, 3, 4])
print(arr)

# 从列表创建二维数组
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)

# 创建全零数组
zeros_arr = np.zeros((2, 3))
print(zeros_arr)

# 创建全一数组
ones_arr = np.ones((3, 3))
print(ones_arr)

运行结果如下:

[1 2 3 4]
[[1 2 3]
 [4 5 6]]
[[0.0 0.0 0.0]
 [0.0 0.0 0.0]]
[[1.0 1.0 1.0]
 [1.0 1.0 1.0]
 [1.0 1.0 1.0]]

数组索引和切片:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 访问元素
print(arr[0])

# 切片
print(arr[1:3])

# 使用负数索引
print(arr[-1])

运行结果如下:

1
[2 3]
5

数组运算:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 数组相加
sum_arr = arr1 + arr2
print(sum_arr)

# 数组乘法(逐元素相乘)
product_arr = arr1 * arr2
print(product_arr)

运算如下:

[5 7 9]
[4 10 18]
1.
2.
**数组形状和维度:**
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

# 数组形状
print(arr.shape)

# 数组维度
print(arr.ndim)

# 改变数组形状
reshaped_arr = arr.reshape(3, 2)
print(reshaped_arr)

运行结果如下:

(2, 3) # 232
[[1 2]
 [3 4]
 [5 6]]

常见统计函数:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 计算平均值
mean_value = np.mean(arr)
print(mean_value)

# 计算标准差
std_deviation = np.std(arr)
print(std_deviation)

# 求和
sum_value = np.sum(arr)
print(sum_value)

运行结果如下:

3.0
1.4142135623730951
15

ndarray 对象提供了丰富的功能和方法,可以进行高效的数组操作、数学运算和统计分析。通过熟悉和灵活运用 ndarray 的相关用法,可以更好地处理和操作多维数组数据。

在新的单元格中输入如下代码:

myb = np.array([11, 25, 36,89], dtype=complex)
print('利用for循环显示数组中的数据:')
for a in myb:
    print(a)

由于包一次导入,以后可以随便使用,这里不再需要导入numpy包。这里设置了一维数组的数据类型,默认为整型,这里设置为复数类型,最后用for循环显示数组中的数据。运行结构如下:

利用for循环显示数组中的数据:
(11+0j)
(25+0j)
(36+0j)
(89+0j)

在新单元格中输入如下代码:

myc = np.array([[11, 25, 36,89], [20,50,60,90]])
print('显示二维数组中的数据:\n', myc)
print('\n\n第二行中的第三个数据:', myc[1][2])

运行结果如下:

显示二维数组中的数据:
 [[11 25 36 89]
 [20 50 60 90]]


第二行中的第三个数据: 60

Numpy特殊数组
NumPy 提供了许多特殊类型的数组,这些数组具有特定的结构或形状,适用于不同的数学和科学计算任务。以下是一些常见的特殊数组:

零数组(Zero Array):

import numpy as np

# 创建全零数组
zeros_arr = np.zeros((2, 3))
print(zeros_arr)

全一数组(Ones Array):

import numpy as np

# 创建全一数组
ones_arr = np.ones((3, 3))
print(ones_arr)

对角线数组(Diagonal Array):

import numpy as np

# 创建对角线数组
diag_arr = np.diag([1, 2, 3])
print(diag_arr)

单位矩阵(Identity Matrix):

import numpy as np

# 创建单位矩阵
identity_matrix = np.eye(3)
print(identity_matrix)

随机数组(Random Array):

import numpy as np

# 创建随机数组
random_arr = np.random.rand(2, 2)
print(random_arr)

等差数列(Arange Array):

import numpy as np

# 创建等差数列
range_arr = np.arange(0, 10, 2)
print(range_arr)

正态分布随机数组(Normal Distribution Random Array)

import numpy as np

# 创建正态分布随机数组
normal_dist_arr = np.random.normal(0, 1, (2, 2))
print(normal_dist_arr)

Meshgrid 数组:

import numpy as np

# 创建网格点坐标数组
x = np.array([1, 2, 3])
y = np.array([4, 5])
X, Y = np.meshgrid(x, y)
print(X)
print(Y)

empty数组:

import numpy as np

# 创建一个形状为 (2, 3) 的空数组
empty_arr = np.empty((2, 3))
print(empty_arr)

这些特殊数组可以帮助在不同的场景下更有效地进行数据处理、模拟和分析。根据具体需求选择合适的特殊数组类型,在 NumPy 中灵活应用这些特殊数组将提高编程效率和数据处理能力。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
# 一维数组,默认类型为float
mya = np.zeros(6)
print('zeros一维数组:\n', mya)
# 二维数组,设置数据类型为int
myb = np.zeros((3,3), dtype=np.int)
print('zeros二维数组:\n', myb)
# 二维数组,默认类型为flaot
myc = np.ones((6,4))
print('ones二维数组:\n', myc)
# empty数组
myd = np.empty((2,4))
print('empty二维数组:\n', myd)

单击工具栏中的运行键(run)按钮,运行结果如下:

zeros一维数组:
 [0.0 0.0 0.0 0.0 0.0 0.0]
zeros二维数组:
 [[0 0 0]
 [0 0 0]
 [0 0 0]]
ones二维数组:
 [[1.0 1.0 1.0 1.0]
 [1.0 1.0 1.0 1.0]
 [1.0 1.0 1.0 1.0]
 [1.0 1.0 1.0 1.0]
 [1.0 1.0 1.0 1.0]
 [1.0 1.0 1.0 1.0]]
empty二维数组:
 [[5.4e-323 1.24e-322 1.8e-322 4.4e-322]
 [1e-322 2.47e-322 2.96e-322 4.45e-322]]

Numpy序列数组
在 NumPy 中,你可以使用 numpy.arange() 函数来创建一个序列数组,该函数会生成一个等差数列。以下是如何使用 numpy.arange() 来创建序列数组的示例:

import numpy as np

# 创建一个等差数列数组,起始值为 0,终止值为 10,步长为 2
sequence_arr = np.arange(0, 10, 2)
print(sequence_arr)

在这个示例中,np.arange(0, 10, 2) 创建了一个从 0 开始、到 10 结束(不包括 10)、步长为 2 的等差数列数组。输出结果将是 [0, 2, 4, 6, 8]。

除了 numpy.arange(),你还可以使用 numpy.linspace() 函数来创建序列数组,该函数会在给定的范围内生成指定数量的等分点。以下是使用 numpy.linspace() 的示例:

import numpy as np

# 创建一个包含5个元素的等间隔数组,起始值为 1,终止值为 10
sequence_arr = np.linspace(1, 10, 5)
print(sequence_arr)

在上面的示例中,np.linspace(1, 10, 5) 创建了一个包含 5 个元素的数组,这些元素均匀分布在区间 [1, 10] 内。输出结果将是 [1. 3.25 5.5 7.75 10. ]。

通过使用 numpy.arange() 和 numpy.linspace() 函数,你可以方便地创建等差数列或等间隔序列数组,适用于各种数学和科学计算任务。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
numpy1 = np.arange(1, 100, 2)
print('利用arrange函数创建等差序列数组:',numpy1)
print()
numpy2 = np.linspace(0,8,10)
print('利用linespace函数创建等差序列数组:',numpy2)

单击运行按钮,如下所示:

利用arrange函数创建等差序列数组: [1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99]

利用linespace函数创建等差序列数组: [0.0 0.8888888888888888 1.7777777777777777 2.6666666666666665
 3.5555555555555554 4.444444444444445 5.333333333333333 6.222222222222221
 7.111111111111111 8.0]

利用下标索引显示Numpy数组中元素的值
Numpy数组的每个元素、每行元素、没列元素都可以用下标索引访问,但应注意:下标索引是从0开始的,其操作与列表基本相同。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
numpy1 = np.array([[8,6,5.2],[72,-12,3.9]])
print('显示Numpy数组中所有元素:', numpy1)
print()
print('显示Numpy数组中第一行元素:',numpy1[0])
print()
print('显示Numpy数组第一行中的第二个元素:', numpy1[0,1])
print()
print('显示Numpy数组中第二行中的第三个元素:', numpy1[1,2])
print()
print('显示Numpy数组中第三列元素:', numpy1[:,2])

利用下标索引显示Numpy数组中的元素值,与列表相同,但需要注意显示某一行或某一列的写法。

单击运行按钮,运行效果如下:

显示Numpy数组中所有元素: [[8.0 6.0 5.2]
 [72.0 -12.0 3.9]]

显示Numpy数组中第一行元素: [8.0 6.0 5.2]

显示Numpy数组第一行中的第二个元素: 6.0

显示Numpy数组中第二行中的第三个元素: 3.9

显示Numpy数组中第三列元素: [5.2 3.9]

Numpy数组运算
Numpy数组运算是指Numpy数组中元素的加、减、乘、除、乘方、最大值、最小值等运算。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
numpy1 = np.array([5,10,15])
numpy2 = np.array([2, 4, 6])
print('数组的加法运算', numpy1 + numpy2)
print('数组的减法运算', numpy1 - numpy2)
print('数组的乘法运算', numpy1 * numpy2)
print('数组的除法运算', numpy1 / numpy2)
print('numpy1数组的乘方运算', numpy1 ** 2)
print('数组的点乘运算', np.dot(numpy1, numpy2)) # 就是把数组的乘法运算得到的数再加起来
print('数组的大小比较', numpy1 >= numpy2)
print('numpy1数组的最大值', numpy1.max())
print('numpy2数组的最小值', numpy2.min())
print('numpy1数组的和', numpy1.sum())
print('numpy1和numpy2数组的和', numpy1.sum()+numpy2.sum())

单击工具栏中的运行按钮,效果如下:

数组的加法运算 [7 14 21]
数组的减法运算 [3 6 9]
数组的乘法运算 [10 40 90]
数组的除法运算 [2.5 2.5 2.5]
numpy1数组的乘方运算 [25 100 225]
数组的点乘运算 140
数组的大小比较 [True True True]
numpy1数组的最大值 15
numpy2数组的最小值 2
numpy1数组的和 30
numpy1和numpy2数组的和 42

Numpy的矩阵
矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,是高等数学中的常见工具,也常见于统计分析等应用数学学科中。在 NumPy 中,除了 ndarray(n-dimensional array,多维数组)之外,还提供了 numpy.matrix 类型,用于表示矩阵对象。numpy.matrix 是 ndarray 的子类,专门用于处理线性代数运算。以下是一些关于 numpy.matrix 对象的基本信息和示例用法:

创建矩阵:

import numpy as np

# 从列表创建矩阵
mat = np.matrix([[1, 2], [3, 4]])
print(mat)

转换为矩阵类型:

import numpy as np

arr = np.array([[1, 2], [3, 4]])
mat = np.mat(arr)  # 将数组转换为矩阵类型
print(mat)

矩阵乘法:

import numpy as np

mat1 = np.matrix([[1, 2], [3, 4]])
mat2 = np.matrix([[2, 0], [1, 2]])

result = mat1 * mat2
print(result)

求逆矩阵:

import numpy as np

mat = np.matrix([[1, 2], [3, 4]])
inverse_mat = mat.I  # 求逆矩阵
print(inverse_mat)

矩阵转置:

import numpy as np

mat = np.matrix([[1, 2], [3, 4]])
transposed_mat = mat.T  # 矩阵转置
print(transposed_mat)

获取矩阵元素:

import numpy as np

mat = np.matrix([[1, 2], [3, 4]])
element = mat[0, 1]  # 获取特定位置的元素
print(element)

NumPy 中的 numpy.matrix 类型特别适用于进行线性代数运算,如矩阵乘法、求逆矩阵等。然而,对于一般情况下的多维数组操作,通常建议使用普通的 ndarray 类型。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np

numpy1 = np.matrix([[2,4,6],[1,3,5]])
print('矩阵数据内容:')
print(numpy1)
numpy2 = numpy1.T         # 矩阵的转置
print('矩阵的转置后的数据内容:')
print(numpy2)
print('矩阵的乘法:')
print(numpy1*numpy2)
numpy3 = numpy1.I   # 矩阵的求逆
print('矩阵的求逆:')
print(numpy3)

单击工具栏中的运行按钮,效果如下:

矩阵数据内容:
[[2 4 6]
 [1 3 5]]
矩阵的转置后的数据内容:
[[2 1]
 [4 3]
 [6 5]]
矩阵的乘法:
[[56 44]
 [44 35]]
矩阵的求逆:
[[1.0833333333333348 -1.3333333333333355]
 [0.3333333333333349 -0.33333333333333537]
 [-0.416666666666668 0.6666666666666684]]

Numpy的线性代数
Numpy包含bumpy.linalg模块,提供线性代数所需的所有功能。

两个数组的点积
numpy.dot()函数返回两个数组的点积。对于二维向量,其等效于矩阵乘法;对于一维数组,它是向量的内积;对于N维数组,它是a的最后一个轴上的和与b的倒数第二个轴的乘积。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
a = np.array([[1, 2], [3,4]])
b = np.array([[11,12], [13, 14]])
print('返回两个数组的点积:')
print(np.dot(a, b))

运行结果如下:

返回两个数组的点积:
[[37 40]
 [85 92]]

注意:两个数组的点积计算为[[1x11+2x13, 1x12+2x14],[3x11+4x13,3x12+4x14]]

两个向量的点积
Numpy.vdot()函数返回两个向量的点积。如果第一个参数是复数,那么它的共轭复数会用于计算。如果参数id是多维数组,那么它会被展开。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[11, 12], [13, 14]])
print('返回两个向量的点积:')
print(np.vdot(a, b))

注意:两个向量的点积计算为1x11+2x12+3x13+4x14=130。

单击工具栏运行按钮,运行结果如下:

返回两个向量的点积:
130

数组的向量内积
单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
a = np.array([1, 2, 3])
b = np.array([0, 1, 0])
print('一维数组的向量内积:')
print(np.inner(a, b))
print()
c = np.array([[1,2], [3,4]])
d = np.array([[11, 12], [13, 14]])
print('多维数组的向量内积:')
print(np.inner(c,d))

注意:多维数组的向量内积计算如下。

1x11 + 2x12, 1x13+2x14

3x11+4x12, 3x13+4x14

单击工具栏运行按钮,运行结果如下:

一维数组的向量内积:
2

多维数组的向量内积:
[[35 41]
 [81 95]]

矩阵的行列式
行列式在线性代数中是非常有用的值,它从方阵的对角元素计算。对于2x2矩阵,它是左上和右下元素的乘积与其他两个的乘积的差。也就是说,对于矩阵[[a, b], [c, d]],行列式计算为ad-bc。较大的方阵被认为是2x2矩阵的组合。在Python中,是利用numpy.linalg.det()函数计算输入矩阵的行列式。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
a = np.array([[1, 2], [3, 4]])
print('矩阵的行列式:')
print(np.linalg.det(a))
b = np.array([[6,1,1], [4,-2,5],[2,8,7]])
print('较大的方阵的数据:')
print(b)
print()
print('较大的方阵行列式:')
print(np.linalg.det(b))
print()
print('较大的方阵的行列式的计算方法:')
c = 6*(-2*7 - 5*8) - 1 * (4*7 - 5*2) + 1*(4*8 - -2*2)
print('6*(-2*7 - 5*8) - 1 * (4*7 - 5*2) + 1*(4*8 - -2*2)=', c)

单击工具栏运行按钮,运行结果如下:

矩阵的行列式:
-2.0000000000000004
较大的方阵的数据:
[[6 1 1]
 [4 -2 5]
 [2 8 7]]

较大的方阵行列式:
-306.0

较大的方阵的行列式的计算方法:
6*(-2*7 - 5*8) - 1 * (4*7 - 5*2) + 1*(4*8 - -2*2)= -306

矩阵的逆
使用bumpy.linalg.inv()函数来计算矩阵的逆。矩阵的逆是指,如果它乘以原始矩阵,则得到单位矩阵。

单击聚宽JoinQuant量化炒股平台中的“策略研究/研究环境“命令,进入Jupyter Notebook的研究平台。然后单击“新建”按钮,创建Python 3文件,输入如下代码:

import numpy as np
x = np.array([[1,2], [3,4]])
print('原始矩阵:\n',x)
print()
y = np.linalg.inv(x)
print('矩阵的逆:\n', y)
print()
print('单位矩阵:')
print(np.dot(x, y))

单击工具栏运行按钮,运行结果如下:

原始矩阵:
 [[1 2]
 [3 4]]

矩阵的逆:
 [[-1.9999999999999996 0.9999999999999998]
 [1.4999999999999998 -0.4999999999999999]]

单位矩阵:
[[1.0 0.0]
 [8.881784197001252e-16 0.9999999999999996]]

提醒:单位矩阵是一个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此之外全部为0

可在[小蜜蜂AI][ https://zglg.work] 网站的GPT问答获取更多相关知识。

相关文章
|
1月前
|
数据处理 开发工具 开发者
requirement.txt 管理python包依赖
在 Python 项目中,`requirements.txt` 用于记录依赖库及其版本,便于环境复现。本文介绍了多种生成该文件的方法:基础方法使用 `pip freeze`,进阶方法使用 `pipreqs`,专业方法使用 `poetry` 或 `pipenv`,以及手动维护方式。每种方法适用不同场景,涵盖从简单导出到复杂依赖管理,并提供常见问题的解决方案,帮助开发者高效生成精准的依赖列表,确保项目环境一致性。
336 4
|
8月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
472 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
10月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
316 62
|
8月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
246 7
|
8月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
349 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
10月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
10月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
10月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
9月前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
109 5
|
8月前
|
程序员 Linux Python
python中模板和包的使用
本文介绍了 Python 模块和包的基本概念及使用方法。模块是 Python 程序结构的核心,每个以 `.py` 结尾的源文件都是一个模块,包含可重用的代码。文章详细讲解了模块的导入方式(如 `import` 和 `from...import`),模块的搜索顺序,以及如何创建和发布自己的模块。此外,还介绍了包的概念,包是包含多个模块的特殊目录,并通过 `__init__.py` 文件定义对外提供的模块列表。最后,文章简述了如何使用 `pip` 工具管理第三方模块的安装与卸载。作者:大石头的笔记;来源:稀土掘金。
109 0

推荐镜像

更多