关于ABAQUS的学习及总结

合集下载

Abaqus学习总结-1

Abaqus学习总结-1

Abaqus学习总结-1Abaqus6.14.1学习总结-11.裝好软件后,每次打开软件前应先运行许可证程序。

运行后点击start 服务器电脑开机后运行一次许可证程序,不关机就不用再启动。

启动许可证后再打开cae可视化后处理运行abaqus。

2.盈建科一维梁单元需要子程序,无法在abaqus中直接运行,但是在yjk中点击*.bat批处理后报错。

关键是要修改这个文件abaqus_v6.env,添加环境变量如图,再把文件拷贝到*.inp的计算目录下,计算顺利完成。

盈建科的子程序是已经由fortran语言编译好的dll 文件,有两个。

对不同的abaqus版本子程序是不同的,应该是对应的vst和Fortran版本不同编译出来的dll有差别。

3.查看计算结果是在result 里打开计算目录的obd 文件。

查看时注意只有step中的第一步和最后一步可以查看结构损伤。

只有云图才能查看损伤。

4.查看云图,没有数字,只有颜色。

查看symbol,则出现数值。

5.要查看数值,点击symbol右侧的图标。

弹出symbol plot option的对话框后点击display value6.生成显示组。

要关闭其中不想显示的内容,选择后点击remove就可以不显示。

点击部件,然后点击remove就可以关闭所有的东西。

想要重新打开,在菜单里重新显示plot一遍即可。

7.在云图中primary显示一维梁单元的弯矩图。

点击云图后选择SM1,点击ok,再点击右侧的opotion按钮,会出来对话框。

再点show tick marks for line element ,对于一维线单元显示tick marks8. 输出到文件9.通过下面这个数值可以调网格的尺子的疏密。

尺子的颜色与数值的对应关系可以点用户定义弹出的对话框中查到。

10,对result结果的file output 输出的变量的选择操作:11.显示模型的一些信息可以按以下操作。

abaqus个人学习笔记小结1

abaqus个人学习笔记小结1

1、abaqus中的力载荷集中力concentrated force、压强pressure(垂直于表面)、表面分布力surface traction (设定沿着某方向)pressure只能施加在面上(几何的面,单元的面),为垂直于表面的分布力;surface traction只能施加在面上(几何的面,单元的面),为沿着某一方向的分布力;concentrated force只能施加在点上(几何的点,节点),要使得集中力产生的效果等同于分布力,则需要将集中力施加在参考点上,然后将参考点与作用面上的节点进行耦合约束coupling(distributed coupling),而不要直接施加在节点上。

一般,如果不要求等效均布力,则集中力最好施加在几何的点上。

确实需要施加节点力,则施加在节点上。

对于有限元软件,所有的力载荷本质上都由程序处理成节点力。

2、abaqus计算热电耦合出现Too many attempts made for this increment(1)调整一下计算载荷施加的速度或者调整载荷大小,要么把计算步长设置的小一点,尝试次数设的多一点。

这个提示是说计算的过程中直到设定的尝试次数极限仍然求解失败。

(2)分析步主要有初始分析步和后续分析步,每个分析步可以用来描述一个分析过程,例如在后续分析步中施加不同荷载,在初始分析步中施加边界条件等。

增量步是在分析步里面根据模型计算收敛情况设置的,简单模型可以设置较少的增量步,并可使初始增量为1;复杂模型设置多一点增量步,并减少初始增量值。

超过设置的允许增量步数,则计算停止。

(3)检查模型,是否存在刚体位移,过约束,接触定义不当等问题(4)分别建立四个边界条件,BC-1,BC-2,BC-3,BC-4,每一个边界条件定义板的一边固结的支承条件就行了。

之前是建立了一个BC-1,四边的约束都定义在BC-1里面,就算不下去了,不清楚原因。

仅供参考学习。

(5)1.可以把初始增量步最小增量步调小,最大增量步的数目调大。

ABAQUS学习技巧总结

ABAQUS学习技巧总结

ABAQUS学习技巧总结1.学习软件基本操作:了解软件的界面布局和主要功能,掌握常用的菜单和工具栏命令。

可以通过阅读官方文档或者参考书籍,或者通过在线教程学习基础操作。

