1.Python程序设计-Python语言介绍与入门_第1页
1.Python程序设计-Python语言介绍与入门_第2页
1.Python程序设计-Python语言介绍与入门_第3页
1.Python程序设计-Python语言介绍与入门_第4页
1.Python程序设计-Python语言介绍与入门_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序设计

主讲人:张华

Python面世1989年,GuidovanRossum在阿姆斯特丹完成,第一个公开版发行于1991年。Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承使用Python作为语言的名字,因为是英国幽默剧团:"MontyPython飞行马戏团"的fansABC是由Guido参加设计的一种教学语言非常优美和强大,是专门为非专业程序员设计的Python面世目前Guido在Google,主要从事GAE/Python3.x方面的研究创始人:吉多·范罗苏姆

GuidovanRossumPython面世Python2.0于2000年10月16日发布,主要是实现了完整的垃圾回收,并且支持Unicode。Python3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。目前使用最广泛的版本是2.7,最新的版本是3.3.5(2014.3.13)Python哲学Python哲学用过Python的人,基本上都知道在交互式解释器中输入importthis就会显示TimPeters的TheZenofPython(蟒之禅)。TheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simpleisbetterthancomplex.Complexisbetterthancomplicated.Flatisbetterthannested.Sparseisbetterthandense.Readabilitycounts.Specialcasesaren'tspecialenoughtobreaktherules.Althoughpracticalitybeatspurity.Errorsshouldneverpasssilently.Unlessexplicitlysilenced.Inthefaceofambiguity,refusethetemptationtoguess.Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch.Nowisbetterthannever.Althoughneverisoftenbetterthan*right*now.Iftheimplementationishardtoexplain,it'sabadidea.Iftheimplementationiseasytoexplain,itmaybeagoodidea.Namespacesareonehonkinggreatidea--let'sdomoreofthose!翻译与解释Python之禅byTimPeters优美胜于丑陋(Python以编写优美的代码为目标)明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)可读性很重要(优美的代码是可读的)即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)当存在多种可能,不要尝试去猜测而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)虽然这并不容易,因为你不是Python之父(这里的Dutch是指Guido)做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)Python的特色容易上手提供交互式环境语法简洁高级数据结构简洁地表达复杂的操作语句组织依赖于缩进参数或变量不需要声明火力强大易学但不简单,从桌面程序,到网络互联,图形处理,科学计算,实时控制,到处都有Python的身影跨平台的(Windows,Unix,Macantoshi)面向对象Python的特色快速开发Python内建的高层次数据结构,以及动态类型和动态邦定,非常适合于快速应用开发Python语法强调可读性,降低了程序的维护费用Python支持模块和包,并鼓励程序模块化和代码重用。高效运行Python可以编译执行,其运行效率接近C语言的运行速度,相同功能的代码运行速度约为C的90%,而同时Java的运行速度却只能达到C的50%。Python的特色丰富的库Python标准库已经很庞大。可帮你处理各种工作:正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。Python开源、免费,在“百花齐放”式地发展中,已经产生大量的高质量库,如wxPython、Twisted、Pygame、matplotlib、scipy等等Python的特色可扩展、可嵌入如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能解释性python程序不需要编译成二进制代码,可以直接从源代码运行程序。使得Python程序更加易于移植。Python解释器Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现Python语法的解释程序就成为Python的解释器

CPython(ClassicPython,最原始python的实现,需要区别于其他实现的时候才以CPython称呼;或用C语言实现的的python)Jython(Java语言实现的Python)Ironpython(面向.NET和ECMACLI的Python实现)PyPy(使用Python语言写的Python)Zhpy(支持繁/简中文语句编写程序的Python语言)谁在用python?典型几个国外公司谁在用python?典型几个国内公司谁在用python?豆瓣新浪SAE(SinaAppEngine)开始支持python了搜狐邮箱基于web.py游戏公司开发环境IDLE:Python内置IDE(随python安装包提供)PyCharm:由著名的JetBrains公司开发,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发,推荐!Ulipad:功能较全的自由软件,基于wxPython;作者是中国Python高手limodou,推荐!开发环境Eclipse+pydev–收费的Eric:基于PyQt的自由软件,功能强大。全名是:TheEricPythonIDEPyScripter:使用Delphi开发的轻量级的开源PythonIDE其它编辑器UltraEdit,notepad++,editplus…Python安装官网/下载核心python-2.7.6.msi推荐!python-3.3.5.msi常用第三方库下载Pythonpackageindex(pypi):

