python论文 浅谈我眼中的python.doc

上传人:灯火****19 文档编号:136791985 上传时间:2020-07-02 格式:DOC 页数:5 大小:24.50KB
返回 下载 相关 举报
python论文 浅谈我眼中的python.doc_第1页
第1页 / 共5页
python论文 浅谈我眼中的python.doc_第2页
第2页 / 共5页
python论文 浅谈我眼中的python.doc_第3页
第3页 / 共5页
python论文 浅谈我眼中的python.doc_第4页
第4页 / 共5页
python论文 浅谈我眼中的python.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《python论文 浅谈我眼中的python.doc》由会员分享,可在线阅读,更多相关《python论文 浅谈我眼中的python.doc(5页珍藏版)》请在金锄头文库上搜索。

1、 浅谈我眼中的python 吴凡 摘要: 作为一门非常有潜力的高级语言,python正在编程上发挥着越来越大的作用。这学期,通过对python基础知识的学习,对python有了一定的认识。同时和已经学习的高级语言C和C+有了一定的对比,以及笔者对未来python的学习方向。本文仅仅是个人的观点和看法,笔者水平有限,如有出错之处,敬请谅解。正文: 一、关于python编程的特点以及编程过程中的心得 python给我最初的印象便是简洁。所有的变量都不需要定义,想用就用,这给了编程者很大的自由空间。如a=3,即可同时完成变量的定义和赋值。对于简化程序的代码,起到了很大的作用! 库很多,博大精深。这样

2、形容python最恰当不过了。正因为其强大的库,让编程不再艰难。我们只需要调用库中的函数,而对于函数的具体实现,没有特殊需求,我们无需探究。这无疑是编码者的福音。 在字符串的处理上,我们在python中感受到了简单快捷的魅力。可以轻松分割任意一段字符串,如使用string0:3,就可以轻松地分割出string字符串中的三个字符。因为分割区间的任意性,字符串处理起来也就得心应手了。再如,对于两端字符串的叠加,可以轻松使用S1+S2来实现。在字符串的替换,迭代,以及大小写的转换上,都有相应的库函数用来方便地实现。 由于python输出机制自带换行机制,因此如不需要换行,要在语句的后面加上逗号,刚刚

3、编程时,有时会遇到问题。列表的使用方便了数据的批量处理。印象最深刻的就是list.reverse(),直接就可以将列表的数据逆置。字典,能够很好的处理任意长度、混合类型键值对的能力。在统计一段文章中的词频,和某段话中字母的频率时,很方便。配合相关的文件操作,可以对文本文件进行数据的统计。在函数的使用上,由于python简化了使用方法。在函数的定义上,不需要给出相应的数据类型,形参表很简明。在返回值的时候,也更加的灵活,具有很强的操作性。其它基本的使用方法与其它语言类似,这给编码者最快的速度适应这门语言。图形编程也是python的一大亮点。通过graphical库的使用,可以很方便的实现图形界面

4、的编程。最让我印象深刻的是在控制窗口的颜色函数setBackground(color)中,可以使用已有的颜色作为参数。也可以通过改变rgb(,)的参数进而实现各种新颜色的体现。写完这段程序,运行时,我很是激动。虽然技术含量并不是很高,但由于以前的编程完成后都是黑框框,这次可以得到炫彩的颜色也是非常高兴的。此外,在类的实现中。在定义构造函数的时候,两边的下划线是由两个组成,在编程时极易发生错误,从而造成程序报错,还很难发现。在定义各类函数的时候,程序的主要执行函数,如main(),要在程序末尾添加main(),否则程序无法运行。而且由于python简化了分号以及各类括号的使用,所以必须遵循严格的