2.学习输入文件语法:ABAQUS是通过输入文件来定义模型和分析任务的,学习输入文件的语法和格式对于理解和修改模型是非常重要的。

可以通过查阅ABAQUS官方文档或者参考书籍来学习输入文件的语法规则。

3. 学习命令行操作:ABAQUS可以通过命令行进行一些常用操作,比如运行求解器、查看日志文件等。

掌握常用的命令行操作可以提高工作效率。

可以通过在命令提示符下输入“abaqus help”来查看命令行操作的帮助文档。

4.学习宏命令:宏命令是一种批处理脚本,可以自动化执行一系列操作。

学习宏命令可以提高工作效率,尤其是在进行重复性操作时。

可以通过学习宏命令的语法和编写技巧,自己编写一些常用的宏命令。

5. 学习Python脚本编程:ABAQUS支持Python脚本编程,可以通过编写Python脚本来扩展软件的功能。

学习Python脚本编程可以编写更复杂的宏命令,或者编写自己的特定功能的插件。

可以通过学习Python编程的相关书籍或者在线教程来学习Python编程技巧。

6.学习后处理技巧:ABAQUS提供了丰富的后处理功能,可以对分析结果进行可视化和分析。

学习后处理技巧可以帮助理解模型的行为,并对分析结果进行合理的解释和评估。

可以通过阅读ABAQUS官方文档或者参考书籍来学习后处理的相关知识。

7.学习错误处理技巧:在使用ABAQUS时,经常会遇到各种错误和警告信息。

学习错误处理技巧可以帮助快速定位和解决问题。

可以通过阅读ABAQUS官方文档或者参考书籍,或者在相关论坛上寻求帮助来学习错误处理技巧。

总之,学习ABAQUS需要不断实践和积累经验。

通过掌握基本操作、学习输入文件语法、掌握命令行操作、学习宏命令和Python脚本编程、学习后处理技巧和错误处理技巧等技能,可以提高对ABAQUS的理解和应用能力。

abaqus学习总结(一)

abaqus学习总结(一)

Abaqus小结(一)1、获取帮助文档里面的例题的inp文件,abaqus command:abaqus fetch job=…。

2、Abaqus模型需要包括的数据:离散的几何、单元截面属性、材料、载荷与边界条件、分析类型与输出设置。

3、潜在的刚体位移依赖与模型的维数:4、abq的输入文件被分为两部分。

第一部分包括所分析结构所有的模型数据,第二部分定义了模型的历史载荷数据,包括了按照结构的相应施加载荷的顺序。

5、Inp文件由数据块组成,每个数据块描述模型中的某一个部分。

数据块由关键字行和紧随随后的数据行组成。

关键字行由*开头,有时候数据块要求的参数太多超过了一行256个字节的限制,应该在行末加上一个逗号表示下一行是继续行。

数据行表示实数是不必要一定要保留小数点,这与Nastran有区别。

如果一个数据行只有一个值,末尾必须要加一个逗号。

6、Truss单元只有平动自由度,意味着truss单元没有转动方向的刚度。

只能承受拉力和压力。

只是输出轴向应力应变分量。

7、Data report是生成的当前显示的内容的结果,如果只需要在.RPT文件中显示部分模型的结果,可以通过display group 只显示感兴趣的模型部分。

8、第一个与第三个是相对于某一个step,第二个是相对于整个分析历程多个step。

10、.dat文件显示模型的信息,显示*node print、*el print的结果,.msg显示迭代信息,.sta 显示整个分析过程中载荷步和增量步的大体情况,explicit分析过程中大部分信息都显示在.sta中。

11、单元。

种类:实体、壳体、梁单元、刚性单元、薄膜单元、无限单元、弹簧与阻尼单元、truss单元等。

自由度。

节点数:阶数或者插值点。

单元公式:非协调单元,杂交单元等。

材料不能在单元中流动,材料在单元间流动,单元变动而材料不变(自适应网格)。

Integration,减缩与非减缩。

12、通常实体单元的输出变量是相对于总体笛卡尔坐标系的。

abaqus学习总结(二)

abaqus学习总结(二)

