Python的迭代器和產生器

Python的迭代器和產生器一、迭代器Iterators迭代器僅是一容器物件,它實現了迭代器協議。它有兩個基本方法:1)next方法返回容器的下一個元素2)__iter__方法返回迭代器自身迭代器可使用內建的iter方法建立,見例子:>>> i = iter('abc')>>> i.next()'a'>>> i.next()'b'>>> i.next()'c'>>> i.next()Traceback

python容易被遺忘的部分

0.兩個小函數str.rstrip([chars]) 剪下右邊字元動作>>> ' spacious '.rstrip()' spacious'>>> 'mississippi'.rstrip('ipz')'mississ'python中有個copy模組,可以進行深拷貝動作1.Using the Python Interpreter檔案編碼#-*- coding:utf-8 -*-擷取命令列參數命令列參數會被存在sys.argv[]中import

python操作Excel word

跟網上其他的程式是一樣的,這裡分別增加了一個全域替換的函數。可以進行整個文檔的替換,這樣可以實現翻譯,查錯等全域替換的操作。# -*- coding: utf-8 -*-import os,types,picklefrom win32com.client import Dispatchimport win32com.clientclass Excel:    """A utility to make it easier to get at Excel."""    def

python類的注意點

1.成員變數同成員函數重名同名的資料屬性會覆蓋方法屬性,為了避免可能的命名衝突--這在大型程式中可能會導致難以發現的 bug --最好以某種命名規範來避免衝突。可選的約定包括方法的首字母大寫,資料屬性名稱首碼小寫(可能只是一個底線),或者方法使用動詞而資料屬性使用名詞。class test():    def __init__(self):        self.a = 'ok'           def a(self):        print ('test')   a = test()

Cocos2d-python 介紹

cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.cocos2d simplifies the game development in these areas:Flow control: Manage the flow control between different scenes in an easy waySprites: Fast and

python類-屬性

執行個體屬性和類屬性理論基礎類屬性有點類似C++中的靜態變數,可以通過 【類名.屬性 】直接存取執行個體屬性故名思議就是只有定義了類的執行個體後才可以用的屬性通過類名不可以訪問執行個體屬性通過執行個體可以訪問類屬性如果執行個體屬性給類屬性進行了賦值操作,則會將其覆蓋。程式碼範例class SYG(object): class_var = 1 def __init__(self): self.instance_var = 2if __name__ ==

python類-各種method

一般的method第一個參數必須是self,執行個體本身用的時候類似這樣 instance_class.method()類method第一個參數是class,是類本身用的時候類似這樣CLASS_name.method()這樣也可以 instance_class.method()靜態method第一個參數是隨意,和類,執行個體無關用的時候類似這樣CLASS_name.method()這樣也可以 instance_class.method()範例程式碼class SYG(object):

python類-各種雙底線

__slots__用來限制類中的執行個體屬性每個執行個體對象 x 都擁有一個字典 x.__dict__. python通過此字典允許你綁定任意屬性給 x 執行個體. 定義一個名為 __slots__ 的類屬性可以有效減少每個執行個體佔用的記憶體數量. __slots__ 是一個字串序列(通常是一個tuple).  當類  擁有 __slots__屬性, x 的直接子類就沒有 x.__dict__屬性. 如果試圖綁定一個 __slots__ 中不存在屬性給執行個體的話, 就會引發異常.

觀察者模式 python實現

觀察者模式在對象之間定義一對多的依賴關係,當主題對象發生變化時,依賴他的對象會收到通知並進行自動更新,觀察者模式有‘推’、‘拉’兩種模式,本人實現的是‘推’的方式,通過實現‘註冊——通知——撤銷註冊’三個過程實現觀察者模式。由於第一次寫這麼多python代碼,出現2個錯誤,將足跡留下1.在函數notifyObserver中調用update()和函數時一個參數少些了一個底線,導致調試不出來錯誤由於是練習,update函數內沒有容錯處理,所以花了半個小時調試,另外這個錯誤編譯器也不給提示,僅僅顯示T

常用的python模組及安裝方法