5、格式对齐。格式的错乱会造成程序的严重问题,这就要求编码者能拥有好的习惯。而且,格式的对齐有利于增强程序的美观性,也便于自己和他人进行阅读。在各种包含类语句后,如for 语句,if语句,由于取消了大括号的存在,需要加上分号,否则程序出错。由于之前C编程的习惯,总是忘记加上分号和在语句的末尾不自觉的加上分号。但随着编程题目的增多,这一问题得到了显著的改善。2、 python和其它高级语言(C、C+)的一些区别(1)关于变量。在C、C+中,变量的使用需要提前定义。尤其在C语言中,变量必须集中在前面定义,这给编程带来了诸多的不便。虽然在C+中,变量可以随用随定义,但终究是程序员必做的一件事,当变量的使

6、用数量达到一定的量的时候,会造成某些程度上的不方便。Python让我们眼前一亮,想用就用,随心所欲,有了一种自由的感觉。此外,在变量的内存理解上,python,也有不同之处。在C中,变量在定义后,由系统分配相应大小的内存,从而进行变量的相关操作。而在后者,则有指针的味道,有指向值的感觉。在内存机制上,python语言与其它语言有着巨大的差别。(2) 关于循环的使用。在C/C+中,for循环拥有强大的功能,可以实现各类循环,几乎能满足所有程序的需求。但python在for循环上,却略显逊色,其功能不再那么强大。Python的for循环主要依靠关键词in来实现的。也正是因为这样,其具有特色性。此时

7、for循环可以有两种不同的实现方式。第一种便是单纯控制循环次数。比如 for i in range(10),此处控制循环进行10次,i仅仅起到控制次数的作用,这一作用与前者语言极为相似。第二中钟,也正是python所具有的特色。在类似于字符串的处理上,有for i in sting,此时的i具有遍历字符串的功能,对于底下循环语句的实现,有极大的方便。在其它的循环上,如while条件循环,等等,其用法笔者认为并没有太大的区别。 (3)关于字符串的处理。 Python对于字符串的处理给程序员带来了极大的便利。在之前的C系列编程中,只能用字符类数组对字符串进行相应的操作,步骤相对比较繁琐,而且在编程

8、的过程中极其容易出错。类似于char a的样式,在python中不复存在。在创建一个字符串的时候,用s=,即可完成一个空字符串的创建。接着将相应的内容进行添加的时候,直接用s=s+string,即可。在编写一个字符串逆序的函数的时候,我深有体会。受之前C语言的影响,笔者想用类似于指针的方式进行元素的交换。后来突然明白,直接新建立一个空字符串,在将原字符串从后面依次加入到新的空字符串中即可。简单的思维,简单的代码,就轻松的实现了同样的功能。笔者深深被python所打动。当然,如果使用字符串中的步进,将步进设置为-1,则可以更为轻松的实现字符串的逆序输出。在字符串内元素的提取上,python同样出

9、色。它提供两种下标的方法,一种是从开始到后面,依次为0,1,2.这与C/C+的数组是很相似的。还有就是,从最后往前,依次为-1,-2,-3.进行操作。其实单纯看这两种方式,你可能觉得这没什么意思。有意思的是这两种方法可以同时使用,同时出现。从前往后,从后往前,极其方便的对字符串甚至数组进行相关的操作。当然,字符串相应的一些库函数,其功能也是非常强大的,笔者在这里就不一一阐述了,书上的函数表清晰地展现了库函数的魅力。 (4)关于批量数据的处理。众所周知,在CC+中,对批量数据的处理,主要依靠的是相应的数组。比如定义int a5,char a5,double a5,等等,可以看到,在数组的定义时,

10、需要加上相应的数据类型,以及定义数组的长度。也正是由于这样,数组却显得有些死板,不够灵活。这是因为系统需要分配相应的空间给已经定义的数组,这是由其内存机制所决定的。因此,独特的内存机制造就了python强大的灵活性。之前的这些数组中只能存放单一数据类型,并且一般其长度是有限的。虽然动态数组可以解决这一问题,但使用起来不方便使得许多人望而却步,往往不能很好的使用动态数组进行操作。而对于链表的使用,笔者认为也不是很方便,至少我用起来感觉很是麻烦。宁愿使用大一点的数组进行数据的存放,浪费一点内存空间,我都不愿意使用动态数组或者是链表进行相应的操作。而在python的学习中,我看到了曙光。列表,一个崭

