Python 基础语法_Python脚本文件结构
目录
- 目录
- 前言
- 软件环境
- Python Script文件结构
- 导入模块的流程
- Python的包package
- 最后
前言
Python基础语法这一章,主要记录了Python的文件结构、逻辑运算符、算术操作符、控制流语句、输入和输出语句、函数、对象、类等方面的内容。在了解了Python的数据类型之后,结合之前的要点来一起继续学习。
软件环境
- 系统
- UbuntuKylin 14.04
- 软件
- Python-2.7.6
- IPython-4.0.0
Python Script文件结构
Python Script 是应用广泛的一种批量自动化处理方案,同时任何的.py扩展文件在Python执行程序中都可以充当Module文件来使用,是一个于C语言中的头文件类似的东西。从Python一切皆对象的设计理念来说,只要将.py的扩展文件导入Python执行程序中后,我们就可以使用一些Python的内置方法。下面先从Python Script的文件结构开始记录。
#!/usr/bin/env python
#-*- coding:utf8 -*-"""Document:Python Script Description"""import osdefineGlobalVairiable = True#define class
class TestClass(object):"""Class description """#define function
def testFunction(self,parameters):"""Function description"""#main program 程序入口
if __name__ == '__main__':print 'Hello world'
1. Script文件的首行需要指定以什么可执行程序来运行该文件的代码。
例如:#!/usr/bin/python 指定了路径为/usr/bin下的Python程序来执行。但是在有些情况下HOST的Python执行程序不一定安装在默认的/usr/bin/目录下,使用/usr/bin/env python 则指定了在env环境变量的路径中逐一寻找Python执行程序来执行这个文件中的代码,也推荐使用第二种方法。
2.在第二行需要指定PythonScript的编码格式
下面两种均可以指定Script的编码格式,并没有上面区别,个人喜的选择。
#coding=utf8
#-*- coding:utf8 -*-
#encoding:utf8
#encoding=utf8
3.接下来便是文件的Document部分
编写程序也要注重注释和文档的编写。使用”“” “”” or ”’ ”’来注释文档没有区别。在导入Python Module后,可以使用__doc__方法来查看Document。
In [16]: import pyScriptFormatIn [19]: pyScriptFormat.__doc__
Out[19]: 'Document:Python Script Description'In [21]: pyScriptFormat.testFunction.__doc__
Out[21]: 'Function description'
注:当Import一个Module文件时,Python执行程序会在对其进行一次编译后,会生成.pyc扩展名的字节码文件,同时也会检查.py文件的语法问题。所以当Import出现错误时,可以考虑是否出现了语法错误。
还可以使用Python内置的dir( )方法来查看这一个Module的内置方法和自定义的属性、方法(以__X__命名的多为系统变量)。
In [22]: dir(pyScriptFormat)
Out[22]:
['TestClass','__builtins__','__doc__','__file__','__name__','__package__','defineGlobalVairiable','os','testFunction']
4.导入需要的模块
使用 import moduleName 这样的格式来导入一个Python的模块,在.py文件中可以随时随地的使用import语句来导入Python的内置函数模块,值得注意的是,当导入的模块是自定义的Python模块文件时,需要保持与模块文件在同一目录路径下。
5.定义全局变量、类、函数
在定义类和函数的时候,也可以在代码块的第二行中写入类或函数的描述说明,至于定义一个类和函数的具体细节,在以后的博文中会详细的记录。
6.程序入口 __name__
__name__方法可以调用当前模块的名字,当该模块是直接运行而非被其他程序导入调用的时候,则该模块的__name__ == ‘__main__’。相反,当该模块是其他程序导入的时候,则该模块的__name__ == ModuleFileName,即模块文件本身的名字。
In [7]: import pyScriptFormatIn [8]: pyScriptFormat.__name__
Out[8]: 'pyScriptFormat'
所以当我们若希望模块的主程序仅仅是在被期望执行的时候才会被执行,而不会自动执行时,可以使__name__方法来进行控制,即作为主程序的入口:
if __name__ == '__main__':
这样可以实现节省内存的资源,也有利于提高代码的重用性。
导入模块的流程
Python解析器会自带需要内置的模块,这些模块文件被存放在/usr/lib/python2.7/目录下。模块文件在第一次导入时,会先编译成.pyc后缀的文件,方便下次可以无须编译速度实现导入。
1. 在当前目录下寻找.pyc的模块文件
2. 若没有则将同名的.py文件,编译成.pyc文件后再导入
3. 若连.py文件都没有的话,会到/usr/lib/python.2.7/目录下寻找
4. 若仍然没有找到,就到setpy目录下寻找
5. setpy下也没有找到时,会出发ImportError的错误。
Python的包package
创建一个Python包:
1. 创建一个包目录PackageName
2. 在package目录下创建__init__.py文件,有__init__.py文件表示此目录为包结构
3. 在此目录下可以存放Module、Script、.pyc、子包等结构的文件或目录
调用方式:
import PackageName.ModuleName
PackageName.MudoleName.functionName() #逐层调用
最后
需要注意的是,在不同的使用环境下,Python文件的结构也会不一样,本篇是针对Python Script文件而言。但退一步来说,大道相通,希望可以做到举一反三。同时,养成一个良好的编程风格是文档处理的习惯会在以后的Teamwork中发挥很多便利的作用。
Jmilk
Python 基础语法_Python脚本文件结构相关推荐
- python脚本文件格式_Python 基础语法_Python脚本文件结构
目录 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算术操作符.控制流语句.输入和输出语句.函数.对象.类等方面的内容.在了解了Python的数据类型之后,结合之前的 ...
- python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....
python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...
- python怎么定义整数数组_python中输入整数数组长度python基础语法
变量 数字类型 运算符 流程控制 while循环 dead loop continue vs break while else 变量(Varibles) W WW.002pc .COM认为此文章对&l ...
- python判断语法_Python基础语法——代码规范判断语句循环语句
Python基础语法 代码的执行顺序 从上到下 从左到右 代码规范 模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 ...
- python基础语法第3关古灵阁_python入门题:输入输出练习
以下是Python基础语法的练习,项目要求和代码如下: """ 例3:小精灵:你好,欢迎古灵阁,请问您需要帮助吗?需要or不需要? 你:需要 小精灵:请问你需要什么帮助呢 ...
- python教程是什么-Python基础教程_Python入门知识
Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...
- eclipse python_【Python基础】Python基础语法
编程与Python 1.什么是编程 人为安排计算机解决某个问题的方法和步骤. 2.编程的语言 机器语言:二进制代码表示的计算机能够直接识别和执行的一种机器指令的集合ADD代表运算符号"+&q ...
- python基础语法(一)
Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...
- python基础语法手册-python语法手册
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 常用的也不超过十个,这种相对于更为复杂的html标记语言来说,markd ...
最新文章
- 与鬼古女夜晚后海边的“恐怖”聚会
- slq2000数据库升级到sql2012
- git push git pull 推送/拉取分支
- 聊聊我在美团做算法的感受
- 去掉softmax后Transformer会更好吗?复旦华为诺亚提出SOFT:轻松搞定线性近似
- 互联网医疗智能客服平台有什么优势
- JVM篇-JVM内存结构与存储机制
- UPD(user datagram protocol)
- 如何在html中在线预览pdf文件
- 两行代码让人戒掉游戏
- 我看华为鸿蒙操作系统
- 软件设计的概念与原则
- java中的三种IO(BIO、NIO、AIO)
- Symfony2浅析
- 操作系统——CPU调度
- PingCAP Clinic 服务:贯穿云上云下的 TiDB 集群诊断服务
- SlickEdit 之windows 版本安装
- 2017春招实习面试回顾:从面试连跪到收割offer
- 跳板机的基本原理,以及实现思路!
- 车路协同若干痛点问题的思考
热门文章
- 10自带sftp服务器_一文讲透FTP和SFTP的区别
- java 对变量加锁_Java最全锁剖析:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁...
- 前端不规则图像点击_css实现不规则图形的阴影(如对话框)
- iOS无法引入头文件
- 清华大学医学院张明君团队招聘脑机接口与微纳医学交叉领域博士后
- AttributeError: module 'tensorflow_core.estimator' has no attribute 'inputs'
- SimNIBS一款无创脑刺激仿真软件安装
- 李佳琦一晚卖了100亿,有位“硬汉”在背后默默发力
- 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星
- Kubernetes and Cloud Native Meetup (广州站)资料下载