当前位置: 首页 > news >正文

2.4 如何运行Python程序

如何运行Python程序?

Python是一种解释型的脚本编程语言,这样的编程语言一般支持两种代码运行方式:

1) 交互式编程

在命令行窗口中直接输入代码,按下回车键就可以运行代码,并立即看到输出结果;执行完一行代码,你还可以继续输入下一行代码,再次回车并查看结果……整个过程就好像我们在和计算机对话,所以称为交互式编程。

2) 编写源文件

创建一个源文件,将所有代码放在源文件中,让解释器逐行读取并执行源文件中的代码,直到文件末尾,也就是批量执行代码。这是最常见的编程方式,也是我们要重点学习的。

本节我们将详细介绍以上两种编程方式。

Python 交互式编程

一般有两种方法进入 Python 交互式编程环境,第一种方法是在命令行工具或者终端(Terminal)窗口中输入python命令,看到>>>提示符就可以开始输入代码了,如下所示:

使用python命令进入交互式编程环境
图 1 使用python命令进入交互式编程环境

第二种进入 Python 交互式编程环境的方法是,打开 Python 自带的 IDLE 工具,默认就会进入交互式编程环境,如下所示:

打开IDLE工具进入交互式编程环境
图 2 打开 IDLE 工具进入交互式编程环境

IDLE 支持代码高亮,看起来更加清爽,所以推荐使用 IDLE 编程。

实际上,你可以在交互式编程环境中输入任何复杂的表达式(包括数学计算、逻辑运算、循环语句、函数调用等),Python 总能帮你得到正确的结果。这也是很多非专业程序员喜欢 Python 的一个原因:即使你不是程序员,但只要输入想执行的运算,Python 就能告诉你正确的答案。

从这个角度来看,Python 的交互式编程环境相当于一个功能无比强大的“计算器”,比 Windows 、Mac OS X 系统自带的计算器的功能强大多了。

编写 Python 源文件

交互式编程只是用来玩玩而已,真正的项目开发还是需要编写源文件的。

Python 源文件是一种纯文本文件,内部没有任何特殊格式,你可以使用任何文本编辑器打开它,比如:

  • Windows 下的记事本程序;
  • Linux 下的 Vim、gedit 等;
  • Mac OS 下的 TextEdit 工具;
  • 跨平台的 Notepad++、EditPlus、UltraEdit 等;
  • 更加专业和现代化的 VS Code 和 Sublime Text(也支持多种平台)。

注意,不能使用写字板、Word、WPS 等排版工具编写 Python 源文件,因为排版工具一般都有内置的特殊格式或者特殊字符,这些会让代码变得“乱七八糟”,不能被 Python 解释器识别。

源文件的后缀

Python 源文件的后缀为.py。任何编程语言的源文件都有特定的后缀,例如:

  • C语言源文件的后缀是.c
  • C++源文件的后缀是.cpp
  • JavaScript源文件的后缀是.js
  • C#源文件的后缀是.cs
  • Java 源文件的后缀是.java

后缀只是用来区分不同的编程语言,并不会导致源文件的内部格式发生变化,源文件还是纯文本的。编译器(解释器)、编辑器和用户(程序员)都依赖后缀区分当前源文件属于哪种编程语言。

源文件的编码格式

Python 源文件是一种纯文本文件,会涉及编码格式的问题,也就是使用哪种编码来存储源代码。

Python 3.x 已经将 UTF-8 作为默认的源文件编码格式,所以推荐大家使用专业的文本编辑器,比如 Sublime Text、VS Code、Vim、Notepad++ 等,它们都默认支持 UTF-8 编码。

UTF-8 是跨平台的,国际化的,编程语言使用 UTF-8 是大势所趋。

运行源文件

使用编辑器(我习惯使用 Sublime Text)创建一个源文件,命名为 demo.py,并输入下面的代码:

print("Python教程:http://c.biancheng.net/python/")a = 100b = 4print(a*b)

输入完成以后注意保存。

运行 Python 源文件有两种方法:

\1) 使用 Python 自带的 IDLE 工具运行源文件。

通过file -> open菜单打开 demo.py 源文件,然后在源文件中的菜单栏中选择Run->Run Module,或者按下 F5 快捷键,就可以执行源文件中的代码了。

运行效果截图
图 3 运行效果截图

\2) 在命令行工具或者终端(Terminal)中运行源文件。