第十章1、延性材料的塑性材料的塑性行为由材料的屈服点和后屈服硬化来描述。

已屈服了的延性金属的弹性刚度会随着卸载而恢复。

通常材料的屈服极限会在发生了塑性变形后而提高:这种性质被称为工作硬化。

金属塑性的另外一个重要特性是,材料的非弹性变形部分是接近不可压缩的,在abaqus 真实应力与真实应变的输入中考虑了这种效果,这种效果会给在弹塑性模拟中单元的选取增加一定的限制。

描述材料的塑性行为的方法应该要不因实验试件的几何形状、加载方式(如压缩与拉伸)和应力应变的测量方式的不同而不同。

以此abaqus中采用真实应力应变来替代名义应力应变来描述材料的塑性行为。

2、由名义应力应变计算真实应力应变当时,压缩和拉伸中应变才会相同,因此:,其中l为目前的长度,l0为原始长度,ε为真实应变。

真实应力为:其中F为材料承受的力,A为当前面积。

延性计算在有限变形下,压缩与拉伸有着相同的真实应力应变曲线。

真实应力和名义应力通过考虑塑性变形的不可压缩特性而得出,并且假设弹性也是不可压缩的(对单元的选择有影响)。

其中与相等真实塑性应变的计算公式为:其中为真实应变,真实弹性应变,真实塑性应变,σ为真实应力,E弹性模量。

3、为了提高计算效率,Explicit计算中,abaqus会把材料数据规则化。

材料数据可以是温度、外场和内部状态变量,比如塑性变形的函数。

在计算过程中的每个状态材料性质必须通过差值法来得到,为了提高计算效率,abq/Explicit将原始输入曲线规则化为应变等距的曲线。

允许误差为3%,最大差值点为200个。

输入数据的最小间距相比应变范围来说太小,数据规则化会有困难,因此在输入的时候要注意这一点。

4、金属材料塑性变形的不可压缩性给弹塑性模拟中单元的选择造成了一定的限制条件。

材料的不可压缩性为给单元添加了动力学约束,单元积分点间的体积必须保持常数。

在某些类型的单元中这种不可压缩性可能使单元过约束。

二阶完全积分实体单元非常容易在模拟不可压缩材料是参数体积自锁,应该避免使用。

ABAQUS常用技巧归纳(图文并茂)知识分享

ABAQUS常用技巧归纳(图文并茂)知识分享

ABAQUS常⽤技巧归纳(图⽂并茂)知识分享ABAQUS学习总结1.ABAQUS中常⽤的单位制。

-(有⽤到密度的时候要特别注意)单位制错误会造成分析结果错误,甚⾄不收敛。

2.ABAQUS中的时间对于静⼒分析,时间没有实际意义(静⼒分析是长期累积的结果)。

对于动⼒分析,时间是有意义的,跟作⽤的时间相关。

3.更改⼯作路径4.对于ABAQUS/Standard分析,增⼤内存磁盘空间会⼤⼤缩短计算时间;对于ABAQUS/Explicit分析,⽣成的临时数据⼤部分是存储在内存中的关键数据,不写⼊磁盘,加快分析速度的主要⽅法是提⾼CPU的速度。

临时⽂件⼀般存储在磁盘⽐较⼤的盘符下提⾼虚拟内存5.壳单元被赋予厚度后,如何查看是否正确。

梁单元被赋予截⾯属性后,如休查看是否正确。

可以在VIEW的DISPLAY OPTION⾥⾯查看。

6.参考点对于离散刚体和解析刚体部件,参考点必须在PART模块⾥⾯定义。

⽽对于刚体约束,显⽰休约束,耦合约束可以在PART ,ASSEMBLY,INTERRACTION,LOAD等定义参考点.PART模块⾥⾯只能定义⼀个参考点,⽽其它的模块⾥⾯可以定义很多个参考点。

7.刚体部件(离散刚体和解析刚体),刚体约束,显⽰体约束离散刚体:可以是任意的形状,⽆需定义材料属性,要定义参考点,要划分⽹格。

解析刚体:只能是简单形状,⽆需定义材料属性,要定义参考点,不需要划分⽹格。

刚体约束的部件:要定义材料属性,要定义参考点,要划分⽹格。

