Python 基础语法_Python脚本文件结构
目录
前言
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 os
defineGlobalVairiable = 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 pyScriptFormat
In [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 pyScriptFormat
In [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中的布尔类型详解
转自:http://www.cnblogs.com/521yywzyzhc/p/6264885.html 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是 ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
- Python基础语法题库
引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...
- python基础语法(四)
--------------------------------------------接 Python 基础语法(三)---------------------------------------- ...
- python基础语法(一)
Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...
- Python基础语法(转)
作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/ Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...
- 尚学python课程---13、python基础语法
尚学python课程---13.python基础语法 一.总结 一句话总结: legend2系统使我能够快速掌握一门语法,特别有用 pass 语句:空语句:是为了保持程序结构的完整性 :作用:比如: ...
随机推荐
- Windwos Java‘bat 环境变量配置脚本
@echo off echo 正在设置Java环境变量 pause wmic ENVIRONMENT create name="JAVA_HOME",username=" ...
- 31C3 CTF web关writeup
0x00 背景 31c3 CTF 还是很人性化的,比赛结束了之后还可以玩.看题解做出了当时不会做的题目,写了一个writeup. 英文的题解可以看这:https://github.com/ctfs/w ...
- Vivado添加sublime text编辑器
我们当用vivado会发现文本编辑器有点鸡肋,没有自动的缩进的功能,所以我想用sublime来进行文本的编辑,下面就是绑定的一些方法(但是呢其实吧,虽然可以绑定却不能实时的报错,,,我感觉我还是老老实 ...
- 004-linux下配置rsyslog日志收集服务器案例 rsyslog+loganalyzer日志服务器,无法添加报表模板解决
centos6系统 client1:192.168.1.33 centos7系统 client2:192.168.1.44 centos7系统 master:192.168.1.55 配置服务端mas ...
- 小程序UI设计(6)-布局分解-九宫格
今天我们来个庖丁解牛.对于一个完整的组合组件,看看通过工具是如何轻松完成的.首先看看九宫格完整的样子. 结构树是这样的.在结构树中,我们可以看到WViewColumn下面有九个WViewRow.WVi ...
- Python——枚举(enum)
- TO B是什么?TO C呢?
总是听别人说 to B. to C 的 所以了解一下这个概念: 一.基本概念 1. TO B,B指的是== business==,中文即商业,企业: 2. TO C,C指的是customer, ...
- Kendo UI for jQuery使用教程:操作系统/jQuery支持等
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
- html5 音乐 audio
手机做小项目,需要添加音乐,做此笔记,依赖jquery,代码如下: <!DOCTYPE html> <html lang="en"> <head> ...
- 'EF.Utility.CS.ttinclude' returned a null or empty string.
需要安装https://www.microsoft.com/en-us/download/details.aspx?id=40762