1.新式類與經典類在Python2及以前的版本中,由任意內置類型派生出的類(只要一個內置類型位于類樹的某個位置),都屬于“新式類”,都會獲得所有“新式類”的特性;反之,即不由任意內置類型派生出的類,則稱之為“經典類”。“新式類”和“經典類”的區(qū)分在Python3之后就已經不存在,在Python3.x之后的版本,因為所有的類都派生自內置類型object(即使沒有顯示的繼承object類型),即所有的類都是“新式類”。官方文檔https://www.pytho
系統(tǒng) 2019-09-27 17:55:48 1811
Python傳入參數(shù)的方法有:位置參數(shù)、默認參數(shù)、可變參數(shù)、關鍵字參數(shù)、和命名關鍵字參數(shù)、以及各種參數(shù)調用的組合寫在前面Python唯一支持的參數(shù)傳遞方式是『共享傳參』(callbysharing)多數(shù)面向對象語言都采用這一模式,包括Ruby、Smalltalk和Java(Java的引用類型是這樣,基本類型按值傳遞)共享傳參是指函數(shù)的各個形式參數(shù)獲得實參中各個引用的副本;也就是說,函數(shù)內部的形參是實參的別名(alias)這種方案的結果是,函數(shù)可能會修改作為
系統(tǒng) 2019-09-27 17:55:23 1811
最近看Python看得都不用tab鍵了,哈哈。今天看了一個經典問題--八皇后問題,說實話,以前學C、C++的時候有這個問題,但是當時不愛學,沒搞會,后來算法課上又碰到,只是學會了思想,應該是學回溯法的時候碰到的。八皇后問題是說要在一個棋盤上放置8個皇后,但是不能發(fā)生戰(zhàn)爭,皇后們都小心眼,都愛爭風吃醋,如果有人和自己在一條線上(水平、垂直、對角線)就會引發(fā)撕13大戰(zhàn),所以我們就是要妥當?shù)陌才?位娘娘,以保后宮太平。言歸正傳,首先,我們得想好解決方案怎么表示,
系統(tǒng) 2019-09-27 17:54:57 1811
基本要點:程序中儲存的所有數(shù)據(jù)都是對象(可變對象:值可以修改不可變對象:值不可修改)每個對象都有一個身份、一個類型、一個值例:>>>a1='abc'>>>type(a1)str創(chuàng)建一個字符串對象,其身份是指向它在內存中所處的指針(在內存中的位置)a1就是引用這個具體位置的名稱使用type()函數(shù)查看其類型其值就是'abc'自定義類型使用class對象的類型用于描述對象的內部表示及其支持的方法和操作創(chuàng)建特定類型的對象,也將該對象稱為該類型的實例,實例被創(chuàng)建后
系統(tǒng) 2019-09-27 17:54:28 1811
簡單來說python的內存管理機制有三種1)引用計數(shù)2)垃圾回收3)內存池接下來我們來詳細講解這三種管理機制1,引用計數(shù):引用計數(shù)是一種非常高效的內存管理手段,當一個pyhton對象被引用時其引用計數(shù)增加1,當其不再被引用時引用計數(shù)減1,當引用計數(shù)等于0的時候,對象就被刪除了。2,垃圾回收(這是一個很重要知識點):①引用計數(shù)引用計數(shù)也是一種垃圾回收機制,而且是一種最直觀,最簡單的垃圾回收技術。在Python中每一個對象的核心就是一個結構體PyObject,
系統(tǒng) 2019-09-27 17:54:17 1811
安裝Python3安裝Python依賴:yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-devel由于Python在linux不支持我們以可執(zhí)行程序的方式安裝,所以需要我們選擇對應的版本源碼安裝源碼下載站點:https://www.python.org/ftp/python/以Python3.6為例:wgethttps://www.python.org/
系統(tǒng) 2019-09-27 17:54:16 1811
Ifanobject'svaluecanbemodified,theobjectissaidtobemutable.Ifthevaluecannotbemodified,theobjectissaidtobeimmutable.mutable可變類型,例如list,set,自定義類型(等價于C#中的引用類型);immutable不可變類型,例如string,numbers等(等價于C#中的值類型);一、引用和拷貝(referencesandcopies)當
系統(tǒng) 2019-09-27 17:54:01 1811
self:1.只是一個參數(shù)。2.在對象使用方法的時候,當前對象會作為第一個參數(shù)的實參傳入3.self相當于語言中的代詞,表示當前對象本身(其他語言中也有使用this)4.self的作用連接整個對象的所有信息。橋梁的作用!5.self不是關鍵字,只是一個參數(shù)變量名而已,可以使用其他單詞代替(禁止代替)6.方法的初步分類:方法中具有接受對象的參數(shù)這個方法,叫做非綁定類的方法方法中沒有接受對象的參數(shù)這個方法,叫做綁定類的方法:即將deffunc(self)中的s
系統(tǒng) 2019-09-27 17:53:21 1811
一、問題引出淺拷貝首先看下面代碼的執(zhí)行情況:a=[1,2,3]print('a=%s'%a)#a=[1,2,3]b=aprint('b=%s'%b)#b=[1,2,3]a.append(4)#對a進行修改print('a=%s'%a)#a=[1,2,3,4]print('b=%s'%b)#b=[1,2,3,4]b.append(5)#對b進行修改print('a=%s'%a)#a=[1,2,3,4,5]print('b=%s'%b)#b=[1,2,3,4,
系統(tǒng) 2019-09-27 17:52:42 1811
問題:用兩個棧來實現(xiàn)一個隊列,完成隊列的Push和Pop操作。分析:棧的特性是“先進后出”,隊列為“先進先出”。思路:入隊:直接把新元素壓入stack1即可。出隊:根據(jù)隊列先進先出的性質,由于先進入隊列的元素被壓倒stack1的棧底,要想實現(xiàn)先入隊列的先出隊,需要將stack1中的元素逐個彈出并壓入stack2,經過彈出和壓入之后最先進入的元素就處于stack2的棧頂,有可以直接彈出。python實現(xiàn)代碼:classSolution:def__init__
系統(tǒng) 2019-09-27 17:52:27 1811