Python 程序设计快速入门教学.docx

上传人:b****5 文档编号:7281143 上传时间:2023-05-11 格式:DOCX 页数:11 大小:24.14KB
下载 相关 举报
Python 程序设计快速入门教学.docx_第1页
第1页 / 共11页
Python 程序设计快速入门教学.docx_第2页
第2页 / 共11页
Python 程序设计快速入门教学.docx_第3页
第3页 / 共11页
Python 程序设计快速入门教学.docx_第4页
第4页 / 共11页
Python 程序设计快速入门教学.docx_第5页
第5页 / 共11页
Python 程序设计快速入门教学.docx_第6页
第6页 / 共11页
Python 程序设计快速入门教学.docx_第7页
第7页 / 共11页
Python 程序设计快速入门教学.docx_第8页
第8页 / 共11页
Python 程序设计快速入门教学.docx_第9页
第9页 / 共11页
Python 程序设计快速入门教学.docx_第10页
第10页 / 共11页
Python 程序设计快速入门教学.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Python 程序设计快速入门教学.docx

《Python 程序设计快速入门教学.docx》由会员分享,可在线阅读,更多相关《Python 程序设计快速入门教学.docx(11页珍藏版)》请在冰点文库上搜索。

Python 程序设计快速入门教学.docx

Python程序设计快速入门教学

Python程序设计快速入门教学

Python的中文意思是巨蟒,大蟒蛇。

∙快速Python语言入门教学,课程,课件,教材,自学,概念

o计算机编程主要概念

▪基本编程

▪定义函数

▪循环(loop)

oPython数据概念

▪列表(list)

▪元组(tuple)

▪字典(dict)

▪集合(set)

▪模块(module)

▪类(class)

▪字符串的对象性质

oPython程序员编程习惯

o参考资料

计算机编程主要概念#

计算机语言编程的主要内容就这些:

数字,文字,循环,公式,变量

∙数字:

1,2,3,5.6,120,32.4,3.1415926,-3,-0.123

∙文字:

你好,我好,你太牛了,很黄很暴力,这类的文字。

一般用双引号(“)或者单引号(‘)括起来。

术语叫字符串 ,就是一堆字符,串起来。

∙循环:

循环(loop)就是重复的做一件事。

计算机是一个很笨的机器,基本上只会做加,减,乘,除,大于,小于,等于和循环这种简单的工作。

编程就是把复杂的问题,拆成简单的单元让它重复。

幸亏有下面讲到的公式,所以很多较复杂的问题已经有了解决方法,我们只是重复的套用别人的解决公式就可以了,不用拆得太细。

Python语言最大的优势,就是这个语言中包含了大量解决常见问题的公式,你想干的事,基本上都有人帮你干了,你只是需要把他们组织,捆绑起来就可以了。

比如下载文件的公式,分析网页内容的公式,压缩文件的公式,处理电子邮件的公式等等。

∙公式:

就像数学公式(a+b)2=a2 +2ab+b2 这种。

算的时候带入具体数值,比如:

(3+4)2 =32 +2*3*4+42 =9+24+16=49。

前面的(a+b)2 就是我们的公式名(当然编程时,我们会用一些比较容易明白的词组做为公式名,比如“和的平方”这种,英语或者拼音都可以),他需要两个参数a,b;后面的a2 +2ab+b2 是具体怎么算出来的步骤,这就是我们的公式内容。

在计算机里,公式的术语叫“函数”或者“方法”。

我们定义一个函数,就是定义一条公式,用的时候,拿来参数a,b什么的,套一下公式就行了。

为了程序的结构清晰,我们往往会定义很多函数。

把复杂的问题分成很多小问题,每个小问题放到一个函数里,然后在解决复杂问题的函数里,使用这些小问题函数解决大问题。

更重要的是我们可以大量的使用别人写好的函数来解决自己的问题。

函数的作用是让程序结构清晰,而且可以在不同的地方重复套用。

∙变量:

就是上面的a,b这种可以代表任何值,可以放进不定值的单词,变量,变量,它代表的量可能会改变。

我们用变量来存储我们程序中用到的各种数字,文字,公式。

