你应如何运行程序
交互式命令模式
开始一个交互式会话
- 一般是在操作系统命令行下输入
python
,且不带任何参数
系统路径
- 如果没有设置系统的PATH环境变量来包括Python的安装路径,可能需要机器上Python可执行文件的完整路径来代替
python
运行的位置:代码位置
不要输入的内容:提示符和注释
交互式的运行代码
为什么要使用交互式命令行模式
实验
测试
使用注意:交互命令行模式
- 只能输入Python命令。只能在Python交互式命令下输入Python代码,而不要输入系统命令
- print语句仅在文件中才是必需的。在交互解释器中自动打印表达式结果,不需要输入完整的打印语句
- 留意复合语句下的提示符变化
- 在交互命令模式中,用一个空行结束复合语句
- 交互命令行模式一次运行一条语句
系统命令行和文件
- “模块”被另一个文件所导入的文件
- “脚本”一个程序的主文件
使用命令行运行文件
不同的命令行使用方式
使用注意:命令行和文件
- 注意Windows和IDLE上的自动扩展名
- 在系统命令行模式下使用文件扩展名和目录路径,但是在导入时别使用它们
- 在文件中使用print语句
UNIX风格可执行脚本:#!
UNIX脚本基础
- 它们第一行是特定的,往往以字符#!开始,其后紧跟着机器Python解释器的路径
- 它们往往都拥有可执行的权限
- 文件顶端特定的一行告诉系统Python解释器保存在哪里
#!/usr/local/bin/python
print('...')
UNIX env查找技巧
- 可以使用env避免在脚本文件中硬编码Python解释器的路径
#!/usr/bin/env python
... script goes here ...
模块导入和重载
导入和重载的基础知识
- 每一个以扩展名.py结尾的Python源代码都是一个模块
- 导入操作本质就是载入另一个文件,并给予读取那个文件内容的权限
- 一个模块的内容通过其属性被外部世界使用
- 导入操作运行文件中的代码
- 导入的模块会有缓存,不会每次导入都执行
模块的宏观视角:属性
- 模块往往就是变量名的包,即命名空间,包中的变量名称为属性
- 无论使用的是import还是from..import,模块文件的语句都会执行
- 可以使用dir获取模块内部全部变量名
使用注意:import和reload
- reload是不可传递的,重载一个模块的话只会重载该模块,而不能重载该模块导入的任何模块
使用exec运行模块文件
- 每次调用exec时,它都重新运行文件,就好像我们把文件粘贴到了调用exec的地方,因此exec不要在文件修改后进行模块重载,它忽略了常规的模块导入逻辑
- exec的工作机制可能模块覆盖掉当前正在使用的变量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)