首页 > 编程语言 >Python工程和科学计算1简介

Python工程和科学计算1简介

时间:2024-09-26 19:34:42浏览次数:1  
标签:product 1.1 Python 科学计算 模块 简介 print 源代码

1 简介

本章简要介绍了Python编程语言的可扩展性、应用领域和功能。

如果您需要在科学工作中进行大量计算,并希望以图形化的方式呈现计算结果,那么您应该认真考虑使用 Python。Python 是一种编程语言,其功能与 MATLAB相似, 且是科学计算目前用户最多的首选语言。

1.1 开发环境

1.1.1 IDLE(不推荐使用)

IDLE是一个非常适合Python初学者的IDE。它简单易用,功能齐全,为初学者提供了良好的学习和开发环境。但是,对于大型项目或有较高性能要求的开发者来说,可能需要考虑使用更专业的IDE。

1.1.2 Thonny

Thonny 适用于 Linux、macOS 和 Windows,可从 https://thonny.org 下载。

程序源代码必须输入文本编辑器(左上角区域)。通过 (F5) 功能键或单击 “开始 ”按钮启动程序后,将打开一个窗口,输入程序的文件名。数值计算的结果会在 Python 外壳左下角的命令行窗口中输出。Matplotlib 程序的每个函数图都会在单独的窗口中输出。在 shell(也称为 Python 控制台)中,您还可以直接输入 Python 命令。主窗口右侧的 “助手 ”可以帮助您排除故障,不过您应该降低对其功能的期望值。

Thonny 的一个特别重要的功能是可以轻松安装和更新 NumPy、Matplotlib、SymPy、SciPy 和 VPython 模块。您只需打开 “工具”-“管理包 ”对话框即可完成这些任务。然后,在左上角的文本框中输入要安装的模块名称,点击安装或更新。

要删除模块,必须在左侧窗格中选择相应模块。然后,“卸载 ”命令按钮会出现在 “安装 ”命令按钮的右侧。Thonny 软件包管理器的一个显著优势是,您还可以测试所有可用模块的旧版本。要完成这项任务,只需点击安装按钮右侧的...命令图标,就会打开一个窗口,在其中选择所需的模块版本。

Thonny很适合嵌入式MicroPython开发。

1.1.3 Spyder

Spyder 可在 https://www.spyder-ide.org 免费下载,适用于 Linux、macOS 和 Windows。

要使用 Matplotlib 程序运行动画,必须在 IPython 控制台 - 图形下的设置中选择自动作为后端。启动程序后,将打开一个单独的窗口来运行动画。包含滑块控件的 Matplotlib 程序也只能通过该选项交互执行。

1.1.4 pip

pip允许您轻松下载和更新模块--当您使用 Python 时,Pip 是一个特别重要的工具。

例如,如果您已经安装了 Python,但只想添加 NumPy 模块,您可以在 Windows、Linux 或 macOS 的终端中输入以下命令:

pip install numpy 

使用以下命令可以更新现有的 NumPy 安装:

pip install --upgrade numpy 

1.1.5 Visual Studio Code

Visual Studio Code(简称 VS Code)是一款非常受欢迎的轻量级代码编辑器,支持多种编程语言,包括 Python。VS Code 提供了许多强大的功能,如智能感知(IntelliSense)、调试、Git 集成等,非常适合 Python 开发。

1.1.6 Cursor

基于Visual Studio Code的AI增强IDE:

1.1.7 Wing IDE

Wing IDE(商业软件)是一款专为 Python 编程设计的集成开发环境 (IDE)。它提供了一套全面的工具,旨在帮助 Python 开发者提高效率和代码质量。

1.1.8 PyCharm

PyCharm(商业软件)是由 JetBrains 公司开发的一款专为 Python 编程语言打造的集成开发环境 (IDE)。它提供了丰富的工具和功能,旨在帮助 Python 开发者更高效地编写、调试和维护代码。