显⽰体约束的部件:要定义材料属性,要定义参考点,不需要要划分⽹格(ABAQUS/CAE会⾃动为其要划分⽹格)。

刚体与变形体⽐较:刚体最⼤的优点是计算效率⾼,因为它在分析作业过程中不参与所在基于单元的计算,此外,在接触分析,如果主⾯是刚体的话,分析更容易收敛。

刚体约束和显⽰体约束与刚体部件的⽐较:刚体约束和显⽰体约束的优点是去除约束后,就可以⽴即变为变形体。

刚体约束与显⽰体约束的⽐较:刚体约束的部件会参与计算,⽽显⽰约束的部件不会参与计算,只是⽤于显⽰作⽤。

ABAQUS常用技巧归纳图文并茂

ABAQUS常用技巧归纳图文并茂

ABAQUS常用技巧归纳图文并茂ABAQUS常用技巧归纳一、背景介绍ABAQUS是一款广泛应用于工程领域的有限元分析软件,具备强大的功能和丰富的工具包,被工程师广泛使用。

然而,在使用ABAQUS的过程中,我们经常会遇到一些技巧和问题,本文将针对一些常见的ABAQUS技巧进行归纳总结,帮助读者更好地应用ABAQUS进行工程分析。

二、常用技巧1. 单元类型选择在使用ABAQUS进行有限元分析时,选择合适的单元类型是非常重要的。

根据具体的分析对象和问题类型,可以选择不同的单元类型,如线性单元、非线性单元或复合单元。

合理的单元选择可以提高计算效率和分析精度。

2. 网格划分优化合理的网格划分对计算结果的准确性和计算效率至关重要。

在ABAQUS中,提供了多个网格划分工具和算法,可以帮助用户进行网格优化。

例如,使用网格生成工具可以自动生成符合几何形状和尺寸要求的网格,使用网格划分工具可以调整网格的密度和精度。

3. 材料模型选择在ABAQUS中,提供了多种材料模型,用于描述材料的力学行为。

根据具体的分析对象和材料性质,可以选择合适的材料模型,如线性弹性模型、塑性模型或粘弹性模型。

合理的材料模型选择可以更好地模拟材料的本构行为。

4. 边界条件设置在有限元分析中,正确设置边界条件是保证结果准确性的关键。

在ABAQUS中,可以通过节点约束、荷载施加和接触定义等方式来设置边界条件。

应根据具体的分析问题和工况设置合理的边界条件,以确保计算结果的可靠性。

5. 后处理及结果分析ABAQUS提供了强大的后处理和结果分析功能,可以帮助用户深入理解计算结果。

通过后处理工具,可以对计算结果进行可视化分析、曲线绘制和云图展示等,帮助用户对结果进行全面的评估和解读。

6. 自定义脚本开发除了使用ABAQUS内置的工具和功能,用户还可以通过编写脚本来定制化分析过程。

ABAQUS支持Python脚本的开发和调用,用户可以利用脚本进行批处理、参数化分析和复杂算法实现等。

本人学习abaqus五年的经验总结,让你比做例子快十倍

本人学习abaqus五年的经验总结,让你比做例子快十倍

第二章 ABAQUS 基本使用方法[2](pp15)快捷键:Ctrl+Alt+左键来缩放模型;Ctrl+Alt+中键来平移模型;Ctrl+Alt+右键来旋转模型。

②(pp16)ABAQUS/CAE 不会自动保存模型数据,用户应当每隔一段时间自己保存模型以避免意外丢失。

[3](pp17)平面应力问题的截面属性类型是Solid(实心体)而不是Shell(壳)。

ABAQUS/CAE 推荐的建模方法是把整个数值模型(如材料、边界条件、载荷等)都直接定义在几何模型上。

载荷类型Pressure 的含义是单位面积上的力,正值表示压力,负值表示拉力。

[4](pp22)对于应力集中问题,使用二次单元可以提高应力结果的精度。

[5](pp23)Dismiss 和Cancel 按钮的作用都是关闭当前对话框,其区别在于:前者出现在包含只读数据的对话框中;后者出现在允许作出修改的对话框中,点击Cancel 按钮可关闭对话框,而不保存所修改的内容。

