Py02 python中的交互式命令行模式 、脚本、导入、重载、运行

F1交互提示模式

 1.交互提示模式下不会把代码保存到文件中 用处 体验语言 测试程序

2.交互解释器会自动打印表达式结果 不需使用print 不需要缩进

S2 交互提示模式  模块  PATH

1.模块 应用于另一文件所导入的文件 ,脚本 主文件,注意只有模块中是变量属性才会编译为字节码.pyc  如果有输出,且主文件脚本是不会显示保留编译出的.pyc

2.安装Python解释器时 注意勾选设置系统PATH

3.交互提示模式 不会把代码保存到一个文件中 主要作用 实验部分代码 是搞清楚一段代码在做什么的最快方式 应用于测试

4.交互式命令行下 print语句不是必须的 不需要缩进

T3 运行文件

1.系统shell命令行 、python交互式命令行 两者区分开 pycharm集成底端有这两部分

2.流重定向 系统shell上,  运行该文件后并将结果输入到save.text中

#例子系统shell下 %省略前端系统shell的提示
%python test.py > save.text

3.系统shell中需要加.py import后不需要加后缀名

4. 如果不使用pycharm等idle运行则会出现 一个弹出的黑DOS控制台窗口 之后瞬间消失 解决办法,可在最后一行加入一个input()函数 这样就可以使该控制台窗口不消失

5.在系统shell层面支持 输入流重定向

% python test.py < input.text

6.若想抑制运行窗口弹出可以以.pyw扩展名结尾 此文件只会显示你的脚本构建窗口,而非控制台窗口 大多用于python编写的用户接口上

F4 模块导入与重载

1.从术语上将 以.py结尾的python源代码文件  都是一个模块,其他文件可以通过导入  来获取这个模块定义的内容, 导入的本质是载入另一个文件(只要import就会先运行一遍该文件  (如果该文件中有输出也会输出)  ),之后给予读取该文件的权限

2.主文件 顶层文件为脚本

3.导入文件是另一种运行文件的方式

4.导入是一个开销很大的操作  每个文件导入只能运行一次   

5.若想不重启当前程序  不停止该程序  而再次运行导入文件则使用reload函数

6.导入import  是语句不是函数不需要加括号  使用导入模块中的变量时  文件名.变量  的格式

7.reload(模块名)  获得 已被加载的  模块  在重载前必须保证已成功导入该模块

8.python2.X版本reload()是内置函数  3.X需要导入imp(3.4后被弃用 换了另一个库  importlib)库

9.一个模块文件可以通过2种语句读取  import  、  from  

10.读取某模块一个变量 可  import 整体导入该模块 之后 文件名.变量 或  from 文件名 import 变量

11.from 复制了模块的属性(变量)  以便属性能成为接受者的直接变量  这一次能够以  变量  引用  而不用  文件名.变量(import方式)

12.实际应用中  一个模块文件往往定义一个以上的变量

13.import得到具有属性的模块,而使用  from  相当于在脚本代码中复制了 模块文件中变量代码行加入该脚本的代码中    也因此若之前有同名变量则会覆盖导致错误(from相当于在源文件中加入代码行即重新对之前变量重赋值而覆盖)

14.在模块文件中定义多个变量查看可用  dir()函数  他来获取模块内部全部变量名列表

#test.py
a=1
b=2
c=3


>>>dir(test)
['_builtins_','_doc_','_file_','_name_','_package_','a','b','c']

括号中是已导入模块的名称  返回模块内部所有属性(变量)  

(_x_)一些以双下划线开头语与结尾的变量名是python预定义的内置变量名,对于解释器有特别意义



 F5模块与命名空间

1.每个模块文件是一个变量包,都是自包含的命名空间,模块文件相互之间不能看到除非显示导入了那个文件  因为  文件名.变量 的读取方式  最小化命名空间的冲突  (文件名相同,在树形文件系统中是不允许的所以不可能完全一样  所以相互之间不会发生冲突)

2.reload  只是在测试中常用  有文章称  当修改某模块文件时需要reload  是不对的,reload只是重新在运行中再运行模块文件仅此 一般用不到

3.exec内置函数运行模块文件  从交互式命令模式下启动文件而不必导入的一种方式  

4.exec不会真的导入  只会运行一遍该文件  后续不能引用其中变量名  和from 原理相同  相当于复制粘贴到exec位置代码   不同的是from只会复制其中指定变量  exec复制其整个文件源代码到exec位置   自然也有和from一样会有覆盖此前已有同名变量名的坏处  而且该错误不会被抛出。

5.import 每个进程只运行文件一次,并且会把文件生成到一个单独的模块命名空间中  以便它的赋值不会改变作用域中的变量。 ​​​​​​​

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值