• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            的筆記

            隨時隨地編輯

            Python 開發記錄

            里個,這些文檔是作為備忘錄筆記,不是為了展示,主要目標讀者是某個患有嚴重健忘癥的程序猿,如果被你不小心讀到并迷惑不解,要么可以忽略,要么可以留言提問。更希望能指出錯誤。

            Pycharm 環境設置

          1. 修改快捷鍵: File --> Settings --> Keymap : Visual Studio

          2. PTVS 環境設置

            標識符顏色設置
          3. function:166,226,46
          4. param:253,151,31
          5. key:102,217,239
          6. operator:249,38,114

          7. Visual Assit 環境設置

            允許VC識別其他擴展,這里是識別成C++文件了。。。
          8. Allow C/C++ files with a non-standard extension
          9. 其中Add your extension to:"Tools | Options | Text Editor | File Extension | Microsoft Visual C++"不要修改了,否則會將py文件當成C++,所有#注釋都被VA識別成了宏定義,很悲劇...

          10. Support for python (work with pytools)
          11. 扯了些淡,2012年的,也折騰了下,不知道到底其作用了沒(上一個一起設置了,所以不好區分)

            Outline不能用,Open File in Solution可以用,還行

            參數組(元組*、字典**)

            將參數放到一個元組或字典中,func(params[,params2], *tuple_grp_nonkw_args, **dict_grp_kw_args)
          12. 形參、元組、字典的順序不能變
          13. 三者可以缺少其中某2個或兩個
          14. 調用時傳的參數也必須對應順序
          15. fun = lambda *z : z 同樣適用

          16. 代碼組

            縮減相同的一組語句構成代碼組。如if、while、def、class等符合語句以關鍵字開始,以冒號':'結束,之后接代碼組。
          17. 代碼組可以稱為子句(clause)

          18. 修飾器(decorate)

            def f_decorate(func):
                print 'begin f_decorate'

                def func_wrapper(name):
                    print '<func_wrapper>'
                    return "<p>{0}</p>".format(func(name))

                print 'end f_decorate'
                return func_wrapper

            @f_decorate
            def g_function(name):
                print '<g_function>'
                return "lorem ipsum, {0} dolor sit amet".format(name)


            ret = g_function("John")

            預處理期

            先組裝新函數對象
            #g_function = f_decorate(g_function)
            其實執行的函數對象是f_decorate,g_function只是參數
            新編譯的函數暫且叫g_function@

            執行期
            按部就班調用新函數g_function@,記得存在原始函數對象g_function在新的函數對象環境里;
            而在修飾器函數體里,func_wrapper代表了新函數功能,func(name)代表了原來的函數功能,
            查看 globals和locals均可查看到新生成的函數對象
            #print globals()
            #print locals()

            運行時行號、文件名等

            (frame, filename, line_number, function_name, lines, index) = inspect.getouterframes(inspect.currentframe())[0]
          19. <占位項1>
          20. <占位項2>

          21. Pip

            Tool for installing Python packages
            https://pypi.python.org/pypi/pip
          22. C:\Python27\Scripts 加入環境變量,pip.exe在這里
          23. <占位項2>
          24. SimpleXMLRPCServer— Basic XML-RPC server

            https://docs.python.org/2.6/library/simplexmlrpcserver.html
          25. Server
          26. from SimpleXMLRPCServer import SimpleXMLRPCServer
            server = SimpleXMLRPCServer(('localhost', 9000))
            def my_function(a, b):
            return a * b
            server.register_function(my_function, 'multiply args')
            try:
            print 'Use Control-C to exit'
            server.serve_forever()
            except KeyboardInterrupt:
            print 'Exiting'
            
          27. Client
          28. import xmlrpclib
            proxy = xmlrpclib.ServerProxy('http://localhost:9000')
            print getattr(proxy, 'multiply args')(5, 5)
            

            <占位標題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          29. <占位項1>
          30. <占位項2>

          31. 扯個全局對象的蛋

            這個蛋有點扯,在當前作用域,你可以使用全局變量,但是這個時候如果你用等號賦值這個名字,這個時候這個變量其實是局部重新聲明的一個變量,而且不管這句是在塊的任何位置。
            Instance=None
            print '1 global instance id:',id(Instance)

            class BossAIComp():
                def __init__(self):
                    #Instance = self
                    print '2 instance id:',id(Instance)
          32. '#Instance = self'這句如果被注釋了,你使用的就是全局的Instance
          33. 變量名字在當前域任何地方只要賦值,這個塊里這個名字都是局部的。例如"Instance = self"如果放在“print '2”下面,也會直接將這個變量當成局部的,同時在使用的時候提示這個變量沒有定義

          34. 再扯個import的蛋

            用法的不同形式的蛋

             ################################################

            # case 1
            import xxx.yyy.BossAIComp
            xxx.yyy.BossAIComp.Instance.say()

            # case 2
            import xxx.yyy.BossAIComp as ai
            ai.Instance.say()

            # case 3
            from xxx.yyy.BossAIComp import Instance
            Instance.say()

            # case 4
            from xxx.yyy.BossAIComp import Instance as ist
            ist.say()

            <占位標題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          35. <占位項1>
          36. <占位項2>

          37. <占位標題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          38. <占位項1>
          39. <占位項2>

          40. <占位標題>

            <占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
          41. <占位項1>
          42. <占位項2>

          43. 修改記錄

          44. 2014-07-15 創建
          45. ---
          46. posted on 2014-07-14 17:00 的筆記 閱讀(448) 評論(0)  編輯 收藏 引用

            久久精品国产99国产电影网 | 99久久综合国产精品二区| 国色天香久久久久久久小说| 久久久久噜噜噜亚洲熟女综合| 72种姿势欧美久久久久大黄蕉| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 香蕉久久夜色精品升级完成| 国产精品久久久久a影院| 日本精品久久久久影院日本| 欧美日韩精品久久久久 | 色综合久久天天综合| 91精品国产9l久久久久| 久久国产精品99久久久久久老狼 | 精品免费久久久久国产一区| 99麻豆久久久国产精品免费| 国产99久久精品一区二区| 免费观看成人久久网免费观看| yellow中文字幕久久网| 一本色综合久久| 97久久久精品综合88久久| 久久国产精品久久国产精品| 久久97久久97精品免视看秋霞| 午夜精品久久久久久| 久久丫精品国产亚洲av| 国产精品久久久久久久久久免费| 四虎亚洲国产成人久久精品| 麻豆亚洲AV永久无码精品久久| 久久国产免费观看精品| 亚洲国产成人精品女人久久久 | 欧美粉嫩小泬久久久久久久 | 尹人香蕉久久99天天拍| 精品久久久久久无码专区 | 久久亚洲高清观看| 国产欧美久久久精品影院| 精品综合久久久久久97超人 | 国产精品久久久久久久午夜片 | 久久精品男人影院| 综合网日日天干夜夜久久| 狠狠精品久久久无码中文字幕 | 久久99国产精品二区不卡| 国产精品中文久久久久久久|