• <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 的筆記 閱讀(450) 評論(0)  編輯 收藏 引用

            久久亚洲精品中文字幕| 久久精品国产国产精品四凭| 午夜精品久久久久久| 久久午夜免费视频| 97久久超碰国产精品2021| 久久99精品国产| 亚洲伊人久久成综合人影院 | 午夜不卡久久精品无码免费| 性欧美丰满熟妇XXXX性久久久| 久久久久亚洲av无码专区喷水| 91性高湖久久久久| 囯产精品久久久久久久久蜜桃| 91精品国产91久久综合| 日韩十八禁一区二区久久 | 综合久久精品色| 久久免费小视频| AV无码久久久久不卡蜜桃| 亚洲国产精品一区二区久久| 亚洲国产视频久久| 日韩一区二区久久久久久| 久久精品人人做人人爽电影| 久久夜色tv网站| 久久99精品国产自在现线小黄鸭| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲国产精品无码久久一线 | 久久免费视频6| 99精品久久精品一区二区| 久久综合色老色| 亚洲国产成人久久一区WWW| 国产激情久久久久影院老熟女免费 | 精品久久久久久亚洲| 无码AV中文字幕久久专区| 久久无码专区国产精品发布| 欧洲国产伦久久久久久久| 精品久久久无码中文字幕| 99久久精品免费| 久久播电影网| 伊人久久无码精品中文字幕| 久久毛片免费看一区二区三区| 九九久久精品无码专区| 久久久久人妻一区精品|