python的开发环境有哪些
总结了10个开发环境,都是比较常见且很好用的,希望对你有所帮助:
PyCharm
PyCharm 是 JetBrains 开发的 Python IDE。PyCharm用于一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython!
2. Vim
曾有人开玩笑说,如果生成一段随机字符串,有人回答给他一个Vim 编辑器就可以了。Vim 虽然使用门槛高,但是一旦你学会了,写代码的效率杠杠的,Vim 是高级文本编辑器,旨在提供实际的 Unix 编辑器’Vi’功能,支持更多更完善的特性集。Vim 不需要花费太多的学习时间,一旦你需要一个无缝的编程体验,那么就会把 Vim 集成到你的工作流中。这是黑客最喜欢的编辑器之一。
3. Eclipse with PyDev
Eclipse 曾经是非常流行的 IDE,而且已经有了很久的历史。虽然现在慢慢地被 jetbrains 家族替代了,但是,瘦死的骆驼比马大,Eclipse with Pydev 允许开发者创建有用和交互式的 Web 应用。PyDev 是 Eclipse 开发 Python 的 IDE,支持 Python,Jython和 IronPython 的开发。
4. Sublime Text
Sublime Text 是开发者中最流行的编辑器之一,多功能,支持多种语言,而且在开发者社区非常受欢迎。Sublime 有自己的包管理器,开发者可以使用TA来安装组件,插件和额外的样式,所有这些都能提升你的编码体验。虽然作为收费软件,良心的是你不需要付费也能正常使用,只不过是不是给你弹出一个购买的窗口,有钱了还是要支持一下正版软件。
5. 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。
6. 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) 也非常好用,你只需输入几个字符即可展开成各种常用代码,可以极大提高编程效率。
7. Emacs
GNU Emacs 是可扩展,自定义的文本编辑器,甚至是更多的功能。Emacs 的核心是 Emacs Lisp 解析器,但是支持文本编辑。如果你已经使用过 Vim,可以尝试一下 Emacs。
8. 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灰帽子讲的什么
内容简介
《Python灰帽子》是由知名安全机构Immunity Inc的资深黑帽Justin Seitz主笔撰写的一本关于编程语言Python如何被广泛应用于黑客与逆向工程领域的书籍。老牌黑客,同时也是Immunity Inc的创始人兼首席技术执行官(CTO)Dave Aitel为这本书担任了技术编辑一职。书中绝大部分篇幅着眼于黑客技术领域中的两大经久不衰的话题:逆向工程与漏洞挖掘,并向读者呈现了几乎每个逆向工程师或安全研究人员在日常工作中所面临的各种场景,其中包括:如何设计与构建自己的调试工具,如何自动化实现烦琐的逆向分析任务,如何设计与构建自己的fuzzing工具,如何利用fuzzing 测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、 Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介绍。作者借助于如今黑客社区中备受青睐的编程语言 Python引领读者构建出精悍的脚本程序来一一应对上述这些问题。出现在书中的相当一部分Python代码实例借鉴或直接来源于一些优秀的开源安全项目,诸如Pedram Amini的Paimei,由此读者可以领略到安全研究者们是如何将黑客艺术与工程技术优雅融合来解决那些棘手问题的。
相关推荐:《Python教程》
作者简介
Justin Seitz是一名Immunity公司的高级安全研究员,他在以往的工作中花费了大量的时间从事漏洞挖掘、逆向工程、编写漏洞利用以及编写Python代码的研究。
目录
第1章 搭建开发环境 1
1.1 操作系统要求 1
1.2 获取和安装Python 2.5 2
1.2.1 在Windows下安装Python 2
1.2.2 在Linux下安装Python 2
1.3 安装Eclipse和PyDev 4
1.3.1 黑客挚友:ctype库 5
1.3.2 使用动态链接库 6
1.3.3 构建C数据类型 8
1.3.4 按引用传参 9
1.3.5 定义结构体和联合体 9
第2章 调试器原理和设计 12
2.1 通用寄存器 13
2.2 栈 15
2.3 调试事件 17
2.4 断点 18
2.4.1 软断点 18
2.4.2 硬件断点 20
2.4.3 内存断点 22
第3章 构建自己的Windows调试器 24
3.1 Debugee,敢问你在何处 24
3.2 获取寄存器状态信息 33
3.2.1 线程枚举 34
3.2.2 功能整合 35
3.3 实现调试事件处理例程 39
3.4 无所不能的断点 44
3.4.1 软断点 44
3.4.2 硬件断点 49
3.4.3 内存断点 55
3.5 总结 59
第4章 PyDbg——Windows下的纯Python调试器 60
4.1 扩展断点处理例程 60
4.2 非法内存操作处理例程 63
4.3 进程快照 66
4.3.1 获取进程快照 67
4.3.2 汇总与整合 70
第5章 Immunity Debugger——两极世界的最佳选择 74
5.1 安装Immunity Debugger 74
5.2 Immunity Debugger 101 75
5.2.1 PyCommand命令 76
5.2.2 PyHooks 76
5.3 Exploit(漏洞利用程序)开发 78
5.3.1 搜寻exploit友好指令 78
5.3.2 “坏”字符过滤 80
5.3.3 绕过Windows 下的DEP机制 82
5.4 破除恶意软件中的反调试例程 87
5.4.1 IsDebuugerPresent 87
5.4.2 破除进程枚举例程 88
第6章 钩子的艺术 90
6.1 使用PyDbg部署软钩子 90
6.2 使用Immunity Debugger部署硬钩子 95
第7章 DLL注入与代码注入技术 101
7.1 创建远程线程 101
7.1.1 DLL注入 102
7.1.2 代码注入 105
7.2 遁入黑暗 108
7.2.1 文件隐藏 109
7.2.2 构建后门 110
7.2.3 使用py2exe编译Python代码 114
第8章 Fuzzing 117
8.1 几种常见的bug类型 118
8.1.1 缓冲区溢出 118
8.1.2 整数溢出 119
8.1.3 格式化串攻击 121
8.2 文件Fuzzer 122
8.3 后续改进策略 129
8.3.1 代码覆盖率 129
8.3.2 自动化静态分析 130
第9章 Sulley 131
9.1 安装Sulley 132
9.2 Sulley中的基本数据类型 132
9.2.1 字符串 133
9.2.2 分隔符 133
9.2.3 静态和随机数据类型 134
9.2.4 二进制数据 134
9.2.5 整数 134
9.2.6 块与组 135
9.3 行刺WarFTPD 136
9.3.1 FTP 101 137
9.3.2 创建FTP协议描述框架 138
9.3.3 Sulley会话 139
9.3.4 网络和进程监控 140
9.3.5 Fuzzing测试以及Sulley的Web界面 141
第10章 面向Windows驱动的Fuzzing测试技术 145
10.1 驱动通信基础 146
10.2 使用Immunity Debugger进行驱动级的Fuzzing测试 147
10.3 Driverlib——面向驱动的静态分析工具 151
10.3.1 寻找设备名称 152
10.3.2 寻找IOCTL分派例程 153
10.3.3 搜寻有效的IOCTL控制码 155
10.4 构建一个驱动Fuzzer 157
第11章 IDAPython——IDA PRO环境下的Python脚本编程 162
11.1 安装IDAPython 163
11.2 IDAPython函数 164
11.2.1 两个工具函数 164
11.2.2 段(Segment) 164
11.2.3 函数 165
11.2.4 交叉引用 166
11.2.5 调试器钩子 166
11.3 脚本实例 167
11.3.1 搜寻危险函数的交叉代码 168
11.3.2 函数覆盖检测 169
11.3.3 检测栈变量大小 171
第12章 PYEmu——脚本驱动式仿真器 174
12.1 安装PyEmu 174
12.2 PyEmu概览 175
12.2.1 PyCPU 175
12.2.2 PyMemory 176
12.2.3 PyEmu 176
12.2.4 指令执行 176
12.2.5 内存修改器与寄存器修改器 177
12.2.6 处理例程(Handler) 177
12.3 IDAPyEmu 182
12.3.1 函数仿真 184
12.3.2 PEPyEmu 187
12.3.3 可执行文件加壳器 188
12.3.4 UPX加壳器 188
12.3.5 利用PEPyEmu脱UPX壳 189
求教:黑客一般都是怎么攻击各种端口?
黑客常用端口(实际上每个端口黑客都会想办法利用的)
端口:102
服务:Message transfer agent(MTA)-X.400 over TCP/IP
说明:消息传输代理。
端口:113
服务:Authentication Service
说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。
端口:119
服务:Network News Transfer Protocol
说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
端口:135
服务:Location Service
说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX
111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point
mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point
mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange
Server吗?什么版本?还有些DOS攻击直接针对这个端口。
端口:137
说明:SQL Named Pipes encryption over other protocols name
lookup(其他协议名称查找上的SQL命名管道加密技术)和SQL RPC encryption over other protocols name
lookup(其他协议名称查找上的SQL RPC加密技术)和Wins NetBT name service(WINS NetBT名称服务)和Wins
Proxy都用这个端口。
端口:137、138、139
服务:NETBIOS Name Service
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS
Regisrtation也用它。
端口:143
服务:Interim Mail Access Protocol v2
说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。
端口:161
服务:SNMP (Simple Network Management Protocol) (简单网络管理协议)
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
端口:162
说明:SNMP Trap(SNMP陷阱)
端口:177
服务:X Display Manager Control Protocol
说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。
端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
端口:443
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
端口:445
说明:Common Internet File System(CIFS)(公共Internet文件系统)
端口:456
服务:[NULL]
说明:木马HACKERS PARADISE开放此端口。
端口:464
说明:Kerberos kpasswd(v5)。另外TCP的464端口也是这个用途。
端口:500
说明:Internet Key Exchange(IKE)(Internet密钥交换)
端口:513
服务:Login,remote login
说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。
端口:544
服务:[NULL]
说明:kerberos kshell
端口:548
服务:Macintosh,File Services(AFP/IP)
说明:Macintosh,文件服务。
端口:553
服务:CORBA IIOP (UDP)
说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。
端口:555
服务:DSF
说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。
端口:568
服务:Membership DPA
说明:成员资格 DPA。
端口:569
服务:Membership MSN
说明:成员资格 MSN。
端口:635
服务:mountd
说明:Linux的mountd
Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。
端口:636
服务:LDAP
说明:SSL(Secure Sockets layer)
端口:666
服务:Doom Id Software
说明:木马Attack FTP、Satanz Backdoor开放此端口
端口:993
服务:IMAP
说明:SSL(Secure Sockets layer)
TCP 7=Echo
TCP 20=FTP Data
TCP 21=Back Construction, Blade Runner, Doly Trojan, Fore, FTP trojan,
Invisible FTP, Larva, WebEx, WinCrash
TCP 23=Telnet, Tiny Telnet Server (= TTS)
TCP 25=SMTP, Ajan, Antigen, Email Password Sender, Happy 99, Kuang2,
ProMail trojan, Shtrilitz, Stealth, Tapiras, Terminator, WinPC, WinSpy
TCP 31=Agent 31, Hackers Paradise, Masters Paradise
TCP 41=DeepThroat
TCP 43=WHOIS
TCP 53=DNS,Bonk (DOS Exploit)
TCP 59=DMSetup
TCP 70=Gopher
TCP 79=Firehotcker, Finger
TCP 80=Http服务器, Executor, RingZero
TCP 99=Hidden Port
TCP 110=Pop3服务器, ProMail
TCP 113=Kazimas, Auther Idnet
TCP 119=Nntp, Happy 99
TCP 121=JammerKiller, Bo jammerkillah
TCP 137=NetBios-NS
TCP 138=NetBios-DGN
TCP 139=NetBios-SSN
TCP 143=IMAP
TCP 161=Snmp
TCP 162=Snmp-Trap
TCP 194=Irc
TCP 421=TCP Wrappers
TCP 456=Hackers paradise
TCP 531=Rasmin
TCP 555=Ini-Killer, Phase Zero, Stealth Spy
TCP 666=Attack FTP, Satanz Backdoor
TCP 808=RemoteControl
TCP 911=Dark Shadow
TCP 999=DeepThroat
TCP 1001=Silencer, WebEx
TCP 1010=Doly
TCP 1011=Doly
TCP 1012=Doly
TCP 1015=Doly
TCP 1024=NetSpy.698(YAI)
TCP 1025=NetSpy.698
TCP 1033=Netspy
TCP 1042=Bla
TCP 1045=Rasmin
TCP 1047=GateCrasher
TCP 1080=Wingate
TCP 1090=Xtreme, VDOLive
TCP 1170=Psyber Stream Server, Streaming Audio trojan
TCP 1234=Ultors
TCP 1243=BackDoor-G, SubSeven, SubSeven Apocalypse
TCP 1245=VooDoo Doll
TCP 1269=Mavericks Matrix
TCP 1492=FTP99CMP(BackOriffice.FTP)
TCP 1509=Psyber Streaming Server
TCP 1600=Shivka-Burka
TCP 1807=SpySender
TCP 1981=Shockrave
TCP 1999=BackDoor, TransScout
TCP 2001=TrojanCow
TCP 2023=Ripper, Pass Ripper
TCP2115=Bugs
TCP 2140=Deep Throat, The Invasor
TCP 2155=Illusion Mailer
TCP 2283=HVL Rat5
TCP2565=Striker
TCP 2583=WinCrash
TCP 2600=Digital RootBeer
TCP2801=Phineas Phucker
TCP3024=WinCrash trojan
TCP 3128=RingZero
TCP 3129=Masters Paradise
TCP 3150=Deep Throat, The Invasor
TCP 3210=SchoolBus
TCP 3459=Eclipse 2000
TCP 3700=Portal of Doom
TCP 3791=Eclypse
TCP 4000=腾讯OICQ客户端
TCP 4092=WinCrash
TCP 4321=BoBo
TCP 4567=File Nail
TCP 4590=ICQTrojan
TCP 5000=Bubbel, Back Door Setup, Sockets de Troie
TCP 5001=Back Door Setup, Sockets de Troie
TCP 5011=One of the Last Trojans (OOTLT)
TCP 5031=Firehotcker
TCP 5190=ICQ Query
TCP 5321=Firehotcker
TCP 5400=Blade Runner, BackConstruction1.2
TCP 5401=Blade Runner
TCP 5402=Blade Runner
TCP 5550=Xtcp
TCP 5555=ServeMe
TCP 5556=BO Facil
TCP 5557=BO Facil
TCP 5569=Robo-Hack
TCP 5631=PCAnyWhere data
TCP 5714=Wincrash3
TCP 5742=WinCrash
TCP 6400=The Thing
TCP 6667=NT Remote Control
TCP 6669=Vampyre
TCP 6670=DeepThroat
TCP 6711=SubSeven
TCP 6771=DeepThroat
TCP 6776=BackDoor-G, SubSeven
TCP 6883=DeltaSource
TCP 6912=Shit Heep
TCP 6939=Indoctrination
TCP 6969=GateCrasher, Priority, IRC 3
TCP 6970=GateCrasher
TCP 7000=Remote Grab
TCP 7300=NetMonitor
TCP 7301=NetMonitor
TCP 7306=NetMonitor
TCP 7307=NetMonitor, ProcSpy
TCP 7308=NetMonitor, X Spy
TCP 7323=Sygate服务器端
TCP 7626=冰河
TCP 7789=Back Door Setup, ICKiller
TCP 8000=XDMA, 腾讯OICQ服务器端
TCP 8010=Logfile
TCP 8080=WWW 代理, Ring Zero
TCP 9400=InCommand
TCP 9401=InCommand
TCP 9402=InCommand
TCP 9872=Portal of Doom
TCP 9873=Portal of Doom
TCP 9874=Portal of Doom
TCP 9875=Portal of Doom
TCP 9876=Cyber Attacker
TCP 9878=TransScout
TCP 9989=Ini-Killer
TCP 10101=BrainSpy
TCP 10167=Portal Of Doom
TCP 10520=Acid Shivers
TCP 10607=Coma trojan
TCP 11000=Senna Spy
TCP 11223=Progenic
TCP 12076=Gjamer, MSH.104b
TCP 12223=Hack?9 KeyLogger
TCP 12345=GabanBus, NetBus, Pie Bill Gates, X-bill
TCP 12346=GabanBus, NetBus, X-bill
TCP 12361=Whack-a-mole
TCP 12362=Whack-a-mole
TCP 12631=WhackJob
TCP 13000=Senna Spy
TCP 16969=Priority
TCP 17300=Kuang2 The Virus
TCP 20000=Millennium II (GrilFriend)
TCP 20001=Millennium II (GrilFriend)
TCP 20034=NetBus 2 Pro
TCP 20203=Logged
TCP 20331=Bla
TCP 21544=Schwindler 1.82, GirlFriend
TCP 22222=Prosiak
TCP 23456=Evil FTP, Ugly FTP, WhackJob
TCP 23476=Donald Dick
TCP 23477=Donald Dick
TCP 27374=Sub Seven 2.0+
TCP 29891=The Unexplained
TCP 30029=AOL trojan
TCP 30100=NetSphere 1.27a, NetSphere 1.31
TCP 30101=NetSphere 1.31, NetSphere 1.27a
TCP 30102=NetSphere 1.27a, NetSphere 1.31
TCP 30103=NetSphere 1.31
TCP 30303=Sockets de Troie
TCP 30999=Kuang2
TCP 31336=Bo Whack
TCP 31337=Baron Night, BO client, BO2, Bo Facil, BackFire, Back Orifice,
DeepBO
TCP 31339=NetSpy DK
TCP 31666=BOWhack
TCP 31785=Hack Attack
TCP 31787=Hack Attack
TCP 31789=Hack Attack
TCP 31791=Hack Attack
TCP 33333=Prosiak
TCP 33911=Spirit 2001a
TCP 34324=BigGluck, TN
TCP 40412=The Spy
TCP 40421=Agent 40421, Masters Paradise.96
TCP 40422=Masters Paradise
TCP 40423=Masters Paradise.97
TCP 40426=Masters Paradise
TCP 47878=BirdSpy2
TCP 50505=Sockets de Troie
TCP 50766=Fore, Schwindler
TCP 53001=Remote Windows Shutdown
TCP 54320=Back Orifice 2000
TCP 54321=School Bus .69-1.11
TCP 60000=Deep Throat
TCP 61466=Telecommando
TCP 65000=Devil
UDP 1349=BO dll
UDP 2989=RAT
UDP 3801=Eclypse
UDP 10067=Portal of Doom
UDP 10167=Portal of Doom
UDP 26274=Delta Source
UDP 29891=The Unexplained
UDP 31337=Baron Night, BO client, BO2, Bo Facil, BackFire, Back Orifice,
DeepBO
UDP 31338=Back Orifice, NetSpy DK, DeepBO
UDP 31789=Hack aTack
UDP 31791=Hack aTack
UDP 47262=Delta Source
UDP 54321=Back Orifice 2000
黑客常用软件以及方法
;bs=%BA%DA%BF%CD%B3%A3%D3%C3%B6%CB%BF%DAsr=z=cl=3f=8wd=%BA%DA%BF%CD%B3%A3%D3%C3%C8%ED%BC%FEct=0
python是什么语言
python的中文名称是蟒蛇。
Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初是用来编写自动化脚本的,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
Python特点主要有以下几个方面:
1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学:Python极其容易上手,因为Python有极其简单的说明文档。
3、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
4、免费、开源:Python是FLOSS之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
6、可移植性:由于它的开源本质,Python已经被移植在许多平台上。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、以及Google等基于linux开发的android平台。
7、解释性:一个用编译性语言比如C或C++写的程序可以从源文件转换到一个你的计算机使用的语言。这个过程通过编译器和不同的标记、选项完成。
扩展资料:
Python语言风格简介:
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
对于一个特定的问题,只要有一种最好的方法来解决就好。这在由Tim Peters写的Python格言里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言的中心思想TMTOWTDI完全相反。
Python的作者有意的设计限制性很强的语法,使得不好的编程习惯都不能通过编译。其中很重要的一项就是Python的缩进规则。
参考资料:Python-百度百科
0条大神的评论