/pypinumpy、scipy科学计算matplotlib二维、三维画图pygame游戏开发wxpython图形用户界面开发djangoweb开发scikit-learn数据挖掘交互式shell如何运行程序编写源文件Python源文件是以.py为后缀的文本文件可以用任何编辑文本的软件进行编写,如记事本,UltraEdit,EditPlus等也可以使用专业的python开发环境编写,如IDLE,ulipad,pycharm等运行源文件如编写名为“hi.py”的python源文件,内容为“print“helloworld!””直接在编辑器(开发环境)中执行命令行形式:pythonhi.py语法入门知识变量使用前不用类型声明在使用过程中类型可以变化标识符命名规则:必须有字母(大小写)、数字、下划线组成,但首字符必须是字母或下划线

例如,_abc,abc,abc_1为合法标识符,而1_abc,abc$,@#!为不合法标识符标识符大小写敏感

例如,Abc与abc不是一个标识符标识符不能为Python保留字

importmatha=1printaa=‘hello’printa+””+”world!”a=math.sqrt(10)printaPython保留字:and

elif

if

pass

else

import

print

asassert

except

in

raise

break

exec

is

return

class

finally

lambda

try

continue

for

while

nonlocal(in3.0)def

from

not

withdel

global

or

yield语法入门知识表达式2+3,1000000000000000000000+12+3*5,3**52/3,2/3.0,5//4.5“hello”+‘world’字符串“Hello”与‘Hello’等价‘hello’*3,‘hello’+‘hi’语法入门知识懒人的python:能少敲就少敲点句子一般不用分号结束缩进代替C语言中的花括号{}(有点霸道!但对养成良好的编程习惯有很大帮助,程序结构变得很清晰),因此行首的空白是有意义的用“#”开始的行作为注释#test.pyusingpythona=1ifa==1: printa/*test.cusingC*/#include<stdio.h>voidmain(){inta;a=1;if(a==1) printf(“%d”,a);}语法入门知识强悍的数据结构之列表list:最常用,灵活,功能强用中括号[]表示a=[1,2,3,4]a=[1,2,3.4,’a’,’hello’]a=[[1,2],[3,4]][1,2]+[3,4]+[‘a’,’b’]用下标法引用一个元素若a=[1,2,3,4],与C语言相同,下标从0开始,a[0]的值为1,a[3]为4,a[-1]为4用切片法引用子列若a=[1,2,3,4],那么a[0:2]为列表[1,2],a[1:-1]为列表[2,3]语法入门知识强悍的数据结构之字符串用单引号或双引号括起来的一组字符‘a’,“a”,’helo‘“a”+”hello”用下标法获取其中字符若a=“string”,a[0]为字符’s’,a[5]为字符’g’,a[-1]为字符’g’用切片法截取子串若a=“string”,a[0:3]为子串“str”,a[1:-1]为子串”trin”语法入门知识逻辑表达式

C语言&&||!Pythonandornot语法入门知识选择语句if***:

******if***:

******

else:

******if***:

******

elif***:

******

else:

******a=1ifa==1: print“hello”elifa>1: print“hi”else: print“byebye”a=1ifa==1: print“hello”a=1ifa==1: print“hello”else: print“byebye”语法入门知识选择语句条件表达式C语言版本:x=A?B:Cpython版本:x=BifAelseC语法入门知识循环结构forxin***:

********while***:

********forxin[1,2,3]: printxn=5printrange(n)forxinrange(n): printxforxin[1,2,3]: foryin“abcd”: printy*xi=10whilei>=1: printi**2 i-=1语法入门知识函数def语句定义调用def

函数名(形式参数表): 函数体函数名(实际参数表)语法入门知识函数分类有参函数无参函数有返回值函数无返回值函数什么都不做的函数python语法的几个显著特征变量类型动态、无需声明、随时定义行首缩进表示语句块没有指针,数据结构功能强大没有switch选择语句,没有do***while循环结构函数随时随地可以定义,定义中形参无需类型声明,任何类型数据都可以成为参数,返回值类型无需声明,函数返回值可以是一个整数、一个字符串、一个列表自学python恭喜,你已经学会了python;接下去,你完全可以自学成pythoner啄木鸟社区

/简明python教程

/abyteofpython_cn/chinese/DiveIntoPython中文版/diveintopython/toc/index.htmlElias的python学习资料/Python/HomePagePython

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论