導航:首頁 > 編程語言 > python語法分析器哪個好

python語法分析器哪個好

發布時間:2022-03-14 08:53:20

『壹』 python學哪個好

Python有Python2和Python3,很多人都會糾結選擇哪個版本進行學習?這兩個版本是不兼容的,而且差異比較大,需要多方面具體分析來決定。
從基本設計上來說,Python3的目的就是沒有代碼兼容的包袱情況下進行改進了Python,相對於Python2來說,Python3有很多的改進,更加容易理解,也更加合理。
而且從應用的角度上來說,pypy、web框架、科學計算包、scrapy等常用模塊都是支持Python3的,但是部分比較陳舊的庫已經沒有人進行維護,也就沒有支持Python3.
當我們進行日常使用的情況之下,可以直接寫Python2\3兼容的代碼,相對於來說,Python2對於舊庫的支持更多一些,至少在學界還是比較流行的。

『貳』 python3有什麼比較好的語法分析器

Pycharm, Eclipse,Ipython,其實自帶的IDLE shell也可以設置的

『叄』 推薦好用的Python編輯器

推薦一:PyCharm
PyCharm 是 JetBrains 開發的 Python IDE。PyCharm用於一般IDE具備的功能,比如, 調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制……另外,PyCharm還提供了一些很好的功能用於Django開發,同時支持Google App Engine,更酷的是,PyCharm支持IronPython。
推薦二:Vim
曾有人開玩笑說,如果生成一段隨機字元串,有人回答給他一個Vim 編輯器就可以了。Vim 雖然使用門檻高,但是一旦你學會了,寫代碼的效率杠杠的,Vim是高級文本編輯器,旨在提供實際的Unix 編輯器』Vi』功能,支持更多更完善的特性集。Vim不需要花費太多的學習時間,一旦你需要一個無縫的編程體驗,那麼就會把 Vim 集成到你的工作流中。這是黑客最喜歡的編輯器之一。
推薦三:Eclipse with PyDev
Eclipse 曾今是非常流行的 IDE,而且已經有了很久的歷史。雖然現在慢慢地被 jetbrains 家族替代了,但是瘦死的駱駝比馬大,Eclipse with Pydev 允許開發者創建有用和互動式的 Web 應用。PyDev 是 Eclipse 開發 Python 的 IDE,支持 Python,Jython和 IronPython 的開發。
推薦四:Sublime Text
Sublime Text 是開發者中最流行的編輯器之一,多功能,支持多種語言,而且在開發者社區非常受歡迎。Sublime 有自己的包管理器,開發者可以使用TA來安裝組件,插件和額外的樣式,所有這些都能提升你的編碼體驗。雖然作為收費軟體,良心的是你不需要付費也能正常使用,只不過是不是給你彈出一個購買的窗口,有錢了還是要支持一下正版軟體。
推薦五:Visual Studio Code
Visual Studio Code (VSCode)為MS所開發的code editing tool,免費且開源,並支持Windows,Mac OS,Linux。VSCode像是精簡版的Visual Studio,升級版的Sublime。VSCode由於其非常的輕量,因此使用過程中非常的流暢,對於用戶不同的需要,可以自行下載需要的擴展(Extensions)來安裝。對於配置Python開發環境來說,相比於Sublime,配置起來更加容易。VSCode配置完後的環境是可以直接進行可視化的Debug,再也不用打各種print或者用pdb調試命令了,回歸到Visual Studio里F10和F11。
推薦六: Atom
Atom是由 GitHub 的程序員們打造的稱為「屬於21世紀」的代碼編輯器。它開源免費跨平台(支持 Windows、Mac、Linux 三大桌面平台),並且整合 GIT 並提供類似 SublimeText 的包管理功能,作為一個現代的代碼編輯器,Atom 支持各種編程語言的代碼高亮(HTML / CSS / Javascript / PHP / Python / C / C++ / Objective C / Java / JSON / Perl / coffeescript / Go / Sass / YAML / Markdown 等等)、 與大多數其他編輯器相比,Atom的語言支持已經算是覆蓋非常全面了。另外,它的代碼補全功能(也叫Snippets) 也非常好用,你只需輸入幾個字元即可展開成各種常用代碼,可以極大提高編程效率。
推薦七: Emacs
GNU Emacs 是可擴展,自定義的文本編輯器,甚至是更多的功能。Emacs 的核心是 Emacs Lisp 解析器,但是支持文本編輯。如果你已經使用過 Vim,可以嘗試一下 Emacs。
推薦八:Spyder
Spyder (前身是 Pydee) 是一個強大的互動式 Python 語言開發環境,提供高級的代碼編輯、交互測試、調試等特性,支持包括 Windows、Linux 和 OS X 系統。Spyder是Anaconda科學計算工具中默認的開發工具,做數據分析、搞機器學習的人喜歡這個工具。
9. Thonny
Thonny是基於python內置圖形庫tkinter開發出來的支持多平台(windows,Mac,Linux)的python IDE,支持語法著色、代碼自動補全、debug等功能,如果你正在尋找一種「輕量級」的python IDE,那麼可以試一試Thonny。
10. Wing
Wingware 的 Python IDE 兼容 Python 2.x 和 3.x,可以結合 Django, matplotlib, Zope, Plone, App Engine, PyQt, PySide, wxPython, PyGTK, Tkinter, mod_wsgi, pygame, Maya, MotionBuilder, NUKE, Blender 和其他 Python 框架使用。Wing 支持測試驅動開發,集成了單元測試,nose 和 Django 框架的執行和調試功能。Wing IDE 啟動和運行的速度都非常快,支持 Windows, Linux, OS X 和 Python versi。