进入命令行工具或者终端(Terminal),切换到 demo.txt 所在的目录,然后输入下面的命令就可以运行源文件:

python demo.py

运行完该命令,可以立即看到输出结果,如下图所示。

在 WIndows 命令行工具中运行Python源文件
图 4 在 WIndows 命令行工具中运行 Python 源文件

这里简单介绍一下 python 命令,它的语法非常简单,其基本格式如下:

python <源文件路径>

这里的源文件路径,可以是自盘符(C盘、D盘)开始的绝对路径,比如D:\PythonDemo\demo.py;也可以在执行 python 命令之前,先进入源文件所在的目录,然后只写文件名,也就是使用相对路径。

图4演示的是使用相对路径,下面我们再演示一下使用绝对路径:

python 命令使用绝对路径
图 5 python 命令使用绝对路径

文件所在的目录,然后只写文件名,也就是使用相对路径。

需要注意的是,Windows 系统不区分大小写,在 Windows 平台上输入源文件路径时可以不用注意大小写。但是类 Unix 系统(Mac OS X、Linux 等)都是区分大小写,在这些平台上输入 Python 源文件路径时一定要注意大小写问题。

相关文章:

2.4 如何运行Python程序

如何运行Python程序&#xff1f; Python是一种解释型的脚本编程语言&#xff0c;这样的编程语言一般支持两种代码运行方式&#xff1a; 1) 交互式编程 在命令行窗口中直接输入代码&#xff0c;按下回车键就可以运行代码&#xff0c;并立即看到输出结果&#xff1b;执行完一行…...

Vue中如何实现动态改变字体大小

在Vue应用程序中&#xff0c;动态改变字体大小是一个常见的需求。这可以通过使用Vue的数据绑定功能和计算属性来实现。在本文中&#xff0c;我们将介绍如何在Vue中实现动态改变字体大小&#xff0c;并提供示例代码以帮助您更好地理解。 开始 在动态改变字体大小之前&#xff0…...

Spring实例化Bean的三种方式

参考资料&#xff1a; Core Technologies 核心技术 spring实例化bean的三种方式 构造器来实例化bean 静态工厂方法实例化bean 非静态工厂方法实例化bean_spring中有参构造器实例化-CSDN博客 1. 构造函数 1.1. 空参构造函数 下面这样表示调用空参构造函数&#xff0c;使用p…...

AI研报:从Sora看多模态大模型发展

《从Sora看多模态大模型发展》的研报来自浙商证券&#xff0c;写于2024年2月。 这篇报告主要探讨了多模态大模型的发展趋势&#xff0c;特别是OpenAI发布的视频生成模型Sora&#xff0c;以及其对行业发展的影响。以下是报告的核心内容概述&#xff1a; Sora模型的发布&#x…...

Unity访问安卓(Android)或苹果(iOS)相册

1.下载Native Gallery for Android & iOS插件 2.在场景中添加截图按钮、选择图片按钮、选择视频按钮等 using OpenCVForUnity.CoreModule; using OpenCVForUnity.ImgprocModule; using OpenCVForUnity.UnityUtils; using System.Collections; using System.Collections.Gen…...

用webpack 构建自己的vue-cli

步骤1 &#xff1a;新建文件夹 my-vue-cli 步骤2&#xff1a; 在文件夹中输入npm init (拥有npm管理环境)&#xff0c;之后可以安装我们所需要的包 步骤3&#xff1a;安装 webpack、webpack-cli (webpack打包工具&#xff0c;webpack 执行依赖webpack-cli) npm i webpack w…...

ZCC6982最大充电电流 2A、升压型 2 节锂电池充电管理器

特性 ■ 高达 2A 的可调充电电流&#xff08;受实际散热和输入功率限制&#xff09; ■ 支持 8.4V、8.6V、8.7V、8.8V 的充满电压 ■ 高达 28V 的输入耐压保护 ■ 高达 28V 的电池端耐压保护 ■ 宽输入工作电压范围&#xff1a;3.0V~6.5V ■ 峰值效率可达 96%、重载…...

【机器学习】无监督学习算法之:K均值聚类

K均值聚类 1、引言2、K均值聚类2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 距离计算公式2.4.1 中心点计算公式 2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; K均值聚类 我不懂&#xff0c;能不能给我讲一讲&#xff1f; 小鱼&#xff1a;行&#xf…...

为wordpress特定分类目录下的内容添加自定义字段

