使用任何开发语言进行软件开发,都离不开语言提供的内置库(或Api),甚至说内置库的强大及使用是否方便都会影响大家对开发语言的选择。

python语言,一样提供了很多内置的功能,可供开发时使用。主要有如下几种:

一、内置语句

我们知道的最常见的就是赋值语句,通过运算符 =  将表达式赋值给某个变量。

除了赋值语句外,python还提供了一些内置的语句,如:

print语句,用于在控制台输出

del语句,用于删除变量

pass 语句,空语句,什么都不干

二、内置函数

python也提供了许多内置函数,如

len("abc")  #获取字符串的长度

len([1,2,3])  #获取列表中元素的个数

注意:内置函数和内置语句有时容易混淆,特别是在有参数的情况下,有参数的情况下,对于函数,参数必须放在()内,但对于语句,参数可以不放在()内。如,

print("hello")

print  "hello"

上面两个语句执行效果一样。

三、标准库

python提供了很多标准的包和模块,提供了很多丰富的功能,直接供使用。实际上,对于python,社区更是提供了大量的第三方库,只是标准库不需要自己下载,可直接使用,而第三方库需要自己下载到环境中才能使用。

下面介绍下python中常见的标准库,注意这些库随着版本变化是可能有变化的。

1、sys模块

可以通过sys模块访问与python解释器密切相关的变量和函数。

如前面文章用到的 sys.path 可以获取到python的系统路径清单。

如通过 sys.args可以获取执行python脚本时传递给python脚本的参数列表。如:

test.py的内容如:

#coding=utf-8
import sys
print sys.argv

执行脚本,传入2个参数
python test.py hello 123

输出的信息如下
['test.py', 'hello', '123']

2、os模块

可以获取到与操作系统相关的信息。 下面我们来看了与获取脚本执行路径相关的例子:

假设 d:\demo\python\test.py的内容如下

#coding=utf-8
import sys,os
print os.getcwd() #获取运行脚本的当前路径,注意不一定是脚本所在路径
print sys.path[0] #获取脚本所在的路径,是全路径,但不包括脚本名
print sys.argv[0] #是获取执行时输入的路径和脚本名,是否包括路径,依赖执行时的输入

上面使用了三个函数,其含义有些差别,如注释中的解释。下面我们看下执行情况

D:\demo\python>python test.py
D:\demo\python
D:\demo\python
test.py

上面的执行,因为当前路径就是脚本文件所在路径,所以os.getcwd和sys.path返回的值一样,而由于命令执行只输入了文件名,则sys.argv[0]只返回了文件名。

D:\demo>python python\test.py
D:\demo
D:\demo\python
python\test.py

这个因为当前执行路径的差别,使的执行方式和输出也发生了变化。
因为当前执行路径变成了 d:\demo。所以执行时输入的脚本要带 python路径。而这时os.getcwd和sys.path返回的值不一样了。

sys.argv[0]返回的值跟输入一样。

D:\demo>python d:\demo\python\test.py
D:\demo
d:\demo\python
d:\demo\python\test.py

从这可进一步看出,sys.argv[0]返回的值完全依赖输入。

