在表達式中引用變量時,Python會按照如下的順序遍歷各個作用域,尋找該變量:當前函數作用域任何外圍作用域(比如包含當前函數的其他函數)global作用域,即代碼所在的模塊的作用域如果上述作用域內都找不到變量,就會報NameError異常。但是對變量賦值時,規則會有所不同。如果當前作用域變量已存在,那么其值會被替換。如果不存在,則會視為在當前作用域定義新變量,而不是向外圍作用域中尋找。如下函數deffunction():flag=Truedefhelper
系統 2019-09-27 17:46:14 1758
listpython的列表內部實現是數組(具體實現要看解析器,CPython的實現),因此就有數組的特點。超過容量會增加更多的容量,set,get是O(1),但del,insert,in的性能是O(n)。具體的看下表,'n’是容器中當前的元素數,'k’需要操作的元素個數OperationAverageCaseAmortizedWorstCaseCopyO(n)O(n)Append[1]O(1)O(1)InsertO(n)O(n)GetItemO(1)O(1
系統 2019-09-27 17:45:52 1758
在介紹yield前有必要先說明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循環可以用于Python中的任何類型,包括列表、元祖等等,實際上,for循環可用于任何“可迭代對象”,這其實就是迭代器迭代器是一個實現了迭代器協議的對象,Python中的迭代器協議就是有next方法的對象會前進到下一結果,而在一系列結果的末尾是,則會引發StopIteration。任何這類的對象
系統 2019-09-27 17:38:45 1758
Python中的包包是一個分層次的文件目錄結構,它定義了一個由模塊及子包,和子包下的子包等組成的Python的應用環境。考慮一個在Phone目錄下的pots.py文件。這個文件有如下源代碼:#!/usr/bin/python#-*-coding:UTF-8-*-defPots():print"I'mPotsPhone"同樣地,我們有另外兩個保存了不同函數的文件:Phone/Isdn.py含有函數Isdn()Phone/G3.py含有函數G3()現在,在Ph
系統 2019-09-27 17:38:41 1758
Pythonsocket網絡編程初學python,前段時間買了兩本書《python編程從入門到實踐》《Python核心編程第三版》,第一本書主要講的是一些基本語法和一些基本的使用方法,而第二本則深入很多,自己看來也是一知半解,剛好看到了這部分網絡編程,依然有好多不太理解的地方,不過想來通過自己不斷的摸索,不斷地搜尋資料學習,早晚應該會變得通透吧.......這部分主要使用的模塊就是socket模塊,在這個模塊中可以找到socket()函數,該函數用于創建套
系統 2019-09-27 17:38:34 1758
數在Python中,對數的規定比較簡單,基本在小學數學水平即可理解。那么,做為零基礎學習這,也就從計算小學數學題目開始吧。因為從這里開始,數學的基礎知識列位肯定過關了。>>>33>>>33333333333333333333333333333333333333333333333333333333333333333333333333333333L>>>3.2222223.222222上面顯示的是在交互模式下,如果輸入3,就顯示了3,這樣的數稱為整數,這個稱呼
系統 2019-09-27 17:38:22 1758
最近學習了python的一些服務器端編程,記錄在此。發送get/post請求#coding:utf-8importhttplib,urllib#加載模塊#urllib可以打開網站去拿#res=urllib.urlopen('http://baidu.com');#printres.headers#定義需要進行發送的數據params=urllib.urlencode({'param':'6'});#定義一些文件頭headers={"Content-Type"
系統 2019-09-27 17:38:17 1758
JSON(JavaScriptObjectNotation)是一種輕量級的數據交換格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C,C++,C#,Java,JavaScript,Perl,Python等)。這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。今天用py
系統 2019-09-27 17:37:51 1758
設置字段可選在擺弄了一會之后,你或許會發現管理工具有個限制:編輯表單需要你填寫每一個字段,然而在有些情況下,你想要某些字段是可選的。舉個例子,我們想要Author模塊中的email字段成為可選,即允許不填。在現實世界中,你可能沒有為每個作者登記郵箱地址。為了指定email字段為可選,你只要編輯Book模塊(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代碼如下:classAuthor(mo
系統 2019-09-27 17:37:46 1758
GPS只要處于工作狀態就會源源不斷地把接收并計算出的GPS導航定位信息通過串口傳送進來,若要對GPS進行信息提取必須首先明確其幀結構,然后才能根據其結構完成對各定位信息的提取。NMEA0183協議是美國國家海洋電子協會(NationaIMarineElectronlcsAssociation)制定的GPS接口協議標準。NMEA0183定義了若干代表不同含義的語句,每個語句實際上是一個ASCII碼串。這種碼直觀,易于識別和應用。在分析中,不需要了解NMEA0
系統 2019-08-29 23:46:12 1758