在WordPress中&#xff0c;您可以使用自定义字段(Custom Fields)或称为元数据(Meta Data)来为特定分类目录下的内容添加额外的信息。自定义字段可以附加到文章、页面、用户和其他对象上。以下是一个逐步指南&#xff0c;介绍如何为特定分类目录下的内容添加自定义字段&#xff…...

javaWeb在线考试系统

一、简介 在线考试系统是现代教育中一项重要的辅助教学工具&#xff0c;它为学生提供了便捷的考试方式&#xff0c;同时也为教师提供了高效的考试管理方式。我设计了一个基于JavaWeb的在线考试系统&#xff0c;该系统包括三个角色&#xff1a;管理员、老师和学生。管理员拥有菜…...

项目管理商业文件--商业论证与效益管理计划

本文描述从事项目管理和了解项目管理领域所需的基本知识&#xff0c;词汇定义来自于《项目知识管理体系》(PMBOK指南)第六版&#xff0c;仅作个人学习使用&#xff0c;任何对此文章的引用&#xff0c;应当说明源出处&#xff0c;不得用于商业用途。 如有侵权、联系速删 文章目录…...

机器学习揭秘:解锁从理论到实践的每一步!

机器学习揭秘&#xff1a;解锁从理论到实践的每一步&#xff01; 机器学习&#xff1a;从理论到实践的完整指南引言第一部分&#xff1a;机器学习概念定义与重要性历史背景 第二部分&#xff1a;机器学习步骤数据收集数据预处理特征工程模型选择训练模型模型评估参数调优模型部…...

Kotlin协程CoroutineScope命名空间CoroutineName,Kotlin

Kotlin协程CoroutineScope命名空间CoroutineName&#xff0c;Kotlin import kotlinx.coroutines.*fun main(args: Array<String>) {val myName CoroutineName("fly")runBlocking {CoroutineScope(Dispatchers.IO).launch {repeat(3) {val name coroutineCont…...

HAL STM32G4 +TIM1 3路PWM互补输出+VOFA波形演示

HAL STM32G4 TIM1 3路PWM互补输出VOFA波形演示 ✨最近学习研究无刷电机驱动&#xff0c;虽然之前有使用过&#xff0c;但是在STM32上还没实现过。本文内容参考欧拉电子例程&#xff0c;从PWM驱动开始学习。 欧拉电子相关视频讲解&#xff1a; STM32G4 FOC开发实战—高级定时器发…...

MySQL进阶-----索引的结构与分类

目录 前言 一、认识索引 二、索引结构 1.概述 2. 二叉树 3 .B-Tree 4.BTree 5.Hash 三、索引的分类 1 .索引分类 2 .聚集索引&二级索引 前言 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维…...

FPGA高端项目:解码索尼IMX390 MIPI相机转HDMI输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言2、相关方案推荐本博主所有FPGA工程项目-->汇总目录我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX390 及其配置MIPI CSI RX图像 ISP 处理图像缓存HDMI输出工程源码架构 6、工程源码…...

激光显示技术不断进步 国家政策推动行业发展

激光显示技术不断进步 国家政策推动行业发展 激光显示技术即用激光器作为光源的图像信息终端显示技术&#xff0c;是一种新型的投影显示技术。激光显示具有高亮度、色域覆盖率广、维护成本低等优点&#xff0c;在车载显示、家庭娱乐、教育等领域中应用广泛。激光显示产品主要有…...

iOS开发优势解析,费用探究以及软件开发详解

摘要 本文探讨了iOS开发的优势、费用以及软件开发方面的相关内容。通过分析iOS开发所采用的编程语言、开发环境、用户界面设计、应用审核流程以及应用领域等方面&#xff0c;展示了iOS开发的诸多优势和特点。虽然iOS开发具有高用户体验、统一的硬件和软件环境、良好的市场份额…...

02课程发布模块之部署Nginx

部署Nginx 部署网关 通过Nginx访问后台网关&#xff0c;然后由网关再将请求转发到具体的微服务,网关会把请求转发到具体的服务 upstream gatewayserver{server 127.0.0.1:63010 weight10; } # 网站首页对应的虚拟机 server {listen 80;server_name www.51xuecheng.cn…...

web学习笔记(四十二)

