Python 2.7 学习笔记 内置语句、函数、标准库

使用任何开发语言进行软件开发,都离不开语言提供的内置库(或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中的正则表达式模块。

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

时间: 2024-10-14 05:15:37

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

jsp学习笔记 - 内置对象 pageContext

1.pageContext几乎可以操作所有的页面内置对象 pageContext.getRequest();    得到的对象只是属于ServletRequest类,httpServletRequest的一些特殊属性,成员函数用不了 pageContext.getResponse(); pageContext.getServletContext(); pageContext.getSession(); pageContext.getServletConfig(); 2.pageContext 属

JSP学习笔记 - 内置对象 Request

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

JSP学习笔记--内置对象

1. JSP内置对象分类 (1)application:javax.servlet.ServletContext的实例,该实例代表JSP所属的WEB应用本身,可用于JSP页面,或者Servlet之间交换信息.常用的方法有getAttribute(String attName), setAttribute(String attName,String attValue)和getInitParameter(String Param)等. (2)config:javax.servlet.ServletC

JSP学习笔记 - 内置对象 Response

1.response.addHeader("refresh","2"): 制定页面刷新时间 2.response.addHeader("refresh","2,hello.html"); 制定一段时间后的页面跳转,此跳转url将改变,为客户端跳转 3.response.sendRedirect("hello.html");客户端跳转 <jsp:forward page="hello.html

jsp学习笔记 - 内置对象 session

1.session 主要用来用户的登录和注销 设置用户名,获取用户名 session.setAttribute("username","johnson"); session.getAttribute("username"); session.getid(); 获取session id 注销 response.addHeader("refresh","0;URL=login.jsp");  session.i

jsp学习笔记 - 内置对象 application

---恢复内容开始--- 1.application一般用this.getServletContext()替代 2.appllication有一个非常有用的函数 getRealPath(),获取绝对路径,以便实现jsp的文件操作 String fileName = this.getServletContext().getRealPath("/") + "note" + File.separator + name; 3.保存文件用 PrintStream类对象 Fil

python学习交流 - 内置函数使用方法和应用举例

内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函数相比于用户自己定义函数实现相同功能,在执行效率和对内存的分配和使用上是要更加理想的.所以理解和熟练运用python中的内置函数,不仅可以增强代码的可读性,同时也可以提升代码的品质.下面对内置函数的使用方法进行分类介绍,以方便归纳理解. 一.查看作用域中变量相关 global () 功能:查看全局作

【学习】js学习笔记:内置顶层函数eval()的兼容用法

今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错. 如果写成window.eval(),则其定义的变量会在全局生效. 但是,在IE中,(测试为IE8及以下), window.eval()定义的变量不能在全局作用域生效,而ie有自己的一个函数为window.execScript()可以做到同样的效果.于是,在实际应用中,需要一个判断的函数,分别使用.如下: function evals(str){ if(typeof str!=

python网络爬虫学习笔记

python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章目录 1. 介绍: 2. 从简单语句中开始: 3. 传送数据给服务器 4. HTTP头-描述数据的数据 5. 异常 5.0.1. URLError 5.0.2. HTTPError 5.0.3. 处理异常 5.0.4. info和geturl 6. Opener和Handler 7. Basic Authentication 8. 代理 9. Timeout 设置 10. Cookie 11. Deb