首页 > 编程语言 >【Python学习笔记】第3章 你应如何运行程序

【Python学习笔记】第3章 你应如何运行程序

时间:2024-09-06 17:14:19浏览次数:10  
标签:文件 Python 程序 笔记 python Windows 模块 输入

这一章主要讲:如何启动Python程序、如何交互地输入代码、代码的各种运行方式。

交互式命令行模式

开始一个交互式会话

在终端中,输入python

alt text
我们就开启了会话。结束会话按Ctrl+Z:

img

系统路径

如果我们要在终端中,输入python就可以启动,那么就需要设置环境变量PATH使其包含安装的python路径,否则就需要输入完整的路径。

我们也可以在终端中输入 cd <python的安装路径>来跳转。

Python 3.3中的新Windows选项:PATH和启动器

从Python3开始,Windows安装程序有一个选项,在选中时能够使Python 3.3的目录自动添加到PATH,这样我们就不用手动地添加了。

Python 3.3自带了一个新的能自动安装地Windows启动器。

运行的位置:代码目录

我们可以自由地在任何位置通过新建文件夹创建目录,并把它作为代码运行的目录。

不需要输入的内容:提示符和注释

交互模式下,Python中的>>>...字符用于提示用户在它们后面输入内容。在.py文件中编程时不需要加上。
img
#后面是注释,解释器运行时自动忽略。

交互地运行代码

交互模式下,我们可以不断地向python输入命令,每一条命令在回车后立即执行。

为什么要使用交互式命令行模式

实验

我们可以在交互环境下,输入自己不清楚的表达式。
img

测试

我们也可以在交互环境下,测试已经写入文件的地方。
img

使用注意:交互命令行模式

  • 只能输入Python命令
  • print语句仅在文件中必须
  • 不需要缩进
  • 留意复合语句下的提示符变化:在提示你输入复合语句时,提示符为...
  • 用一个空行结束复合语句
  • 一次运行一条语句

系统命令行文件

交互式的缺点:写出来的程序不会保存。要永久保存程序,需要在文件中写入代码,这个文件叫做模块。运行模块文件时,python从头到尾执行文件中的代码。

第一段脚本

我们创建新的.py文件并在文本编辑器(这里用VSCode)中对其写入下面代码:
img
代码的含义会在以后的章节中解释。

使用命令行运行文件

我们在终端中,把路径切换到上述文件所在的路径,并输入python script1.py,得到:
img

不同的命令行使用方式

我们可以运行程序,将其输入到指定文件上:
img

得到:
img
这种操作称为重定向。

使用py命令(即之前提到的Windows启动器)也有同样的效果,且不要求PATH设置。否则需要输入完整路径。

使用注意:命令行和文件

  • 在Windows的默认记事本上,创建新的文件需要修改后缀(默认为.txt)。如果看不到后缀,可以在文件资源管理器找到“查看”,选择文件夹选项,再勾选“显示文件扩展名”。
  • 在系统命令行模式下,使用文件扩展名和目录路径,但在使用import时别使用它们
  • 在文件中使用print语句

UNIX风格可执行脚本:#!

UNIX 脚本基础

在python源文件的第一行加上:

#!usr/local/bin/python

就是解释器的路径。操作系统使用它来找到解释器并运行代码。

UNIX env查找技巧

要避免在脚本文件中硬编码Python解释器的脚本路径,可以这么写:

#!usr/bin/env python

env通过系统的搜索路径的设置定位Python解释器,使代码更具有可移植性。

Python 3.3 Windows启动器:Windows也有#!了

点击文件图标

图标点击基础知识

点击Python程序文件,就可以让Python运行这个文件。

在Windows点击图标

我们可以注意到,.py文件的图标是白色的,.pyc文件的图标是黑色的。

Windows上输入的技巧

单击Python文件后,有时会出现一个窗口然后迅速消失,这是因为Python解释的速度非常快,一瞬间就执行完了。为了看清效果,可以在程序文件的末尾处加一个:

input()

其他图标点击的限制

如果程序有错误,那么极有可能看不到,因为Python解释器会在打印错误信息后终止。为了解决这个问题,应当学会写一些代码来截取错误。

模块载入和重载

载入和重载基础知识

每一个.py的Python源代码文件都是一个模块,导入操作本质上就是载入一个文件,并给予读取那个文件内容的权限。这么设计的出发点是:大的Python程序往往由多个模块组成。

比如,我们可以在交互对话下输入载入模块指令import,但每次会话只能导入一次,这是因为,导入的开销非常大。
img

如果想再次导入,需要以下操作(由于我使用的是Python3,故弹出警告):
img

模块的宏观视角:属性

简单地说,属性就是绑定在特定对象(这里是模块)的变量名。如下图,模块myfile有一个属性是title
img