[6](pp26)每个模型中只能有一个装配件,它是由一个或多个实体组成的,所谓的“实体”(instance)是部件(part)在装配件中的一种映射,一个部件可以对应多个实体。

材料和截面属性定义在部件上,相互作用(interaction)、边界条件、载荷等定义在实体上,网格可以定义在部件上或实体上,对求解过程和输出结果的控制参数定义在整个模型上。

[7](pp26) ABAQUS/CAE 中的部件有两种:几何部件(native part)和网格部件(orphan mesh part)。

创建几何部件有两种方法:(1)使用Part 功能模块中的拉伸、旋转、扫掠、倒角和放样等特征来直接创建几何部件。

(2)导入已有的CAD 模型文件,方法是:点击主菜单File→Import→Part。

网格部件不包含特征,只包含节点、单元、面、集合的信息。

创建网格部件有三种方法:(1)导入ODB 文件中的网格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.非线性分析结构问题中存在着三种非线性来源:材料、几何和边界(接触)。

这些因素的任意组合都可以出现在ABAQUS的分析中;(1)几何非线性:发生在位移量值影响结构响应的情况下。

这包括大位移和转动效应、突然翻转和载荷硬化;(2)材料非线性:金属材料应变较大时产生屈服,材料响应变成非线性和不可逆的;橡胶材料也近似看成非线性的、可逆的(弹性)响应的材料;应变率相关的材料参数、材料失效都是材料非线性的表现方式;材料设定也可以是温度以及其他预先设定的场变量的函数;(3)边界非线性:边界条件随分析过程发生变化,就会产生边界非线性问题。

例如结构变形过程中碰到障碍;板材材料冲压入磨具的过程等都是边界非线性问题。

此外一大类问题接触问题也属于典型的边界非线性问题。

(4)ABAQUS非线性问题是利用牛顿-拉弗森方法(Newtown-Raphsion)来进行迭代求解的。

非线性问题比线性问题所需要的计算机资源要高许多倍;(5)非线性分析步被分为许多增量步。

ABAQUS通过迭代,在新的载荷增量结束时近似地达到静力学平衡。

ABAQUS在整个模拟计算中完全控制载荷的增量和收敛性;(6)状态文件(.sta)允许在分析运行时监控分析过程的进展。

(7)信息文件(.msg)包含了载荷增量和迭代过程的详细信息;(8)在每个增量步结束时可以保存计算结果(结果文件.odb),这样结构响应的演化就可以用ABAQUS/Post显示出来。

计算结果也可以用x-y图的形式绘出。

2.单元(1)单元族:单元名字里开始的字母标志着这种单元属于哪一个单元族。

C3D8I是实体单元;CPS4平面应力单元(二维实体单元);S4R是壳单元;B31梁单元;刚体单元;CINPE4是无限元;膜单元;特殊目的单元,例如弹簧,粘壶和质量;桁架单元。

(2)自由度dof(和单元族直接相关):每一节点处的平动和转动11方向的平动;22方向的平动;33方向的平动4绕1轴的转动;5绕2轴的转动;6绕3轴的转动7开口截面梁单元的翘曲;8声压或孔隙压力(3)轴对称单元:1r方向的平动;;2z方向的平动;6r-z方向的转动(4)节点数:决定单元插值的阶数(5)数学描述:定义单元行为的数学理论(6)积分:应用数值方法在每一单元的体积上对不同的变量进行积分。

大部分单元采用高斯积分方法计算单元内每一高斯点处的材料响应。

单元末尾用字母“R”识别减缩积分单元,否则是全积分单元。

3.常用单元介绍(1)实体单元:实体单元可在其任何表面与其他单元连接起来。

C3D:三维单元;CAX:无扭曲轴对称单元,模拟360的环,用于分析受轴对称载荷作用,具有轴对称几何形状的结构;CPE:平面应变单元,假定离面应变ε33为零,用力模拟厚结构;CPS:平面应力单元,假定离面应力σ33为零,用力模拟薄结构;如果不需要模拟非常大的应变或进行一个复杂的,改变接触条件的问题,则应采用二次减缩积分单元(CAX8R,CPE8R,CPS8R,C3D20R);如果存在应力集中,则应在局部采用二次完全积分单元(CAX8,CPE8,CPS8,C3D20等)。

