python基础教程(第二版)

第十章 自带电池

  1. 导入模块:

    import sys
    sys.path.append('c:/python27')//告诉程序到这里找模块
    

1.1. 若模块是一个程序,则在导入时只执行一次,后面导入不在执行,修改后可以用reload函数重新导入,这时会重新执行。

#hello2.py
def hello():
    print 'Hello,World!'
>>>import hello2
>>>hello2.hello()
hello,world!

#hello3.py
def hello():
    print "Hello,world!"
#A test 测试模块
hello()
>>>import hello3
**Hello,World!**#这不是想要的结果
>>>hello3.hello()
Hello,World!
#解决方法:使用__name__变量
#hello4.py
def hello():
    print 'Hello,World!'
def test():
    hello()
if __name__ == '__main__':test()
>>>import hello4#达到预期效果
>>>hello4.hello()

2.把模块放进目录的几种方法:
2.1 把模块放进sys中的path路径中找。

    >>>import sys 

2.2 编辑sys.path,还得在环境变量中实现PYTHONPATH,它包含模块所在的目录。

2.3 命名模块。
包含代码的文件的名字和模块相同。

    • 包含一个命名为__init__.py的文件。
  1. 模块包含的内容:
    dir函数: 列出模块包含内容: dir.copy()
    all变量:从模块导入所有名字包括什么含义: copy.__all__:['Error','copy','deepcopy']
    help:获取帮助
    doc:查看文档 : range.__doc__
    file: 使用源代码: copy.__file__

  2. 标准库
    3.1sys模块

函数作用例子
argv命令行参数,包括脚本名称
exit([arg])退出当前程序,可选的参数为给定的返回值或者错误信息
modules映射模块名字到载入模块的字典
path查找模块所在目录的目录名列表
platform类似sunos或win32的平台标识符
stdin标准输入流
stdout标准输出流
stderr标准错误流

3.2 os模块:提供访问多个操作系统服务的功能。

3.3 fileinput模块:读写文件。

函数作用
input(file[,inplace[,backup]])用于遍历多个输入流的行
filename()返回当前文件的名称
lineno()返回当前累计的行号
isfirstline()检查当前行是否是文件的第一行
isstdin()检查最后一行是否来自sys.stdin
nextfile()关闭当前文件,移动到下一个文件
close()关闭序列

4. 集合,堆和双端队列
4.1

set(range(10))
set([0,1,2,3,4,5,6,7,8,9])
4.2 集合
集合是可变的不能用作字典中的键。
4.3 堆

函数作用
heappush(heap,x)将x入堆
heappop(heap)将最小的元素弹出
heaoify(heap)将heap属性强制应用到另一个表
heaprepalce(heap,x)将堆中最小元素弹出,同时x入栈
nlargest(n,iter)返回iter中第n大元素
nsmallest(n,iter)返回iter中第n小元素

4.4 双端队列

  1. time模块
    功能:获得当前时间,操作时间和日期,从字符串读取时间及格式化时间为字符串。
函数作用
asctime([tuple])将时间元组转化为字符串
localtime([secs])将秒数转化为日期,以本地时间为准
mktime(tuple)将时间元组转为本地时间
sleep(secs)休眠secs秒
strptime(string[,format])将字符串解析为时间元组
time()打印当前时间

4.5 random模块
返回随机数的函数

4.6 shelve模块
存储数据。

4.6.1 使用shelve模块修改临时变量时,要将临时变量绑定到副本上,并且在它被修改后重新存储这个副本。

import shelve
s = shelv.open('test.dat')
s['x'] = ['a','b','c']
s['x'].append('d')
>>>s['x']
['a','b','c']
#解决方法,临时变量
temp = s['x']
temp.append('d')
s['x'] = temp
>>>s['x']
['a','b','c','d']

4.7 re模块
4.7.1
通配符(.):匹配任何字符
转义():对特殊字符转义
字符集([]):[^abc]反转字符,除了abc以外的任意字符。
选择字符或子模式(|):’p(ython|er)’
4.7.2 re模块的一些重要函数

函数作用
compile(pattern[,flags])包含正则表达式的字符串创建模式对象
search(pattern,string[,flags])在字符串中寻找模式
match(pattern,string[,flags])在字符串的开始处匹配模式
split(pattern,string[,maxsplit=0])根据模式的匹配项分割字符串
findall(pattern,string)列出字符串中模式的而所有匹配项
sub(pat,repl,string[,count=0])将字符串中所有pat的匹配用repl替换
escape(string)将字符串中所有特殊正则表达式字符转义

4.7.3匹配对象和组
group(0):表示整个字符串。
group(m):表示左边有m个左括号的m组

4.7.4贪婪和非贪婪模式
加上(?):是非贪婪的,即最少匹配原则
(.+)(.+?)

#贪婪模式
>>>emphasis_pattern = r'\*(.+)\*'
>>>re.sub(emphasis_pattern,r'<em>\1</em>','*This* is *it*!')
'<em>This* is *it</em>!'
#非贪婪模式
>>>emphasis_pattern = r'\*(.+?)\*'
>>>re.sub(emphasis_pattern,r'<em>\1</em>','*This* is *it*!')
'<em>This</em> is <em>it</em>!'

