[發明專利]Python的屬性解析方法及裝置有效
| 申請號: | 201610080212.4 | 申請日: | 2016-02-04 |
| 公開(公告)號: | CN105760161B | 公開(公告)日: | 2019-01-08 |
| 發明(設計)人: | 鄧慧 | 申請(專利權)人: | 網易(杭州)網絡有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 北京博浩百睿知識產權代理有限責任公司 11134 | 代理人: | 宋子良 |
| 地址: | 310000 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | python 屬性 解析 方法 裝置 | ||
本發明公開了一種Python的屬性解析方法及裝置。其中,該方法包括:步驟一,讀取用戶輸入的變量名,并從所述變量名中解析出根屬性名及其下各級屬性名;步驟二,在預設位置查找所述根屬性名,并返回對應變量;步驟三,根據返回的變量的類型查找下一級屬性名,并返回對應變量;重復執行所述步驟三,直至查找到葉子級屬性名返回的變量。通過本發明,實現了對Python內核中用戶輸入的各種類型的變量名成功進行解析的技術效果,解決了相關技術中的Python調試方案無法滿足調試需求的技術問題。
技術領域
本發明涉及計算機領域,具體而言,涉及一種Python的屬性解析方法及裝置。
背景技術
Python編程語言是一門高效的通用編程語言,能適用絕大部分的技術實現需要。在游戲工程當中,也經常會使用python語言作為游戲邏輯的實現語言,它的優點是能快速對需求建模,由于其提供的完善的編程語義以及豐富高質量的標準庫跟第三方庫,使得用戶能在快速建模的基礎上擴展出完整的游戲邏輯,并且因為其高度的動態性,十分易于修改,適合應用在迭代非常頻繁的游戲工程開發過程當中。
為了規避python的運行速度慢的缺點,通常還會使用c語言擴展的方式對python內核進行擴展,將一些關鍵且調用頻繁的邏輯使用這種方式實現,大大提高了其運行速度。但是由于python語言的過高動態性,如果在程序c語言擴展當中出現漏洞(bug),使用通用調試器(gdb)的調試將會變得非常困難。
目前針對Python的調試方式主要有以下兩種:
第一種調試python內核的方式是使用通用調試器(gdb)直接調試,但是這種調試方式必須根據調試者自己的經驗對程序當中出現的python變量進行拆解,最終經過若干步驟找到真正的數據值;
第二種調試方式是使用Python附帶的gdb擴展插件。Python內核發布的時候通用也會附帶一個python-gdb.py文件,這是一個gdb的擴展插件,能在有限程度上解決上述的變量值尋找的問題,主要實現了以下命令用于調試:
1.py-bt:能打印出python的調用棧。
2.py-list:能打印出python當前的源代碼(如果調試信息帶有的話)。
3.py-up,py-down:切換當前調試的python棧幀。
4.py-print:打印python的變量值。
5.py-locals:打印當前調試的棧幀的python局部變量值。
然而,在上述的兩種調試方案當中,都存在一定程度的缺點,譬如第一種調試方案極大地依賴調試者對于python內核的了解程度,如果不知道怎么在內存數據當中手動求得調試值的數據類型,將會使得調試變得不可能,而且非常浪費時間進行人工拆解數據類型的過程。上述第二種調試方案已經有了極大的進步,但是依然存在一些致命問題,導致調試不夠順暢。
針對相關技術中的Python調試方案無法滿足調試需求的問題,目前尚未提出有效的解決方案。
發明內容
本發明實施例提供了一種Python的屬性解析方法及裝置,以至少解決相關技術中的Python調試方案無法滿足調試需求的技術問題。
根據本發明實施例的一個方面,提供了一種Python的屬性解析方法,包括:
步驟一,讀取用戶輸入的變量名,并從所述變量名中解析出根屬性名及其下各級屬性名;
步驟二,在預設位置查找所述根屬性名,并返回對應變量;
步驟三,根據返回的變量的類型查找下一級屬性名,并返回對應變量;
重復執行所述步驟三,直至查找到葉子級屬性名返回的變量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于網易(杭州)網絡有限公司,未經網易(杭州)網絡有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610080212.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:鞋類自動開啟模具機構
- 下一篇:全自動豆漿機