功能强大,但是使用的是java语言开发,有点笨重。

参考资料

1.2 Python 的模块

为了让我们初步了解 Python 中模块概念的能力和特性,我首先想用类似关键字的方式来描述五个模块。通常使用库或软件库来代替模块。使用简短的示例程序最能说明 Python 的功能。当然,您还不需要理解本节所示的源代码。毕竟,理解才是其他章节的目的。

1.2.1 NumPy

  • 简单的向量微积分程序。
import numpy as np

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

print("Vector A:",A)
print("Vector B:",B)
print("Total A+B:",A+B)
print("Product A*B:",A*B)
print("Cross product :",np.cross(A,B))
print("Scalar product:",np.dot(A,B))

执行结果:

Vector A: [1 2 3]
Vector B: [4 5 6]
Total A+B: [5 7 9]
Product A*B: [ 4 10 18]
Cross product : [-3  6 -3]
Scalar product: 32
  • 叉积(Cross product)

叉积,也称为向量积或外积,是一种在三维空间中定义的向量运算。它接受两个向量作为输入,并产生一个新的向量作为输出。这个新向量垂直于输入的两个向量所构成的平面,其方向由右手定则确定。

  • 标量积(Scalar product)

标量积,也称为点积(Dot product)或内积(Inner product),是一种接受两个等长的数字序列(通常是坐标向量),并返回一个单一数字(标量)的代数运算。

1.2.2 Matplotlib

  • 多项式函数图的简单示例。
import numpy as np
import matplotlib.pyplot as plt

x=np.arange(-2,6,0.01)
y=x**3-7*x**2+7*x+15
plt.plot(x,y)
plt.show()

1.2.3 SymPy

  • 符号微分和积分的简单示例。
from sympy import *

x=symbols("x")
y=x**3-7*x**2+7*x+15
y_1=diff(y,x,1)
y_2=diff(y,x,2)
y_3=diff(y,x,3)
Y=integrate(y,x)
print("1. Derivative:",y_1)
print("2. Derivative:",y_2)
print("3. Derivative:",y_3)
print(" Integral :",Y)

执行结果:

1. Derivative: 3*x**2 - 14*x + 7
2. Derivative: 2*(3*x - 7)
3. Derivative: 6
 Integral : x**4/4 - 7*x**3/3 + 7*x**2/2 + 15*x
  • 导数(Derivative)

导数是微积分中的一个基本概念,它表示函数在某一点处的变化率。通俗来说,导数告诉我们函数在这一点上是变大、变小还是保持不变,以及变化的速度有多快。

1.2.4 SciPy

使用 SciPy 进行数值积分

import scipy.integrate as integral
def f(x):
    return x**2

A=integral.quad(f,0,5)
print("Area A=",A[0]) 

输出

Area A= 41.66666666666666

第 6 章将介绍 SciPy 模块。

1.2.5 VPython

使用 VPython编写弹跳球动画的示例。

import scipy.integrate as integral
def f(x):
    return x**2

A=integral.quad(f,0,5)
print("Area A=",A[0]) 

输出

Area A= 41.66666666666666

第 7 章将介绍 VPython 模块。当然,我们提到的 Python 模块的所有功能并不能在本书中详尽阐述。如果您错过了某个特定主题,我建议您参考在线文档作为补充信息来源。

1.3 如何阅读本书?

如何阅读本书?基本上,你可以独立阅读各个章节。如果您已经了解 Python 的基本结构,那么可以跳过第 2 章。如果刚刚开始学习,则必须先阅读这一章,这是理解后续章节的前提。

我们的讲解和知识传授方法基于一个统一的原则: 每个主题都会介绍一至三个来自电气工程、机械工程或物理学的实例。在简要介绍任务之后,打印出完整的源代码。在源代码之后,直接进行输出(计算结果)。然后对源代码进行讨论和分析。