4.7.5 模板系统
模板是通过放入具体值从而得到某种已完成的文件。

#template.py
import fileinput,re
field_pat = re.compile(r'\[(.+?)\]')
scope = {}
def replacement(match):
    code = match.group(1)
    try:
        return str(eval(code,scope))
    except SyntaxError:
        exec code in scope
        return ''
lines = []
for line in fileinput.input():
    lines.append(line)
    text = ''.join(lines)
print field_pat.sub(replacement, text)
#data.txt
[x=2]
[y=3]
The sum of [x] and [y] is [x+y]
#运行
python template.py data.txt
#结果
The sum of x and y is 5
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 《Python基础教程(第二).pdf》是一本经典的Python编程教材。它由Magnus Lie Hetland编写,旨在帮助读者快速入门Python编程。 这本教程首先介绍了Python基础知识,包括变量、数据类型、运算符、流程控制等。然后,它详细介绍了Python的核心概念,如函数、模块和面向对象编程。通过阅读这本教程,读者可以深入了解Python的语法和用法。 与其他类似的教程不同,《Python基础教程(第二).pdf》还涵盖了一些高级主题。它讲解了正则表达式、文件处理、异常处理等常用技术,帮助读者提高程序的稳定性和灵活性。此外,它还介绍了Python的标准库以及许多常用的第三方库和工具,如NumPy、Pandas、Matplotlib等,使读者能够更好地利用Python进行数据分析和可视化。 这本教程不仅内容全面,而且编排合理,讲解清晰易懂。每个重要的概念都通过例子进行了详细说明,并配有相应的练习题,帮助读者巩固所学知识。此外,书中还提供了大量的代码示例和实际项目案例,使读者能够实际运用所学知识。 总的来说,《Python基础教程(第二).pdf》对于想要学习和掌握Python编程的人来说是一本非常有价值的教材。无论是初学者还是有一定编程经验的人,都可以从中获得丰富的知识和实践经验。阅读这本教程将帮助读者建立起坚实的Python基础,为以后深入学习和开发Python项目打下良好的基础。 ### 回答2: 《Python基础教程(第二)》是一本介绍Python编程语言基础知识的教材。作者根据自己的编程经验和教学经验,系统地介绍了Python编程语言的语法和常用功能。本书的内容有两部分,第一部分是基础知识,包括Python的数据类型、运算符、流程控制语句等基础概念和应用。第二部分是实际应用,介绍了Python在文件操作、异常处理、模块与包、面向对象编程等方面的应用。 在第一部分中,读者将学习到Python的基本数据类型,如字符串、列表、字典、元组等,并学习如何使用运算符进行计算和比较。此外,本书还介绍了Python的流程控制语句,包括if语句、for循环和while循环,使读者能够编写简单的程序解决基本问题。 第二部分则更加深入地介绍了Python的实际应用。读者将学习如何操作文件,包括读写文件和处理CSV文件。此外,本书还介绍了如何进行异常处理,以及如何使用模块和包扩展Python的功能。最后,本书还介绍了面向对象编程的基本概念和方法,使读者能够更好地组织和管理程序。 《Python基础教程(第二)》是一本深入浅出的Python教材,适合初学者学习Python编程语言。本书通过丰富的实例和案例,帮助读者理解和掌握Python的基本概念和语法。无论是想从零开始学习Python的初学者,还是想巩固和扩展Python知识的人,都可以从本书中受益。读者通过阅读本书,将掌握Python编程的基本技能,并能够应用到实际项目中。 ### 回答3: 《Python基础教程(第二).pdf》是一本非常经典的Python编程入门教材。本书全面介绍了Python语言的基础知识和常见的编程技巧。 首先,本书从Python的安装和环境配置开始,详细介绍了如何搭建Python开发环境。然后,通过简单的示例代码,详细讲解了Python的基本语法,包括变量、数据类型、运算符、条件语句、循环语句等。读者可以通过跟随书中的例子一步一步地学习Python的语法规则和使用方法。 接着,本书介绍了Python的函数和模块概念。读者可以了解如何定义和使用函数,以及如何使用Python的各种内置模块来扩展自己的程序功能。此外,本书还涵盖了Python的面向对象编程的基础知识,包括类、对象、继承、多态等。这些内容对于进一步掌握Python编程非常重要。 此外,《Python基础教程(第二).pdf》还深入介绍了Python的文件操作、异常处理、正则表达式等高级主题。这些内容可以帮助读者更好地理解Python的强大功能和灵活性,为实际项目开发打下坚实的基础。 总之,作为Python编程的入门教材,《Python基础教程(第二).pdf》详细而全面地介绍了Python语言的基础知识和常用的编程技巧。通过系统学习本书,读者可以快速掌握Python编程的基本概念和方法,并能够应用于实际项目开发中。无论是初学者还是有一定Python经验的开发者,都可以从本书中获得很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值