导航:首页 > 编程语言 > python核心编程2答案

python核心编程2答案

发布时间:2023-07-28 08:03:37

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(陈仲才))电子书网盘下载免费在线阅读

资源链接:

链接:

提取码:p0l1

书名: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。

阅读全文

与python核心编程2答案相关的资料

热点内容
安卓短信如何存档 浏览:139
汽车导航不读文件夹 浏览:107
全球云服务器如何注册 浏览:884
udp直播流如何在服务器里播放器 浏览:591
macbrew安装php 浏览:425
点特征提取算法 浏览:502
python弹窗显示输入的文字 浏览:751
python数字和中文互转 浏览:639
汽车空调压缩机外壳 浏览:458
大型服务器都是采用什么模式 浏览:5
服务器为什么跳闸 浏览:398
怎么用python分析基金收益 浏览:990
couple算法 浏览:791
android调用文件管理器 浏览:152
中国我的世界最大的小游戏服务器地址 浏览:833
程序员爆破粒子 浏览:889
我的世界pcl启动器怎么加入服务器 浏览:253
传奇源码扩充人物结构 浏览:844
购买多个文件夹 浏览:774
其他app如何投屏到微光视频教学 浏览:340