Python 基础语法_Python脚本文件结构

简介: 目录目录前言软件环境Python Script文件结构导入模块的流程Python的包package最后前言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

相关文章
|
14天前
|
Java 编译器 C语言
Python速成篇(基础语法)上
Python速成篇(基础语法)上
|
8天前
|
Python
python学习3-选择结构、bool值、pass语句
python学习3-选择结构、bool值、pass语句
|
5天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
5天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
30 0
|
5天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
11 0
|
5天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
7天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
38 9
|
7天前
|
Python
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
|
9天前
|
存储 Python
Python的结构
【4月更文挑战第15天】Python的结构
17 4
|
14天前
|
存储 监控 Java
Python速成篇(基础语法)下(新年快乐♥)
Python速成篇(基础语法)下(新年快乐♥)