所谓参数,就是定义公式时候用到的变量,就叫参数,换个马甲而已。

换成术语,我们有:

数字(number)

=>

数字

字符串(string)

=>

文字

循环(loop)

=>

循环

函数/方法(function/method)

=>

公式

变量(variable)

=>

变量

到这里,基本上编程就没什么可学得了。

剩下的就是掌握各种编程语言特定的函数和循环的书写格式,再掌握了别人已经写好的函数的用法,组合起来就得了。

基本编程#

最基本的Python程序:

print("世界,你好!

")

存到文件hello.py里,然后命令行下输入 python hello.py 就可以看到结果了。

这里就用到了函数和字符串,在屏幕上输出一行:

世界,你好!

Python里函数的用法是:

函数名(参数1,参数2)

这里print是函数;在屏幕上打印内容,”世界,你好!

”是参数,套print这个公式用的。

学会怎么用函数了,再学会定义函数的格式,就差不多了。

Python里注释符号是”#”。

就是说,在#符号后的那一行文字,都当做解释,不做为程序的命令。

print("打酱油!

")#print("关我屁事")

只打印出“打酱油”,剩下的,因为是在#后面,所以程序把他们当做注释语言自动忽略了。

定义函数#

defa_b_pingfang(a,b):

c=a**2+2*a*b+b**2

returnc

我们定义一个(a+b)2的函数,def是英语define的缩写,意思是定义函数,定义公式。

第1行就是说我们要定义一个函数名叫a_b_pingfang的函数,用它的时候,需要两个参数a和b。

尾巴上有个冒号,冒号的意思是说:

“下面的一段话就是公式定义了,要注意了”。

计算机编程里,* 代表乘法,/代表除法,** 代表乘方, b**2 就是b的二次方。

注意:

 Python是用 缩进空格 来表示段落的,冒号(:

)来表示段落开始。

第2行先缩进4个空格,说明下面缩进4格的,都是同一段落,用来具体计算上面定义的公式的。

把a2+2*a*b+b2的计算结果,放到c里。

c类似于a,b,都是表示一个变量,它可以用来存放数字,文字,甚至函数。

这里它存放的是用a,b计算后得到的结果。

因为不是在函数名里,所以术语叫做“变量”,用在函数名里,就叫参数了。

“变量”就是用一个单词来代表一个可以变化的量的。

单词里可以有字母,数字和下加线(_),数字不能打头。

第3行,把存在c里的结果,传回给函数的使用者。

return命令的意思,就是立即结束函数的执行,把return后面的值传给调用者,可以传回多个值。

现在可以使用这个公式了,我们把套公式叫调用函数 :

ping2=a_b_pingfang(2,3)

ping2里存放了a_b_pingfang(2,3)得到的结果,也就是上面 returnc 这句,把c的内容,传给了外面的ping2。

把结果打印出来:

print(ping2)

全部程序就是:

defa_b_pingfang(a,b):

c=a**2+2*a*b+b**2

returnc

ping2=a_b_pingfang(2,3)

print(ping2)

存到test2.py,跑Pythontest2.py就可以看到输出25。

循环(loop)#

当然还有循环,怎么让程序重复的做事?

我们有while(当…),for(对于…)命令来进行循环控制。

a=0

whilea<100:

a=a+1

printa

这个循环说,当a<100的时候,把a增加1,再把它打印出来,然后重复。

当a等于100了,条件不符合了,就结束了。

我们有<,>,==,<=,>=,!

=来判断大于,小于,等于,小于等于,大于等于,不等于。

还有 and(并且), or(或者), not(不是)来进行逻辑运算,所谓逻辑运算,就是测试多个不同判断之间的关系的:

(a==1)and(b!

=2) 来测试这两个判断是否同时成立:

a等于1并且b不等于2。

 (a==1)or(b!

=2) 来测试这两个判断里是否有至少一个成立:

a等于1或者b不等于2。

 nota==1 来测试这个判断是否是错的。

错的就是对的,对的就是错的,颠倒黑白:

不是a等于1,那就是a不等于1了,好像有点脱裤子放屁。

其实在别的更复杂的判断组合里更有用些。

我们还有break(中断)来打断循环,和continue(继续)来立刻回到循环开始,也可以用if(如果)命令来进行判断:

a=0

whileTrue:

a=a+1

ifa>=100:

break

printa

这里True(正确)表示永远正确,相对的是False(错误)表示永远错误。

这一段是说一直执行,因为while的条件总是正确,就是说“当符合总是正确的条件的时候,不断重复”,当然是永远正确,永远重复了。

下面在if处判断如果a大于等于100,如果是,那么执行if下的段落,这里我们打断了循环。

如果条件不符,就跳过if下面的小段落,该干嘛干嘛,具体到这里就是打印a然后继续执行循环。

for循环是利用下面介绍的的列表数据结构对列表进行循环。

Python数据概念#

下面具体说到Python特异功能,它有几个特殊的存储数据的格式。

∙列表:

list

∙元组:

tuple

∙字典:

dict(dictionary)

∙集合:

set

列表(list)#

列表:

把很多变量存进一个列表里,叫列的意思,就因为他像列车一样,一节一节车厢,每厢放一个变量。

格式为b,c,1,3,5,‘葡萄’,‘葡萄皮儿’,可以看到,方括号里,可以放具体的数字,文字,也可以放变量,用逗号分隔。

这些内容是在固定位置上,可以通过他们的位置,来提取:

alist=[1,3,5,'很傻','葡萄','葡萄皮儿',a,var1]

print(alist[0])#打印1

print(alist[3])#打印"很傻"

在Python里,次序是从0开始数的,开始是0,然后是1,2,3,4,5,所以上面的列表alist的第一个内容,可以用alist[0]来提取,第二个用alist[1]来提取。

就像年龄一样,一生下来是零岁,一年以后才是一岁,不是中国传统那样,生下来就一岁,那是虚岁。

蟒蛇语言它只认准确的东西,不玩儿虚的。

print(alist[4])#打印'葡萄'

这里,我们可以介绍用for循环来访问这个列表里的所有内容:

formeinalist:

print(me)

上面这一段,打印所有alist里的内容。

这个循环是,对于列表alist,从0位置开始,访问它的每一个位置,把这个位置上的值,放到me里,然后针对不同的me值,重复执行下面段落的内容。

in 表示me在alist里,也可以用来判断:

if"葡萄"inalist:

print"葡萄在alist里!

"

列表的内容是可以改变的,我们可以把第4个位置设为”很天真”:

alist[3]=alist[3]+'很天真'

print(alist[3])#打印'很傻很天真'

下面说道的元组的内容就不能改变了。

元组(tuple)#

元组:

元组就是列表,但是他的内容是不能改变的,用圆括号()来表示。

他的内容只能一开始就设定。

但是,元组和列表之间是可以用函数互相转变的,转成列表就可以改变内容,转回元组就不能改了。

元组是用圆括号来表示,所以叫元组嘛。

atuple=(2,3,"老子")

alist=list(atuple)#变成[2,3,"老子"]

alist[0]=0

tuple2=tuple(alist)#变回(0,3,"老子")

在Python里,字符串也是一种特殊的元组,也就是内容不可变的字符列表。

txt='abcdefg'

print(txt[1])#打印b

字典(dict)#

字典:

字典就像一般的字典,一个字,一个解释,再一个字,再一个解释。

用大括号表示:

adict={1:

"我是解释",

2:

"我是解释2",

"我是3":

3,

"我是4":

4

}

前面的字叫钥匙(key)或者索引,后面的解释,叫”值”。

索引不能重复,必须是唯一的。

我们可以看到,前面的字,和后面的解释可以是数字,文字,还可以是函数或者元组。

但是前面的字,不能是列表,因为列表内容是可变的,可变的东西都不能做索引。

我们用索引来提取,设定或者增加值,而不是用位置:

adict[1]#"我是解释"

adict["我是3"]#3

adict[1]=2#设定新的值

adict["新索引"]="没头脑和不高兴"#增加一个新索引和值

集合(set)#

集合:

集合就是数学上用的集合,把一堆东西放到一起,类似列表,不同的地方是内容不重复,而且也没有次序。

aset=set([1,2,3,2,4,6])#去掉重复内容,所以是1,2,3,4,6

可以看出,建立一个集合的方式,是使用set()函数,函数的参数可以是列表,或者元祖,反正是一串儿的都可以。

集合的用处是利用他内容不可重复的特性,来去掉重复的内容。

至于其他的合集,交集也是这个特性的延伸。

集合也是可以变成列表的,利用list()函数。

alist=list(aset)#内容[1,2,3,4,6]

模块(module)#

Python里包涵了很多别人写好的函数、方法让我们直接利用。

譬如写网络程序的函数,数学计算的函数,分析电邮文件的函数,加密的函数。

我们要做的就是套公式!

这些函数分门别类的放到叫“模块”的东西里。

一个模块里,包括很多功能相类的函数。

而具体实现上,一个模块,就是一个Python的程序文件。

如果模块还需要细分更多层,那么每层就是一个文件目录。

里面有很多做为模块的Python文件。

要使用模块,我们用“进口”这个命令:

import

importtime

now=time.clock()

print(now)

这里,我们先进口time模块,然后使用time模块里的函数clock(),得到当前时间,打印出来。

用个英文句点表示模块time里的clock函数:

模块名.函数名

在Python里,我们会用到很多别人写的模块,能自己少写点儿源码,尽量少写,懒不是?

类(class)#

其实编程来说,类并不是必须的,但是因为很多Python提供的模块,里面的函数都是包在类里面的,所以我们需要介绍一下类。

面向对象编程,是现在比较流行的编程方式,是个人都得用“面像对象”的思路来编程,来显得自己跟得上形式。

其实面对对象并不是必须的,光棍并不可耻。

类就是种类的意思。

基本上面对对象就是把同类的函数,变量打包放到一个包袱里,这个包袱就叫“类”。

挺土气是吧?

其实面对对象也并不就一定时髦,也可以俗不可耐,就看你包袱打的怎么样了。

这个“类”一般上是以具体的东西为模板,譬如物种:

人类,猫类;物品:

家俱类,电器类。

他里面打包的函数,基本上是针对这个类进行操作的,譬如人说话,人吃饭,人的鼻子人的嘴,猫逮耗子,家居磨损。

使用类的时候,我们先具体化他,把种类变成个体。

人类变成某人,猫类变成某猫,家俱变成某件家俱。

这个具体化的类,就是所谓的“对象(object)”。

然后我们就可以使用这个具体人,猫,家居的函数,针对具体的人,物进行操作了,所谓操作对象。

定义类#

classRenLei:

def__init__(self,mingzi):

#self是一个固定参数名,代表这个对象自己。

self.mingzi=mingzi#把名字存到对象自己的mingzi变量上。

defshui2(self):

#谁函数

returnself.mingzi

上面的例子,一开始就要求给这个对象一个名字。

在类的定义里,每一个函数,他的第一个参数,都是规定死的,必须是self。

self代表这个对象自己。

在对象内部,这个对像本身的变量,函数,都是通过这个self来存取的。

在调用类里的函数时,不用提供self这个参数,程序自动提供self,让我们使用它其他的函数,变量。

我们只要提供其他参数即可。

__init__() 这个函数是一个特殊的函数,他代表从类具体化到对象的时候,需要套用的公式。

通过类建立对象的时候,程序会自动调用 __init__()函数。

所以它叫做初始化函数。

建立对象的时候,有什么一开始的要求,都可以通过它来指定,比如要求“脚不大好头发没有麻子”。

当然如果没有初始要求,也可以不定义这个函数,那么程序就不会自动调用它了。

具体化类,建立对象#

#建立对象,提供的函数对应__init__()函数,self这个参数程序会自动提供,不用我们提供。

xiaozhang1=RenLei("小张")

mingzi=xiaozhang1.shui2()#使用“对象名.函数名()”的格式来调用类里的函数。

printmingzi<--"小张"

字符串的对象性质#

Python里的字符串,列表,元组,字典,它们本身都是面对对象的类,所以带有很多函数可以对自己进行操作,譬如:

a="脚不大好头发没有麻子".split()

split是字符串这个类的函数,他可以把字符串在给定位置分割,当我们不给他参数的时候,会在所有空白位置分割,然后返回一个列表,里面是被割裂的字符串。

结果,a的内容是 ["脚不大好","头发没有","麻子"],这是一个有3个元素的列表。

对于字符串,列表,字典之类的操作,请熟读说明手册对他们的说明,Python编程,主要就靠字符串,列表和字典了。

Python程序员编程习惯#

重中之重:

大量的使用list这个列表方式来存储、操作数据。

一字长蛇阵是蟒蛇的绝招,多用没错。

写一个Python程序,我们一般的步骤是:

1.进口所有会用到到模块import

2.定义我们自己的类和函数。

对于每个函数里要用到的函数,被调用的函数一般放在调用函数的前面定义。

这样我们读程序的时候,如果从上到下,就知道调用的函数,在前面是怎么定义的,有什么功能,需要什么参数,返回什么值。

3.在文件的最下面,调用上面定义的函数和类,开始工作。

4.命令行的选项是通过sys.argv这个列表得到的。

5.尽量使用Python提供的内建函数和模块里的函数,所以我们对Python的模块说明手册要很熟悉。

Python运行,是从文件的上面往下走的,看到一条命令执行一条命令,一直到最后一行。

当我们定义函数和类的时候,他们只是定义,而没有执行,所以Python看到他们,先存起来,直到看到定义外的具体命令,才真正的执行。

如果这个命令调用上面的函数,那么就把存起来的函数执行一下。

完整例子:

把一个两列的文件input.txt,分割成两个文件col1.txt,col2.txt,一个文件一列。

input.txt内容:

a1啊阿

ai1挨埃哀

ao2熬鳌翱獒

程序内容:

defsplit_file(filename):

#把文件分成两列

col1=[]#存储第一列

col2=[]

fd=open(filename)#open函数用来打开文件,返回一个文件对象

text=fd.read()#fd.read读入文件fd的内容。

lines=text.splitlines()#把读入的内容分行

forlineinlines:

#循环每一行

part=line.split(None,1)#分割一行。

col1.append(part[0])#把分割的第一部分放到col1后面。

col2.append(part[1])

returncol1,col2#返回col1,col2

defwrite_list(filename,alist):

#把文字列表内容写入文件

fd=open(filename,'w')#打开输出文件col1.txt,'w'指定使用写入模式。

forlineinalist:

fd.write(line+'\n')

defmain():

#主函数,程序进入点,习惯性叫他main()

filename='input.txt'#把输入文件名input.txt放进一个变量

col1,col2=split_file(filename)#调用分割函数,结果存入col1,col2

write_list('col1.txt',col1)#调用写入函数

write_list('col2.txt',col2)

main()#唯一的函数外命令,程序开始执行,调用上面的main()函数数。

这里,输入的文件名是写死的input.txt,我们可以使用模块optparse来通过命令行读取用户提供的文件,会更灵活些,那些就是你研究过optparse以后的事了。

参考资料

更多的功能,函数,请参考Python的官方教学和手册。

先熟悉:

∙内建函数

∙内建数据类型(字符串,数字,列表,字典,文件对象)

∙sys模块

∙re模块

∙os模块

∙optparse模块

熟悉这些,基本上编程没问题了。

深入Python是一本经典的参考书,虽然没有涵盖所有Python模块的内容,但是对初学者基本够用。

而且它是一个自由文件,说俗了就是合法免费的,又有中文翻译版,难得。

也可以参考 Python绝对简明手册这个中文说明。

如果需要网络编程,还要熟悉网络相关的模块,urllib2,socket,xml.etree.elementtree。

如果想要图形界面,建议使用pygtk或者pyqt图形界面函数库,这时候,也需要熟悉面对对象编程的概念。

对于英文不好的人,建议买一本有Python函数模块介绍的中文书,作为参考书,在编程的时候,边编边翻书。

Python的中文意思是巨蟒,大蟒蛇。

但是这个语言的具体出处是一个叫MontyPython的英国电视剧。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2