我们对源代码的分析还包括对结果(输出)的分析。结果是否符合预期?程序是否完全解决了设定的任务?通常情况下,只有在仔细查看输出结果后,你才能完全理解程序的源代码。查看输出结果后,你可以再次分析源代码。

在每章的最后,都会提供一个或多个项目任务,并对其进行讨论和全面解决,以巩固和拓展该章所学内容。

标签:product,1.1,Python,科学计算,模块,简介,print,源代码
From: https://www.cnblogs.com/testing-/p/18399527

相关文章

  • 1.1 HuggingFists简介(一)
    HuggingFists是一款低代码的AI应用开发及运营平台。有别于很多同类型的开发平台,其采用了传统数据科学平台的技术架构。因此,其不但可以帮助用户使用LLM在内的各类AI模型快速搭建出RAG(检索增强生成)、Agent(智能体)、知识图谱等应用;还可以帮助用户完成全结构(结构、半结构、非结......
  • python打包whl文件
    在python中,使用setuptools库创建wheel包确保已安装wheel和setuptools#使用piplist查看已经安装的包piplist如果没有,就用下面的命令安装pipinstallwheelsetuptools在当前路径创建一个aaa的文件夹 在aaa里创建一个__init__.py的文件,内容如下classtest_......
  • python字符串
    1定义字符串text="Hello,World!"2多行字符串multi_line_text="""Thisisamulti-linestring."""3 字符串拼接greeting="Hello"name="Alice"message=greeting+","+name+"!"4......
  • (开题)flask框架宠物上门服务系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,宠物已成为许多家庭的重要成员,它们不仅是忠诚的伴侣,更是情感的寄托。然而,随着工作压力的增加和生活方式的转变,许多宠......
  • (开题)flask框架宠物医院管理系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着宠物饲养的普及和宠物主人对宠物健康关注度的提升,宠物医疗行业迎来了前所未有的发展机遇。然而,传统的宠物医院管理模式在应对日益增长......
  • (开题)flask框架大学生企业推荐系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及,大学生群体日益庞大,就业市场竞争也日益激烈。传统的人才招聘方式往往依赖于招聘网站的海量信息筛选和线下招聘会,这不仅......
  • ADB功能简介及常规使用
    ADB(AndroidDebugBridge)是Android系统的一个重要工具,它允许开发者通过电脑控制和管理Android设备,进行软件安装、卸载、运行shell命令、文件传输等多种操作。一、ADB的基本功能设备连接与管理:ADB能够识别并连接已开启调试模式的Android设备,无论是模拟器还是真实设备。通过ADB......
  • python 修改cmd窗口标题
    python相关学习资料: https://edu.51cto.com/video/3502.html https://edu.51cto.com/video/3832.html https://edu.51cto.com/video/1158.htmlPython修改CMD窗口标题在编程过程中,我们经常需要在命令行界面(CMD)中运行Python脚本。有时,为了便于区分不同的命令行窗......
  • python使用win32gui、win32con窗口函数功能及参数意义
    使用python设置窗口显示、最大化、最小化、隐藏的时候,需要win32gui.ShowWindow(hwnd,win32con.SW_HIDE),那么对于的参数如下:ShowWindow函数的参数有:1.hWnd:窗口句柄,用于标识要操作的窗口;2.nCmdShow:指定窗口如何显示,可以是以下值:SW_HIDE:隐藏窗口并**其他窗口。nCmdShow=0。SW_......
  • RabbitMq 入门应用 提升性能 : 算法多阶段并行 (Python)
    大问题:我们有一个算法,它可以被分为多个阶段进行(顺序不可颠倒),每个阶段的性能和资源要求不同(且不均衡程度比较高);假设我们现在可以堆资源(较多的CPU和内存),如何将算法各个步骤拆分并进行性能均衡和实现,使得算法性能最大化以满足生产要求?多进程:由于算法有严格的顺序要求,如果是......