A. python核心编程(第二版)pdf和Python基础教程(第二版)PDF
相关链接:网页链接点击进入然后下载即可。
Python介绍:
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneral Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Python基本算法:
Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
B. 在python核心编程第二版中的例题 不明白的点,求解答 下图 红线圈出来的,不明白
请听我重复,三个引号并不是注释,三个引号并不是注释,三个引号并不是注释。
重要的话说三遍。其实python中三个引号(三个单引号或者三个双引号)的作用是可换行的字符串,是字符串,并不指的是注释,在python中注释只有一种方法那就是#。
但是三引号可以用来作为注释,是因为他定义了一个字符串,而这个字符串并没有赋给任何变量,当然没有任何作用了。
其实python还用三引号来定义文档也就是__doc__属性,所以切记python没有多行注释,#是唯一注释符号。三引号是定义多行字符串。这个字符串不赋值给任何变量,就不对程序其任何作用,可以认为是注释。三引号可以定义代码的文档。
C. python3自定义迭代器对象如何用next方法依次迭代
Python 3.x与Python 2.x之间存在着较多的语法细节差异。今天在看Python核心编程的时候,说到了自定义迭代器对象。于是动手将源码打了一遍,原书代码如下:
class AnyIter(object):
def __init__(self, data, safe=False):
""" The initialization of iterators """
self.safe = safe
self.iter = iter(data)
def __iter__(self):
""" return a iterator """
return self
def next(self, count=1):
""" Return arbitrary numbers of elements """
retval = []
for item in range(count):
try:
retval.append(self.iter.next())
except StopIteration:
if self.safe:
break
else:
raise # reraise the exception again
return retval
if __name__ == '__main__':
a = AnyIter(range(10), True)
b = iter(a)
for item in range(1,5):
print('{}:{}'.format(item, a.next(item)))
我机器上装的是Python 3.3.2,在控制台运行该脚本的时候直接抛出异常TypeError:
说是iter()返回的是一个非迭代器类型的对象。前后对照了一下,并没有发现哪里有错误啊。于是尝试使用Ipython(Python 版本是2.7.5)来运行该代码,得出完美结果。于是考虑是不是版本的问题。求助google,在stackoverflow上找到一个帖子,找到了关键原因:
于是将上述代码中调用next()的地方全部替换为__next__(),最后在控制台运行该代码,正确得到了预期的结果:
查阅Python 3.3.2 附带的用户手册,果然得到如下结果:
问题得到解决:Python核心编程使用的是Python 2.x,版本差异使得该状况得以发生。还是得动手,不然这样的差异无法得知。
D. python 编程 求答案!2、3两题
#!/usr/bin/envpython
#coding=utf-8
importre
,timedelta
importplatform
ifplatform.python_version()[:1]=='2':#判断python版本是2还是3
importsys
reload(sys)
sys.setdefaultencoding('utf8')
classIdcard(object):
'''
>>>m=Idcard('225122198611134730')
>>>print(m.sex)
男
>>>m.birth
'1986-11-13'
>>>m.age
30
'''
def__init__(self,idcard):
self.idcard=idcard
iflen(idcard)==15:
sex,birth=idcard[-1:],'19'+idcard[6:12]
eliflen(idcard)==18:
sex,birth=idcard[-2:-1],idcard[6:14]
else:
raiseException('len(idcard)is{}(15/18)'.format(len(idcard)))
self._sex=int(sex)%2
self._birth=birth
@property
defsex(self):
returnu'男'ifself._sex%2elseu'女'
@property
defage(self):
now,bir=dt.now(),dt.strptime(self._birth,'%Y%m%d')
beforebirth=(now-dt(now.year,bir.month,bir.day)).days<0
returndt.now().year-int(self._birth[:4])-beforebirth
@property
defbirth(self):
returndt.strptime(self._birth,'%Y%m%d').strftime('%Y-%m-%d')
defalignment(str1,space,align='left'):
length=len(str1.encode('gb2312'))
space=space-lengthifspace>=lengthelse0
ifalign=='left':
str1=str1+''*space
elifalign=='right':
str1=''*space+str1
elifalign=='center':
str1=''*(space//2)+str1+''*(space-space//2)
returnstr1
defmain():
fname='customer.txt'
'''
withopen(fname,'w')asf:
f.write("""
郑文杰225122198611134730
文萍225122198912094740
郑妈妈225122590303476
郑爸爸225122560506471
""")
'''
newf='ourcustomers.txt'
withopen(fname)asf:
s=f.readlines()
L,newL=[re.split(r's+',i.strip())foriins],[]
foriinL:
iflen(i)==2:
g=Idcard(i[1])
newL.append('{}{}{}'.format(
alignment(i[0],10),alignment(g.sex,8),g.age))
withopen(newf,'w')asf:
f.write(' '.join(newL))
print(' '.join(newL[:100]))
print('Customerdatahasbeenwriteinto{}'.format(newf))
if__name__=='__main__':
importdoctest
doctest.testmod()
main()
E. python核心编程第二版第二章练习题2-11 出现下面错误 求解(原谅我是小白,很白的那种)
三句print后面少了一个括号。print('please input number %d'%(i+1))
print('please input number %d'%(i+1))
print('''
.....
''')
另外sum函数是内置顶级函数,你定义的函数会覆盖内置的函数,建议改名。建议以后用PyCharm之类的IDE编程,这样会有代码提示,不过新手纯输入代码对提高代码的印象有好处。
F. 《Python核心编程(第二版)》pdf下载在线阅读,求百度网盘云资源
《Python核心编程(第二版)》([美]Wesley J. Chun(陈仲才))电子书网盘下载免费在线阅读
资源链接:
链接:
书名:Python核心编程(第二版)
作者:[美]Wesley J. Chun(陈仲才)
译者:宋吉广
豆瓣评分:7.7
出版社:人民邮电出版社
出版年份:2008-06
页数:654
内容简介:本书是Python开发者的完全指南——针对 Python 2.5全面升级
·学习专业的Python风格、最佳实践和好的编程习惯;
·加强对Python对象、内存模型和Python面向对象特性的深入理解;
·构建更有效的Web、CGI、互联网、网络和其他客户端/服务器架构应用程序及软件;
·学习如何使用Python中的Tkinter和其他工具来开发自己的GUI应用程序及软件;
·通过用C等语言编写扩展来提升Python应用程序的性能,或者通过使用多线程增强I/0相关的应用程序的能力;
·学习Python中有关数据库的API,以及如何在Python中使用各种不同的数据库系统,包括MySQL、Postgres和 SQLite。