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。