python引號作用

轉自:http://our2848884.blog.163.com/blog/static/146854834201192393137281/  學過python的朋友應該都知道,python中包含單引號,雙引號和三引號。但是他們有什麼區別呢?        其實,我個人感覺,python不同於php,其中的單引號和雙引號沒有區別。他們的主要作用就是盡量避免使用逸出字元。例如:>>> a='I\'m a student.'>>> print aI'm a

Python 函數的預設參數, 關鍵字參數的調用

如下函數定義def hello(name, age=10, gender='F'):    print 'User Info:'   print 'name is %s' % name   print 'age is %d' % age   print 'gender is %c' % gender我們的調用方式主要有一下幾種hello('Jim')hello('Jim', 11)hello('Jim', 11, 'M')以上三種是使用預設參數的方式,和C++類似hello('Jim',

Python sorted 函數,對字典按值進行排序

字典實際上並不能排序,我們排的是items,即dict.items(),將字典轉換成了一個列表sorted函數的原型為:sorted(iterable[, cmp[, key[, reverse]]])iterable:是可迭代類型類型;cmp:用於比較的函數,比較什麼由key決定,有預設值,迭代集合中的一項;key:用列表元素的某個屬性和函數進行作為關鍵字,有預設值,迭代集合中的一項;reverse:定序. reverse = True 或者 reverse = False,有預設值。傳回值:

Python Regex sub

sub(repl, string[, count]) | re.sub(pattern, repl, string[,

python 中 range 和 xrange 的區別

剛學python,之前迴圈時一直用的是range,後來看到有人用xrange,然後就查了下,發現xrange要比range要好,主要體現在記憶體上range 其實就是建立了一個list,需要在記憶體中儲存所有的資料xrange則是一個對象,它並沒有儲存這個list,而是計算出來的在範圍不是很大時,二者的效率差不多,但當範圍很大,或者經常break時,則使用xrange更合適 >>>a = range(0, 10)>>>a[0,1,2,3,4,5,6,7,8,9

Python 圖形庫 PIL, matplotlib 顯示中文

想讓這個兩個圖形庫能夠支援中文的顯示其實還是挺簡單的,下面分開說明PIL支援中文:1.從windows的C:\Windows\Fonts\ 目錄下拷貝一份字型檔,比如"msyh.ttc" 到某個目錄,一般是"/usr/share/fonts/truetype/",當然這個無所謂2.定義一個myfont變數, myfont = ImageFont.truetype(fontpath, 24); 第一個參數是字型的路徑, 第二個參數是字型大小3.寫文字時,指定參數font 的值為 myfont, 如

飄逸的python – 理解開啟檔案的模式

當我們用open()函數去開啟檔案的時候,有好幾種開啟的模式。'r'->唯讀'w'->唯寫,檔案已存在則清空,不存在則建立。'a'->追加,寫到檔案末尾'b'->二進位模式,比如開啟映像、音頻、word檔案。'+'->更新(可讀可寫)這個帶'+'號的有點難以理解,上代碼感受下。with open('foo.txt', 'w+') as f: f.write('bar\n') f.seek(0) data =

飄逸的python – 不要用二進位模式開啟文字檔

先看下面代碼的“詭異”現象。假設在windows下,我有個f.txt檔案,裡面的內容是下面這樣的。helloworld代碼一,with open('f.txt', 'r') as f: print f.readlines()with open('f.txt', 'rb') as f: print f.readlines()輸出['hello\n', 'world\n']['hello\r\n', 'world\r\n']代碼二,with open('f.txt', 'rb') as

飄逸的python – 類型判斷type與isinstance的區別

在遊戲項目中,我們會在每個介面驗證用戶端傳過來的參數類型,如果驗證不通過,返回給用戶端“參數錯誤”錯誤碼。這樣做不但便於調試,而且增加健壯性。因為用戶端是可以作弊的,不要輕易相信用戶端傳過來的參數。驗證類型用type函數,非常好用,比如>>type('foo') == strTrue>>type(2.3) in

飄逸的python – 靈活的動態之xxxattr

標題的xxxattr指的是hasattr/getattr/setattr/delattr。可以動態檢測、擷取、設定、刪除對象的屬性和方法。這裡所說的動態,說白了就是“可以通過字串來做這些事”。這是一個非常強大靈活的特性。我舉個例子。有個GM工具來設定玩家角色的屬性,比如角色的屬性有經驗、體力、遊戲幣。roletable = {'31415926':{'exp':99,'energy':100,'gamecoin':1000}}#偽角色資料庫表class Role: def __init__

飄逸的python – 編碼雜症之在字串前面加u

有時候我們從其它地方接受的字串經過艱難跋涉,它變了個樣。比如收到的是'\u6253\u602a\u8005'而不是u'\u6253\u602a\u8005'。明明肉眼看起來只需要加個u,但是怎麼加呢?>>s = '\u6253\u602a\u8005'>>s'\\u6253\\u602a\\u8005'>>'u'+s'u\\u6253\\u602a\\u8005'這樣不行。而且表面看起來是'\u6253\u602a\u8005',其實內部是'\\u6253\\

中文分詞演算法 mmseg python版本

mmseg演算法是對最大匹配演算法的擴充。簡單來說,mmseg每次匹配時,總會多向後匹配兩個單詞,然後選擇這個三個單詞的總體匹配最優的。mmseg  主要做了以下幾方面的擴充:假設對字串C1C2...Cn進行分割 匹配時,從小到大,逐個匹配字典中以C1開頭的詞每次連續匹配三個詞語(three-word chunk ),並列出所有可能的分割選擇最匹配的three-word chunk(依次運用以下規則,一旦可以選出唯一結果則返回):a.三個單詞的總長度最大b.單詞平均長度最大c.單詞長度的方差最小

飄逸的python – 一段統計次數程式的進化

這段程式是從給定的列表中統計各個小夥伴以及他們的出現次數。littlebuddys = ['jack','terry','john','rooney','ross','kzc','john','ross','ross']新手程式員d = {}for buddy in littlebuddys: if buddy not in d: d[buddy] = 0 d[buddy] += 1信奉EAFP的程式員d = {}for buddy in littlebuddys:

飄逸的python – 字典合并值相加

在統計匯總遊戲資料的時候,有些資料是是每天用字典存的,當我要對多天匯總的時候,就需要合并字典了。如果key相同的話它們的值就相加。不能用update方法,因為用update方法則相同的key的值會覆蓋,而不是相加。千言不如一碼。def union_dict(*objs): _keys = set(sum([obj.keys() for obj in objs],[])) _total = {} for _key in _keys: _total[_key] =

飄逸的python – 對字典“異或”

在遊戲中,我要監控記錄物品系統中的背包變動情況。假設背包的儲存結構是這樣的。是一個字典,{物品id:數量}。在背包類初始化的時候,把背包物品資訊copy儲存到一個oldbag變數,進行一些物品操作後(比如使用物品,領取物品獎勵等),在調用save()方法存進redis時,對新的bag字典與oldbag字典進行差異對比就得出變動情況了。千言不如一碼。def symmetric_difference(_oldobj,_newobj): _oldkeys = _oldobj.keys()

飄逸的python – 偏函數functools.partial

函數式編程的思想。可以理解成綁定了一部分參數的函數。作用就是少傳參數,更短,更簡潔。我之前做的一段使用者留存率的程式。需求是這樣子的,選擇某一天,然後以這天為準,次日留存,3日留存,7日留存,14日留存,30日留存。已有一個擷取第幾天后的函數from datetime import datetime,timedeltadef GetNextDay(baseday,n): return

飄逸的python – 發送帶各種類型附件的郵件

上一篇博文示範了如何發送簡單的郵件,這一篇將示範如何發送各種類型的附件。基本思路就是,使用MIMEMultipart來標示這個郵件是多個部分組成的,然後attach各個部分。如果是附件,則add_header加入附件的聲明。在python中,MIME的這些對象的繼承關係如下。MIMEBase    |-- MIMENonMultipart        |-- MIMEApplication        |-- MIMEAudio        |-- MIMEImage        |--

飄逸的python – 發送qq郵件

之前在搞監控預警的時候需要發郵件通知,很簡單,就跟呼吸一樣。import smtplibfrom email.mime.text import MIMEText_user = "sigeken@qq.com"_pwd = "***"_to = "402363522@qq.com"#使用MIMEText構造符合smtp協議的header及bodymsg = MIMEText("喬裝打扮,不擇手段")msg["Subject"] = "don't panic"msg["From"] =

飄逸的python – 鮮為人知的參數

雖然用了這麼久的python,但是還是能斷斷續續發現一些本以為很熟悉的東西的“秘密”。split()的maxsplit參數>>'hello,world,foo,bar'.split(',',1)['hello', 'world,foo,bar']enumerate()的start參數>>list(enumerate(['a','b','c'],2))[(2, 'a'), (3, 'b'), (4,

飄逸的python – 列印螺旋矩陣

演算法分析:螺旋矩陣用二維數組表示,座標(x,y),即(x軸座標,y軸座標)順時針螺旋的方向是->右,下,左,上,用數值表示即是x加1格(1,0),y加1格(0,1),x減1格(-1,0),y減1格(0,-1)座標從(0,0)開始行走,當超出範圍或遇到障礙時切換方向經過上面的分析,思路很清晰了,千言不如一碼。import itertoolsdef spiral(n,m): _status = itertools.cycle(['right','down','left','up'])#

總頁數: 2974 1 .... 258 259 260 261 262 .... 2974 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.