一:Python特点
1、软件质量
1.Python程序具有良好的可读性、一致性和软件质量。
2.Python支持软件开发的中间重用机制,比如面向对象等。
2. 提高开发者效率
1. 作为一种开发工具,Python 的突出之处在于事半功倍地完成更多任务。
3.可以定义为面向对象的脚本语言。
4、缺点,速度不够快
纯Python代码的运行速度介于传统编译语言和传统解释语言之间。
5.免费便携
6. 易于与其他语言混合编程
二:如何在python中运行程序
1.Python是一种编程语言,同时Python也是一个被称为原语(shell)的软件包(其实协程就是代码和硬件之间的软件逻辑层),也就是说我们常说的python它是一种编程语言,同时Python源码编译参数,当我们编写python代码并运行它时,解释该代码的类库的名称也称为python。 语言和协程程序实际上叫同一个名字,但含义不同。 使困惑
2. Python安装到机器上后,它包括一些最小的组件:类库(shell)和支持库。 不管怎样,编译后的python代码都需要在类库中执行。
3.从程序员的角度来看,Python程序只是一个包含Python语句的文本文件。
4、本质上,python程序的执行有以下几个步骤
1.字节码编译
当程序执行时,Python 在内部(对用户隐藏)首先将源代码编译成所谓的字节码。
如果python进程在机器中有写权限,那么他会将程序的字节码保存为扩展名为.pyc的文件。 程序运行后,可以在相应的工作文件目录下看到这些文件。 下次运行程序时,如果之前的源代码没有改变,Python会手动加载.pyc文件,不会再次重新编译源文件。
如果python进程没有写权限,程序仍然可以运行。 字节码在显存中生成,程序结束后被丢弃。
字节码文件具有加速效果。 所以最好保证它们只能写成小程序; 同样,字节码也是分发程序的方式之一:如果python找到了所有.pyc文件,那么他也非常愿意运行这个程序。
2.Python虚拟机
一旦程序被编译成字节码(或者从预先存在的 .pyc 文件加载字节码),字节码就会被发送到通常所说的 python 虚拟机 PVM 上执行。
PVM是Python的运行引擎。 它通常作为 python 系统的一部分出现。 它是实际运行脚本的组件。 (事实上,这是对用户隐藏的。)
5、运行代码的形式
1.交互模式
交互式提示模式是根据用户的输入运行代码但响应结果。 而且他不会将代码保存到文件中。 windows或者linux的控制台下输入python进入交互模式(先安装python)
当你对一段Python代码的运行有任何疑问时,立即打开交互式命令行并用代码进行实验,看看会发生什么。 注意:在交互模式下,只能输入python命令,不能输入系统命令。在交互模式下,很多结果的显示不需要复制句子。 而脚本中的抄句需要注意提示和复合句的变换。 在交互模式下,复合句以空行结束。 意思是只有简单一句回车就直接运行。 并且需要在复合句下面按两个空格)处理多行代码的最好方法是先将其复制到.py文件中。 然后运行这个文件。 不要直接复制很多行句子直接以交互模式运行。
2.脚本模式
1. 普通脚本(不带#!)
写入一个后缀为.py结尾的文件
操作方法:Python+文件名
2. 可执行脚本(带#!)
第一行是具体的:#! 前面添加类库的路径(如果不知道路径可以使用whichpython命令查看类库的路径在哪里) 该文件有可执行权限(如果没有执行权限,使用 chmod +x 文件名赋予执行权限),因此可以直接执行这个脚本。
3.Unixenv小方法
我们知道linux下有一个env程序。 您可以通过设置系统的搜索路径来定位某些内容。 (如果你不知道env在哪里Python源码编译参数,请使用命令whichenv)
自从 #! 后面是协程的路径,我们经常直接在前面加上类库的路径,如果程序原封不动的发给别人,如果对方机器上的python类库的路径不是我们的路径写入,因此该文件将无法正确执行。
因此,env的方法将能够搜索到python的位置,即使机器上安装的python位置不同,也没有关系。
添加权限后直接执行。
三.模块导出和重载初步
1. 概念
1、每个以.py为扩展名的Python源代码文件都是一个模块,其他文件只能通过导出一个模块来读取这个模块的内容。 (导出的本质是加载另一个文件,并且还可以读取该文件的内容。)
2. 模块的内容只能通过此类属性被外界使用。
3、大型程序往往以多个模块的形式出现,以及导出其他模块文件的工具。 其中一个模块文件被设计为主文件,即顶层文件,通过它可以运行整个程序。
2. 操作
1.加载一个模块并运行该模块(***import语句)*
1.加载时只添加模块名称,不添加扩展名.py
2.在交互界面下载模块会手动运行该模块
3.模块第一次加载时就会运行,而“不能”加载同一个模块两次
如上图所示,第一次加载时会手动运行,第二次加载时不会运行。 由于导出在Python中是一个非常昂贵的操作,系统默认只会导出一次。 导出后,不会再次导出。 (虽然文件已经改变了.,...)
2. 重新加载模块(reload()函数)
1.reload是imp标准库模块(python3.x)中的函数
2. Reload()函数期望获取的参数是已经加载的模块对象的名称。
注意:
1.防止通过导入和重新加载启动程序
3.模块的显着特点:属性
从宏观上看,模块扮演着工具库的角色。 在通常意义上,模块通常是变量名称的封装,并且被视为命名空间。 包中的变量名就是所谓的属性。 典型 在应用程序中,导出获取模块文件顶层定义的所有变量名称。
案件
1. 构建文件a.py
2.本模块中的leo属性可以通过两种不同的方式获取
①import 加载模块整体
使用: module.property 名称
②从xxx导入xxx
如果使用:直接使用即可
注意:无论使用import还是from导出,都会执行模块文件。 并且导出的组件有权读取顶层文件中的变量名。
4.使用exec运行模块文件
1. Exec(open("模块全名").read())外部函数调用
2. 运行模块而不加载模块相当于将模块的代码粘贴到那里。 因此,存在覆盖上面定义的同名变量的危险。 (所以要小心)
作者主页:
推荐的Python教程材料:
这篇文章就是Python从入门到放弃! 一般部分将为您的收藏提供深入部分!
--------------------
问候!