可以直接导入模块,在使用模块中的属性,使用方法:<模块名>.<属性>
img
也可以直接从模块导入属性,语法是:from <模块> import <属性>
img
总之,上面两种方法都会使myfile.py得以执行,并获得在文件顶层赋值的变量名的访问权。

我们可以用函数dir()获取模块内部的可用的全部变量名。
img
注意到以双下划线开头的变量名,它们是由Python预定义的内置变量名。

使用注意:import和reload

reload是不可传递的,这是因为它不会重载该模块导入的任何模块。

使用exec运行模块文件

img

exec类似于import,相当于“粘贴代码”,这意味着模块中的内容会覆盖掉一些变量的值。

IDLE用户界面

我用的是PyCharm,就不记这个了吧……(T v T)

其他IDE

  • Eclipse、PyDev
  • Komodo
  • NetBeans IDE Python版
  • PythonWin
  • Wing
  • Visual Studio Code
  • PyCharm

其他启动选项

嵌入式调用

在C/C++程序中运行Python字符串

冻结二进制可执行文件

文件编辑器启动方式

其他的启动方式

标签:文件,Python,程序,笔记,python,Windows,模块,输入
From: https://www.cnblogs.com/hiu-siu-dou/p/18399233

相关文章

  • 基于Python的机器学习系列(28):PyTorch中的张量基础
            在本篇中,我们将介绍PyTorch中的张量基础,包括如何将NumPy数组转换为PyTorch张量、创建张量、以及进行基本的张量操作。确认PyTorch版本        首先,确认您使用的PyTorch版本:importtorchprint(torch.__version__)将NumPy数组转换为PyTorch张量 ......
  • python画图|垂线标记系列
    进行了一段时间的直方图学习之后,发现python的matplo居然还支持画垂线标记图,赶紧把它记录下来。直方图绘制教程见下述链接:【a】直方图绘制基础教程:python画图|直方图绘制教程-CSDN博客【b】直方图绘制进阶教程:python画图|直方图绘制教程进阶-CSDN博客【c】堆叠直方图绘制......
  • 【c#】使用Win32API控制台程序的显示和隐藏
    大家好,又见面了,我是你们的朋友全栈君。在项目开发的过程中,为了方便调试,利用控制台打印出一些提示信息,当安装到现场的时候,我们担心工作人员手误关掉了程序,所以将控制台隐藏,让程序在后台跑。下面是具体的显示和隐藏的代码:代码语言:C#复制///<summary>......
  • 【python创建字符串数组的几种方式】
    在Python中可以使用以下几种方式创建字符串数组:一、使用列表(list)列表可以存储多个字符串,类似于其他语言中的数组。#创建一个包含多个字符串的列表string_array=['apple','banana','cherry']print(string_array)二、使用元组(tuple)元组与列表类似,但元组是不可......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设英语自主学习平台。本设计主要实现集人性化、高效率、便捷等优点于一身的英语自......
  • prometheus学习笔记之其他常用服务自动发现
    一、consul_sd_configsConsulSD配置允许从Consul的CatalogAPI检索抓取目标1.部署Consul 安装参考文档:https://developer.hashicorp.com/consul/install#linux,确认自己的操作系统和安装环境及版本,根据文档下载并安装unzip-qconsul_1.12.2_linux_amd64.zip#由于下载比......
  • Mybatis学习笔记(已完结)
    Mybatis-011.框架​ 框架相当于是一个脚手架,内部已经写好了很多代码,我们只要其基础上进行开发就可以提高我们的开发效率。​框架阶段学习:①先去学习如何使用框架②然后再使用熟练的情况下去猜测内部的原理③通过源码去验证自己的猜测。2.Mybatis介绍MyBatis是一款优......
  • 最新微信商城小程序源码搭建指南(附源代码)
     一、前期准备 1.1了解微信商城小程序 微信商城小程序是在微信平台上运行的商城系统,主要形式分为展示型和下单+展示型。展示型主要用于商品信息的展示,不支持在线下单;而下单+展示型则支持在线下单、购物车、订单管理等完整电商功能。 1.2注册与认证 源码及演示:xcxym......
  • 新学期必看!豆包MarsCode 教你 5 分钟拿捏 Python 数据分析!
    开学啦!!听说,有同学想在新学期多掌握几门技能?有同学写毕设搞科研不会爬虫?有文科生正心怀毕业转码梦?作为一门实用且能够有效提升个人竞争力的技能,Python的重要性不言而喻。新学期到了,各位壮志满怀想狠狠努力一把的同学们,快来跟着豆包MarsCode 零基础轻松上手Python啦!在上一期「Pyt......
  • python __repr__函数和__str__函数
    __repr__函数和__str__函数都是类似的用于显示类对象的作用。classMyClass:def__init__(self,name):self.name=namedef__repr__(self):#__str__(self)returnself.nameresult=MyClass("repr/str魔法函数")print("MyClasresult:",......