adodb:我們領導推薦的資料庫連接組件bsddb3:BerkeleyDB的串連組件Cheetah-1.0:我比較喜歡這個版本的cheetahcherrypy:一個WEB frameworkctypes:用來調用動態連結程式庫DBUtils:資料庫連接池django:一個WEB frameworkdocutils:用來寫文檔的dpkt:資料包的解包和組包MySQLdb:串連MySQL資料庫的py2exe:用來產生windows可執行檔Pylons:我們領導推薦的web

python多線程讀取檔案

# -*- coding: utf-8 -*-import os,timeimport threadingrlock = threading.RLock()curPosition = 0class Reader(threading.Thread): def __init__(self, res): self.res = res super(Reader, self).__init__() def run(self): global

python time,datetime,string轉換

#把datetime轉成字串 def datetime_toString(dt): return dt.strftime("%Y-%m-%d-%H") #把字串轉成datetime def string_toDatetime(string): return datetime.strptime(string, "%Y-%m-%d-%H") #把字串轉成時間戳記形式 def string_toTimestamp(strTime): return

Python發送Email

Python對於Email的分成兩個部分:對於POP、SMTP的支援。對於Email資料的支援。第一部分: 用POP、SMTP來讀取信件:import getpass, poplibM = poplib.POP3('localhost')M.user(getpass.getuser())M.pass_(getpass.getpass())numMessages = len(M.list()[1])for i in range(numMessages): for j in M.retr(i+

一段關於Python字典遍曆的“爭論”

轉:http://ihipop.info/2010/10/1777.htmlPython代碼#這裡初始化一個dict   >>> d = {'a':1, 'b':0, 'c':1, 'd':0}   #本意是遍曆dict,發現元素的值是0的話,就刪掉   >>> for k in d:   ...   if d[k] == 0:   ...     del(d[k])   ...   Traceback (most recent call last):    

python擷取當前日期前後N天或N月的日期

來源地址:http://snipperize.todayclose.com/snippet/py/python%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E6%97%A5%E6%9C%9F%E5%89%8D%E5%90%8EN%E5%A4%A9%E6%88%96N%E6%9C%88%E7%9A%84%E6%97%A5%E6%9C%9F--97049/#!/usr/bin/python'''Filename: "utildate.py"author:

python擷取作業系統的使用者名稱

函數:getpass.getuser() 解釋: Return the “login name” of the user. Availability: Unix, Windows. This function checks the environment variables LOGNAME, USER, LNAME and USERNAME, in order, and returns the value of the first one which is set to a non-

linux調試python

python  linux調試 python是動態語言,編譯器檢查不到運行時的文法問題,而這些低級問題常常造成調試效率很低。之前在linux伺服器上調試,都是通過print和異常報錯來排查,簡直弱爆了。python內建的pdb正是調試的利器。我們先建立一個測試指令碼:Shell代碼  touch debug.py  內容:Shell代碼  print "hello"    i = 0  for j in range(10):      i += j  print i  常用命令說明:l

Python字典排序OrderedDict

在Python2.7.x版本中, collections類增加了OrderedDict, 用法如下:  pywugw@pywugw-laptop:~$/usr/local/bin/python2.7Python 2.7b1(r27b1:79927, Apr 26 2010, 11:44:19)[GCC 4.4.3] on linux2Type "help", "copyright", "credits"or "license" for more

Python中的異常類型

1、NameError:嘗試訪問一個未申明的變數>>> vNameError: name 'v' is not defined2、ZeroDivisionError:除數為0 >>> v = 1/0ZeroDivisionError: int division or modulo by zero3、SyntaxError:語法錯誤 >>> int intSyntaxError: invalid syntax

python的程式基本風格

注釋:簡潔明了的說明對於程式的維護還是比較重要的 文檔:通過__doc__特別變數,動態獲得文檔字串,在模組、類聲明、函式宣告中第一個沒有賦值的字串可以用屬性obj.__doc__來訪問,obj為模組、類、函數的名字。 縮排:比較流行的縮排方式是,四個空格或者定位字元Tab,代碼若存在跨平台,由於不同的文字編輯器對Tab的設定不一樣,所以盡量不使用Tab。 選擇標識符名稱:定義簡短好理解的變數名、模組名是個好習慣。 模組結構和布局:(1) 起始行:通常在unix/linux下使用(2)

總頁數: 2974 1 .... 245 246 247 248 249 .... 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.