11、新的名词出现在我的眼前。直接使用,无需定义大小等等。笔者很是享受这样的过程,首先定义一个空的列表,接着利用其中的库函数append(),将数据进行末尾添加,从而实现一个数组的产生。当然,在这里说的数据已经不单单是一种类型的数据了,int,double,char,等等,都可以混杂在同一个列表中,此时的列表不再单一,而是一个各种数据都有的一个集合体。正是混杂,带来了灵活。在一些信息管理系统的编写上,这样的列表给程序员带来了福音!使用二维列表,每个成员对应一个列表,将其所有的信息进行相应的压缩,在调用的时候就显得很简单了。再加上下标可以灵活的使用,我们的管理系统就可以方便快捷的实现了!此外,在类型之

12、间的转换上,笔者也深有印象。你如一段字符串”Python is an excellent language”,通过split(),函数,就可以直接转换成一个列表。感觉真的好神奇。(5) 面向对象编程。 python语言是一种既支持面向过程又支持面向对象的程序设计语言。因此,面向对象的程序设计方法在python中也有着很好的体现。在C+中,对象是极其重要的,以对象为核心的程序是C+的主力军。类,是面向对象的具体表现。在前者语言中,类中主要包括private,public,protected,等成员类型,而python中则不需要明确指出。在构造函数上,前者语言用与类名相同的名字,分为无参数和有参数

13、的构造函数,并且系统也会提供相应的默认构造函数,当然是在编程者未提供相应构造函数的时候。在python中构造函数的定义形式为 def _init_(self, , ,),此处值得注意的是,下划线是由两个组成,容易造成编程者的忽视。这里的self可以当成this指针来理解。在C+中,类提供一个,默认的this指针,用于指向当前操作对象,从而有效地避免了各个对象之间的数据混乱。在python语言中,self具有相似的功能。构造函数在赋值的时候,以这样的形式进行赋值:self.name=name,当然这里前后的名字是可以不相同的。此外,在类对象的定义上,python也有所不同。具体形式为:objec

14、tstudent=Student(“zhang shan”,127,228)。C+中的主要形式:Student object(“zhang shan”,127,228),在python中是不适用的,笔者刚开始使用python进行类的编写时,以C+的形式,程序报错,无法运行,这可能与其类中构造函数的特殊性有关。在类中其它公有函数的定义上,形式参数表中仍然需要有self的出现。如,def getName(self):return self.name ,而在C+中,只需要直接写,无需参数。如,int getAge()return age;即可。因此在使用方法上,略显不同。3、 个人学习方向笔者对网络

15、比较感兴趣。说实话,算法确实很有用,是程序的核心,但我更喜欢具有直接实际意义的事物,因此我比较倾向于网络方面。而我感觉python在网络方面的应用是非常巨大的,其功能也是很强大的。目前我首先接触的是python的socket库。自我感觉是个很神奇的库。在打印设备名和IP4地址、获取远程设备的IP地址上,socket库提供了简单高效的操作。在打印设备名和IP4地址时,首先 import socket 语句导入python提供的一个核心网络库。然后调用两个工具函数,也就是其中的库函数:gethostname(), gethostbyname(host_name)。便可实现相应的功能。在获取远程设备的IP地址上,gethostbyname(host_name),同样适用。例如这样的一段代码:import socketdef get_remote_machine_info(): remote_host=www.python.org try: print IP address : %s%socket.gethostbyname(remote_host) except socket.error,error_msg: print %s: %s%(remote_host,error_msg)if _name_=_main_: get_rem

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号