那这里存在一个问题,我们如何获取到脚本文件的全路径呢(包括路径+文件名),显然不能依赖sys.argv[0。

好在python提供了另外的方式可以直接获取到被执行脚本的全路径,包括文件名。方法是:

os.path.realpath(__file__)  #获取脚本的全路径,包括文件名。与输入无关

另外利用 os.sep 可以获取输出操作系统用于分隔路径的分隔符,对于windows和linux不同

3、fileinput模块

用于读取文本文件中的内容。

4、数据集合模块

除了我们最常用的 列表、元组,字典外,这些是python内置语言的一部分,可直接使用。

还有set、deque等数据结构。

5、time模块

可以获取系统日期时间,实现日期时间和字符串的转换。

6、random模块

可以用于生成随机数。

7、shelve模块

可用于将数据存到文件中。

8、re模块

python中的正则表达式模块。

上面是一些常见的标准模块,除了这些,还有很多标准模块,这里就不再一 一列出。

Python 2.7 学习笔记 内置语句、函数、标准库的更多相关文章

  1. python基础学习笔记——内置函数

    一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内 ...

  2. jsp学习笔记 - 内置对象 pageContext

    1.pageContext几乎可以操作所有的页面内置对象 pageContext.getRequest();    得到的对象只是属于ServletRequest类,httpServletReques ...

  3. JSP学习笔记 - 内置对象 Request

    1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法 request     javax.servlet.http.HttpServletRequest res ...

  4. Python 2.7 学习笔记 基本语法和函数定义

    本文介绍下python的基本语法 一.变量定义 不需要说明类型,也不需要像js等脚本语言使用var等标识符.直接声明即可,如: num=1 说明:上面语句声明了一个变量num,并在声明时初始化值为 1 ...

  5. 【c++ Prime 学习笔记】第17章 标准库特殊设施

    17.1 tuple类型 tuple是类似pair的模板: pair和tuple的成员类型都可以不相同 pair恰好有两个成员,tuple可有任意数量的成员 按照不同参数数量和类型实例化出的tuple ...

  6. 《C++ Primer》学习笔记【第二部分 C++标准库】

    第8章 IO库 IO对象不能复制,即1.IO对象不能存储在vector或其他容器中   2.如果需要传递或返回IO对象,必须传递或返回指向该对象的指针或引用. 一般情况下,如果要传递IO对象以便对它进 ...

  7. python 2.7 学习笔记--day1--基础语句和语法

    1. 用户交互 鉴于本小节十分的基础,变不多做赘述啦! 1.1 输出第一个程序:"Hello World !" 1.2 输出字符串,重点是去除字符串中的前后的空格,使用strip( ...

  8. JSP学习笔记 - 内置对象 Response

    1.response.addHeader("refresh","2"): 制定页面刷新时间 2.response.addHeader("refresh ...

  9. jsp学习笔记 - 内置对象 config

    1.将页面保存在 WEB-INF文件夹下是最安全的,一般不可见 可以通过映射路径来进行访问 2.通过config对象可以取得初始化的配置参数 String dbDriver = config.getI ...

随机推荐

  1. 帝国cms数据表详细说明

    表 名 解释 phome_ecms_infoclass_news 新闻采集规则记录表 phome_ecms_infotmp_news 采集临时表 phome_ecms_news 新闻主数据记录表 ph ...

  2. kinect for windows - SkeletonBasics-D2D详解之一

    之前的文章介绍了深度图的获取,但是深度图只是提供了一些数据,这些数据给上层应用使用还是偏底层一些,我们希望在这个基础上,获取一些信息,比如手挥动,人跑步,或者运动等等,那么这个文章开始我们来讲述kin ...

  3. 使用jodconverter和swftools实现文件在线预览

    参考:仿百度文库解决方案(四)——利用JODConverter调用OpenOffice.org服务转换文档为PDF 文档在线预览主要用到如下两个工具 1,安装openoffice(同时下载jodcon ...

  4. Scrambled Polygon(斜率排序)

    Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7799   Accepted: 3707 ...

  5. 提高你的Java代码质量吧:使用valueof前必须进行校验

    一.分析 每个枚举都是java.lang.Enum的子类,都可以访问Enum类提供的方法,比如hashCode.name.valueOf等,其中valueOf方法会把一个String类型的名称转变成枚 ...

  6. 不重新编译PHP文件的情况下php GD库扩展库的编译安装(centos)

    gd-2.0.33.tar.gz http://www.boutell.com/gd/ jpegsrc.v6b.tar.gz http://www.ijg.org/ libpng-1.2.7.tar. ...

  7. [Linux命令]查看Linux系统相关命令

    #查看系统内核/操作系统/CPU信息 uname -a #返回:内核名 主机名 Linux内核版本 内核编译日期 操作系统版本 CPU型号 硬件平台 GNU/Linux#查看系统是32位还是64位un ...

  8. 在VS2010上使用C#调用非托管C++生成的DLL文件

    背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用.本篇文章将引导你快速理解这个调用 ...

  9. c++设计模式总结 好久没写博客了 实在是忙

    具体代码就不贴出来了   通俗易懂的理解方式      原创 c++设计模式: 简单工厂模式 工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品:在工厂中加工产品 ...

  10. springMVC框架下JQuery传递并解析Json数据

    springMVC框架下JQuery传递并解析Json数据