『肆』 python做數據分析 用哪個好

推薦Rice大學的那門python課,Rice大學的課程總共有3門,現在貌似拆解成6門了;每門課8周時間,按照由淺入深的順序來的。第一門課是Python基礎,介紹了Python的基礎語法;第二門課是計算基礎,介紹了一些稍微復雜一點的語法和數據處理;第三門課是演算法思考,介紹了一些常用的演算法;並且還用到了numpy, matlabplot庫等。

『伍』 有沒有好的 python 混淆器 推薦一個

代碼混淆,其實很簡單。原理就是查找、替換而已。市面上有很多混淆工具,最好是在混淆工具的基礎上,自己再寫一下,二次混淆。演算法也不難。如果需要全局混淆,以及自動混淆,那麼就復雜一些了,需要再加上詞法分析和語法分析。

如何使用:

1,首先得安裝Python。

2,把這個下面這個 confuse.py 文件,復制目標文件夾

3,更改 raw_name_list 列表裡的字元串。改成你想混淆的變數名或者類名方法名。

4,運行pythonconfuse.py 即可混淆該文件夾下的.cs文件。

這段代碼其實還是很簡單的,只是為大家說明一下混淆思想。如果想更方便的使用,需要再加入一些詞法分析、語法分析的演算法。

代碼如下:

#! /usr/bin/env python

#coding=utf-8


import hashlib

import random

import os

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

# Describe : 混淆Unity腳本文件

# D&P Author By: 常成功

# Create Date: 2014-11-25

# Modify Date: 2014-11-25

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


#想混淆的變數/方法名

raw_name_list = ["function_1", "function_2", "var_1", "var_2",]

#混淆後的變數/方法名

new_name_list = []


#隨機可選的字母表

alphabet = ["a", "b", "c", "d", "e", "f", "g",

"h", "i", "j", "k", "l", "m", "n", "o", "p", "q",

"r", "s", "t", "u", "v", "w", "x", "y", "z",

]



#生成新的變數名

def create_new_name() :

m = hashlib.md5()

#生成隨機變數名

for raw_name in raw_name_list:

m.update(raw_name)

#生成一個16位的字串

temp_name = m.hexdigest()[0:16]

#合法名稱校驗

#強制以字母作為變數/方法名的開頭

if temp_name[0].isdigit():

initial = random.choice(alphabet)

temp_name = initial + temp_name

temp_name = temp_name[0:16]

#不能重名

while(1):

if temp_name in new_name_list :

initial = random.choice(alphabet)

temp_name = initial + temp_name

temp_name = temp_name[0:16]

else:

new_name_list.append(temp_name)

break


#混淆文件

def confuse_file(path_filename):

file_content = ""

#讀文件內容

f = file(path_filename)

# if no mode is specified, 'r'ead mode is assumed by default

while True:

line = f.readline()

if len(line) == 0: # Zero length indicates EOF

break

#混淆

name_index = 0

for raw_name in raw_name_list:

the_new_name = new_name_list[name_index]

line = line.replace(raw_name, the_new_name)

name_index += 1

file_content += line

f.close()

#重寫文件

f = file(path_filename, 'w')

f.write(file_content)

f.close()

#遍歷當前目錄下的所有.cs文件

def confuse_all():

#獲取當前目錄

dir = os.getcwd()

for root, dirs, filename in os.walk(dir):

for file in filename:

path_filename = os.path.join(root, file)

if path_filename.endswith('.cs'):

confuse_file(path_filename)

print "Confuse File: ", path_filename


if __name__=="__main__":

create_new_name()

confuse_all()

#列印一下混淆的情況.

#如果用文本保存起來, 那麼以後可以反混淆, 還原文件

print "Start Confuse ...."

for j in range(0, len(raw_name_list)) :

print raw_name_list[j] , " --> " , new_name_list[j]

print "Confuse Complete !"


閱讀全文

與python語法分析器哪個好相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:400
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313