对含有非常大的网格扭曲模拟(大应变分析),采用细网格划分的线性减缩积分单元(CAX4R,CPE4R,CPS4R,C3D8R等);对接触问题采用线性减缩积分单元或非协调元(CAX4I,CPE4I,CPS4I,C3D8I)的细网格划分。

(2)壳单元:可以模拟有一维尺寸(厚度)远小于另外两维尺寸,且垂直于厚度方向的应力可以忽略的结构。

一般壳单元:S4R,S3R,SAX1,SAX2,SAX2T。

对于薄壳和厚壳问题的应用均有效,且考虑了有限薄膜应变;薄壳单元:STRI3,STRI35,STRI65,S4R5,S8R5,S9R5,SAXA。

强化了基尔霍夫条件,即:垂直于壳中截面的平面保持垂直于中截面;厚壳单元:S8R,S8RT。

二阶四边形单元,在小应变和载荷使计算结果沿壳的跨度方向上平缓变化的情况下,比普通单元产生的结果更精确;(3)梁单元:模拟一维尺寸(长度)远大于另外二维尺寸的构件,且只有长度方向上的应力比较显著。

对于包含接触的任何模拟,应使用一阶、剪切变形的梁单元(B21,B31)如果结构刚度非常大或者非常柔软,在几何非线性模拟中应当使用杂交梁单元(B21H,B32H,等)使用欧拉-伯努利(三次)梁单元(B23,B33)精度很高,可模拟承受分布载荷作用的梁,例如动态振动分析。

如果横向剪切变形也很重要,要使用铁摩辛柯(二次型)梁单元(B22,B32)模拟有开口薄壁横截面的结构,应当使用考虑了开口截面翘曲理论的梁单元(B31OS,B32OS)(4)桁架单元(T)只能承受拉伸和压缩载荷的杆,不能承受弯曲,模拟铰接框架结构,近似模拟线缆和弹簧。

(5)刚体单元(R)没有独立的自由度。

4python语言“同50年前有限元方法出现的时代相比,现在有了大量有效的计算力学软件。

既然已经有了大家公认的很多优秀分析平台,研究者不应再奋力去开发具有竞争力的新软件了,而应当把精力放在基于这些平台进行二次开发的层面上。

从科学技术共同体的角度去思考,这应当是如今计算力学软件研发的最佳策略。

”4.1简介(1)是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。

这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。

目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

(2)“Python语言的创始人为Guido van Rossum。

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。

之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python 的飞行马戏团的爱好者。

”(3)最大优点是简单易学,其语法不想其它编程语言那样复杂,阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!它使你能够专注于解决问题而不是去搞明白语言本身。

4.2其它优点免费、开源————Python是FLOSS(自由/开放源码软件)之一。

简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

FLOSS是基于一个团体分享知识的概念。

这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。

如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。

这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux 开发的android平台!解释性————这一点需要一些解释。

一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。

这个过程通过编译器和不同的标记、选项完成。

当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。

而Python语言写的程序不需要编译成二进制代码。

你可以直接从源代码运行程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。

由于你只需要把你的Python 程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

面向对象————Python既支持面向过程的编程也支持面向对象的编程。

在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。

在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

丰富的库————Python标准库确实很庞大。

它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

记住,只要安装了Python,所有这些功能都是可用的。

这被称作Python的“功能齐全”理念。

除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

概括————Python确实是一种十分精彩又强大的语言。

它合理地结合了高性能与使得编写程序简单有趣的特色。

规范的代码————Python采用强制缩进的方式使得代码具有极佳的可读性。

4.3缺点强制缩进这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。

即便是很有经验的Python程序员,也可能陷入陷阱当中。

最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

单行语句和命令行输出问题很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。

而perl 和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

(对很多用户而言这也不算是限制)NO.1运行速度,有速度要求的话,用C++改写关键部分吧。

NO.2国内市场较小(国内以python来做主要开发的,目前只有一些web2.0公司)。

但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

No.3中文资料匮乏(好的python中文资料屈指可数)。

相关文档
最新文档