关于Python(一、基础篇)

好久没有看Python了,最近常听人提起,于是又回去翻了翻,复习了一把。随意整理些小东西出来跟大家分享分享,有机会也欢迎感兴趣的朋友一起来聊聊。 记得当初刚开始接触Python的时候我还是一名刚从学校毕业的新晋员工,当时一心只想着跟个厉害的老大做C或者JAVA的开发,对Python是什么东 西完全不了解甚至不曾听说过,作为一个新人有气又不敢出只觉着被欺负了,于是就这么带着一肚子的委屈开始了一个关于软件工程管理系统的开发,同时也开启 python的探索之门。Python是一种相对很简单的脚本语言,对于一个新人来说,学习起来几乎没什么难度,只是当初可以参考的资料实在太少,就是英 文资料也是稀稀落落的残缺不齐的,现在再重新捡起来发现竟已是欣欣向荣了。

 

Python 的特色

       Python是一种支持面向对象的解释性高级语言,简单易学,是一种代表简单主义思想的语言。当然它简约却不简单,它有强大的标准库支持,只要安装了 Python,它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、FTP、电子邮件、WAV文件、密码系统、 GUI和其他与系统有关的操作,可以让我们在短时间之内实现你想要的程序。Python的代码密度很高,变量可以不声明就使用,弱类型特性灵活高效。它也 有很强的可扩展性与可嵌入性。可以轻松的将部分程序用C或C++编写,然后在你的Python程序中使用它们。或者你也可以把Python嵌入你的 C/C++程序,从而向你的程序用户提供脚本功能。然而Python采用严格的缩进方式来管理代码,写代码时要求程序员有良好的format意识,不过同 时它也提高了可读性,阅读一个良好的Python程序就感觉像是在读英语一样,读一段伪代码,使你能够专注于解决问题而不是去搞明白语言本身。总之,无论 你是一个资深的程序员,或是一个新新人类都能快速的上手,所以它也特别适用于快速的应用程序开发。

安装Python

Linux 和BSD用户: 测试你的Linux或BSD系统是否已经安装了Python,可以打开一个shell程序(就像konsole或gnome-terminal)输入如下所示的命令python -V

 

如果已经安装将会显示已安装Python的版本信息,否则将会提示“bash: python: command not found”,那么你可以通过系统附带的管理软件安装二进制包,类似于yum,或者pkg_add等,当然也可以直接下载二进制包或者从从源代码编译 Python然后安装。

windows 用户: 测试你的windows系统是否已经安装了Python,同样可以在命令提示窗口中输入如下所示的命令python -V

 

如果已经安装将会显示已安装Python的版本信息,否则将会提示“‘python’不是内部或外部命令,也不是可运行的程序或批处理文件”,那么可以下载Python-2.3.4.exe ,安装完成之后,在系统变量path中添加python的安装目录。

 

最简单的python运行脚本

我们可以使用IDLE(Python GUI)或使用源文件运行Python程序。

来个最简单也是大家最喜欢的hello world吧,呵呵。

 

也可通过VIM或者EMACS等编辑器编辑Python代码,以.py为扩展名,通过python helloWorld.py执行Python脚本。例如:

 

常用Python IDE

Python现在各类已经非常多了,Python自带的IDLE(Python GUI)用起来也挺不错的,或者一般linux用户也习惯于使用VIM或者EMACS编程,不过因为我一直偏重于JAVA的开发,所以再推荐一个 Python IDE:PyDev,这个对于用惯了Eclipse的人来说使用起来就相当的得心应手了。

Eclipse –> Help –>Install New SoftWare中添加下面这个站点,下载PyDev即可。http://update-production- pydev.s3.amazonaws.com/pydev/updates/site.xml

下载完成之后再配置一下Python解析器就可以创建Python工程,编写调试代码了。

   

  分享在做python项目过程中收藏的小贴士:

在做项目的过程中,我会习惯性的收集一些自己曾经犯过的小错误贴在自己的blog或者学习手册里面,很多时候这些小错误其实都很简单但可能就因为简单反而屡教不改。贴一些出来跟大家一起分享。

1、help

无论多么成熟优秀的程序员,在学习使用一门开发语言之初都应该先学如何快速查找帮助信息。要查找某个Python函数或语句的帮助信息,可以使用内 建的help功能。例如: help(’str’)将会显示str类的帮助信息,help(‘cPickle’) 将会显示cPickle类的帮助信息。

2、缩进

Python中行首的空白(空格和制表符)是重要的,逻辑行的缩进层次用来决定语句的分组,同一层次的语句必须有相同的缩进。每一组这样的语句称为 一个块。要严格使用制表符,2个空格或者4个空格,要想写出一手漂亮清晰的Python代码,对空白字符的使用一定要养成良好的习惯。例如:

正确:

 

错误:

 

3、Python中函数的可变参数

带*的参数就是用来接受可变数量参数的。例:

 

执行结果:

 

如果一个函数定义中的最后一个形参有**(双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数,例:

 

执行结果:

 

4、使用三引号(”’或”"”)

利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号。

 

5、Python重载

Python方法重载:大部分开发语言如JAVA对于方法重载主要是根据参数的类型或是数量不同来区分同名的方法。而Python则比较特殊,它本 身是动态语言,方法的参数是没有类型的,当调用传值的时候才确定参数的类型,故对参数类型不同的方法无需考虑重载。对参数数量不同的方法,大多情况下可以 采用参数默认值来实现。例:

 

Python运算符重载:在 Python中,每一个类都默认内置了所有可能的运算符方法,只要重写这个方法,就可以实现针对该运算符的重载。例:

 

6、转义符(\)和自然字符串

同JAVA等很多种开发语言中一样,\可以转义例如’,‘’这样的特殊字符,但是在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。例如:

 

如果你想要指示某些不需要如转义符4那样的特别处理的字符串,类似于<![CDATA[  ]]>,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。自然字符串在处理正则表达式的非常有用,否则会需要使用很多 的反斜杠,读起来很不舒服。例如:

7、含有0个或1个项目的元组

一个空的元组由一对空的圆括号组成,如myempty = ()。然而,含有单个元素的元组必须在第一个(唯一一个)项目后跟一个逗号,这样Python才能区分元组和表达式中一个带圆括号的对象。例:一个包含项目2的元组,singleton = (2 , )。

8、序列的引用与拷贝

 

 

注:shoplist[0:len(shoplist)-1]等价于shoplist[:],数字可以省,但是冒号不可省。

Python里对列表的使用千奇百怪,再看一个:

 

执行结果:

 

9、int类型

即便是整数也被作为对象(属于int类)。这和C++、Java不同,通过help(int)了解详情。

10、import..as

这是一种便利方法,以便于我们可以使用更短的模块名称。例如:

import cPickle as p

11、一些特殊方法

__init__(self,…):在对象刚被创建时调用,类似于构造函数。

__del__(self):对象要被释放时调用,类似于析构函数。

__str__(self):在对象使用print语句或是使用str()的时候调用,类似于JAVA中的toString()。

__getitem__(self,key):使用x[key]索引操作符的时候调用。

 

后记

       时间匆促,暂时先写这些较为基本的东西,接下来如果有时间跟大家分享一下Python的调试技巧以及python在web领域的一个比较流行的框架django。

      关于Python的一些参考文档,有兴趣的朋友可以旺我,跟我要。

VN:F [1.9.6_1107]
please wait...

关于Python(一、基础篇) , 8.8 out of 10 based on 4 ratings 转载务必注明出处Taobao QA Team

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值