目录 1.ECMAScript 新特性-async 和await 1.1async函数 1.2await函数 1.3补充&#xff1a; 2. ES6模块化 2.1模块化的优点 2.2 ES6 模块化语法 2.3 ES6 模块暴露 2.4ES6 模块导入 1.ECMAScript 新特性-async 和await 1.1async函数 async函数可以单数使用&#xff0c;…...

如何快速搭建高性能Minecraft服务器:CatServer终极整合方案

如何快速搭建高性能Minecraft服务器&#xff1a;CatServer终极整合方案 【免费下载链接】CatServer 高性能和高兼容性的1.12.2/1.16.5/1.18.2版本ForgeBukkitSpigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version ForgeBukkitSpigot server)…...

揭秘Gemini真实生命周期曲线:Gartner未公开的18个月LTV拐点图谱及3种续命策略(含SLA重谈判话术)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Gemini生命周期价值分析 Gemini 作为 Google 推出的多模态大模型系列&#xff0c;其生命周期价值不仅体现在推理性能与响应速度上&#xff0c;更贯穿于模型训练、部署、监控、迭代与退役的全链路环节。理解其生…...

CANoe安装总失败?别慌,这7个排查步骤帮你搞定(附Win10临时文件夹清理指南)

CANoe安装疑难全解析&#xff1a;从报错根源到系统级解决方案当你在实验室或办公室急切地需要启动CANoe进行总线仿真时&#xff0c;却遭遇安装程序反复报错&#xff0c;这种挫败感恐怕只有经历过的人才能体会。不同于普通应用软件&#xff0c;CANoe作为汽车电子开发的核心工具链…...

高斯混合期望传播算法:破解MIMO检测中离散先验近似难题

1. 项目概述&#xff1a;当MIMO检测遇上贝叶斯机器学习在无线通信领域&#xff0c;多输入多输出&#xff08;MIMO&#xff09;技术早已不是什么新鲜词。它通过在收发两端部署多根天线&#xff0c;让数据在空间维度上并行传输&#xff0c;从而在不增加带宽和发射功率的前提下&am…...

统信UOS 1060在龙芯3A6000上的性能初探:办公、开发、CAD软件实测,它现在能当主力机了吗?

龙芯3A6000与统信UOS 1060生产力实测&#xff1a;国产组合能否扛起工作大旗&#xff1f;当国产处理器遇上国产操作系统&#xff0c;会碰撞出怎样的火花&#xff1f;龙芯3A6000作为国产CPU的新锐力量&#xff0c;搭配统信UOS 1060操作系统&#xff0c;这套组合在技术圈引发了广泛…...

数字主权还是数字枷锁?德国eIDAS钱包的Apple/Google账户依赖之困

数字主权还是数字枷锁&#xff1f;德国eIDAS钱包的Apple/Google账户依赖之困 2025年的深秋&#xff0c;一则来自德国联邦内政部&#xff08;BMI&#xff09;的技术文档在开发者社区引发了轩然大波。文档明确指出&#xff0c;即将在德国落地的eIDAS钱包——这个承载着欧盟数字身…...

GraphScale:解耦计算与存储,攻克十亿级图学习的内存与通信瓶颈

1. 项目概述&#xff1a;为什么我们需要一个全新的图学习框架&#xff1f;如果你在过去几年里尝试过处理一个真正“大”的图——比如用户关系网络、商品关联图或者学术引用网络——你大概率会和我有同样的感受&#xff1a;现有的工具在规模面前&#xff0c;显得力不从心。图神经…...

猫抓浏览器扩展:如何高效捕获并下载网页媒体资源的终极指南

猫抓浏览器扩展&#xff1a;如何高效捕获并下载网页媒体资源的终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今以流媒体为主导的互联…...

e-cology单点登录token认证失败排查指南

1. 这不是账号被锁&#xff0c;而是认证链路上某个环节“失联”了“e-cology token认证时报错该账号存在异常&#xff0c;单点登录失败”——这句话我去年在客户现场听运维同事念了不下二十遍。它不像“密码错误”或“用户不存在”那样直白&#xff0c;也不像“系统繁忙请稍后再…...

AI提示词工程实战:从入门到精通

本文深入讲解了提示词工程的重要性及其在AI应用中的核心作用。文章首先通过对比数据强调了会与不会使用提示词的人在AI效果上的巨大差异。接着&#xff0c;详细介绍了RISE提示词框架&#xff0c;包括角色、指令、场景和期望四个要素&#xff0c;以及高级技巧如Few-shot提示词和…...