admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:jdk8下载安装教程)

python教程:Python完全新手教程

疯狂代码 / ĵ:Python/

Python入门教程FROM:/taowen/articles/作者:taowen, billrice

Lesson 1 准备好学习Python环境

下载地址是:

linux版本我就不说了如果你能够使用linux并安装好介绍说明你可以切自己搞定

运行环境可以是linux或者是windows:

1、linux

redhatlinux安装上去的后定会有python(必须组件)在命令行中输入python回车这样就可以进入个

>>>提示符

2、windows

安装好了python的后在开始菜单里面找到Python2.3->IDLE运行也会进入个有

>>>提示符窗口

开始尝试Python

1、输入:

welcome = "Hello!"

回车

然后又回到了>>>

2、输入:

pr welcome

回车

然后就可以看到你自己输入问候了

Lesson 2 搞定环境的后前行

Python有个交互式命令行大家已经看到了吧所以可以比较方便学习和尝试不用“新建-存档-编译-调试”非

常适合快速尝试

开始从变量开始(其实说变量更准确是对象Python中什么都可以理解为对象)

变量

welcome = "hello!"

welcome就是变量名串就是变量类型hello!就是变量内容""表示这个变量是串""中间是串内容

熟悉其他语言人特别是编译类型语言觉得没有变量声明很奇怪在python中用赋值来表示我要这么个变量即使你

不知道要放什么内容只是要先弄个地方来放你东西也要这么写:

store = ""

不过这个还是介绍说明了store是串""缘故

have a try

tmp_storage = ""

welcome = "hello!"

tmp_storage = welcome

pr tmp_storage

你会发现同样问候出现了

串是用""标记但是用''也可以(不要说你看不出个是双引号个是单引号)两者的间是有丁点区别不过你可以不用理

会其实是差不多串有很多自己操作最常用是这样:

welcome = "hello"

you = "world!"

pr welcome+you

运行的后就会发现她输出了helloworld!

更多变量

变量还有几种类型

列表

字典

文件

勿庸置疑这些都是非常非常常用对于数字就不用讲了那就是:

radius = 10

pi = 3.14

area = pi*radius**2

pr "the area is", area

下次讲列表和字典

Lesson 3 Python中数学结构

数学中你学什么东西最多遍?我想根据我点浅薄经验(虽然我是数学系)学得最多是集合无论什么数学书都从集合

开始讲起然后讲呢又必然把映射再讲遍可以说集合和映射是数学中最基本结构了

Python对于数据结构非常明智内置了两个回想我写C往往是开始就是用struct拼个链表出来(重复劳动

)Python中提供了列表(list)和字典(dict)两种数据结构他们分别对应原型是集合和映射这个你应该明白了只是表

示思路方法有点不样而已

列表

列表英文名是list嘛所以我取个名字叫

my_list =

这个就产生了个空列表然后给它赋值

my_list = [1,2]

pr my_list

my_(3)

pr my_list

非常容易明白append前面加了个点这个表示append是my_list思路方法我实在不想又去给你解释什么是对象什

么是成员思路方法然后扯出大段出来

list是可以索引:

pr my_list[1]

不过你或许会不明白为什么是2而不是显示是1索引从0开始要输出第个元素:

pr my_list[0]

字典

contact = {}

这个产生了个空字典contact然后往里面填充内容:

contact={}

contact["name"]="taowen"

contact["phone"]=68942443

name就是你查字典时候要查找单词taowen就是查到内容不过你现在不是查而是在写这个字典同理添加了

phone这个词条

现在添加好了看看contact内容如何查看?自己想办法吧

如果你悟性够就会发现python很多操作是通用既然能够pr 1, pr "", pr my_list那么其他数据类型变量就没有理

由不能用了

结合列表和字典

contact_list=

contact1={}

contact1['name']='taowen'

contact1['phone']=68942443

contact_(contact1)

contact2={}

contact2['name']='god'

contact2['phone']=44448888

contact_(contact2)

呵呵够复杂吧你可以想出我为什么要用两个contact字典呢?

Lesson 4 用区别方式来操作Python

到现在为止我们用都是交互式命令行来操作却是很方便是吧?不过复杂些情况就不那么好使了来换种方式来操

作Python

在 IDLE中点击File->New Window出现个新窗口(对于linux下你要用vim或者emacs或者pico把文本源文件写

好了)为了方便先点击File-> Save填入my_这样能够让编辑器知道在编辑python源文件会把你输入代码进

行点上色处理

填入下面代码:

i = 5

n = 0

while i>0:

n = n + i

i = i - 1

pr n

你 会发现输入:的后自动会给缩进而且也没有在python中发现和C/C中类似{}标记也没有pascal中begin end;其

实缩进就是python中表示段代码从属关系标记思路方法表示n=n+1和i=i-1这两句都是while运行逻辑应该不用

解 释了吧就是运行5+4+3+2+1结果

运行代码

按F5可能提示你没有存盘照着办就是了

发挥你能力计算从1到10所有偶数和(提示可能没有你想象那么智能)

Lesson 5 Python中输入和判断

健全大凡都需要输入功能所以要学习下简单输入:

输 入要使用是raw_input或者input区别是raw_input直接把你输入作为串返回而input则在raw_input基础 上把

串转换为数字返回(如果你输入$@#$$如何办?自己试试看)我们就利用这两个输入来作些有趣事情

your_name = raw_input("please input your name:")

h = "welcome! %s" % your_name

pr h

不简单吧还有%呢%s表示在这个位置插入个串%表示把后面提供参数“推”入前面串中所以推结果是把%s推出

去了把your_name给填入那个地方了prf知道吧C中prf就是样嘛

inputed_num = 0

while 1:

inputed_num = input("input a number between 1 and 10 ")

inputed_num >= 10:

pass

el inputed_num < 1:

pass

:

pr "hehe, don't follow, won't out"

pass就是pass了过了嘛什么都不干了就是跳出这个while 1(无穷循环1总是真while总是执行)是换行不会全部忘

光了吧

Lesson 6 Python余兴节目

代码: [复制到剪贴板]

from Tker import *

root = Tk

w = Label(root, text="Hello, world!")

呵呵次太超前了点不过也不是解释不清楚我干脆也不解释了吧给大家增进点兴趣

---------

还是解释下

fromt Tker import *

是引入个模块这个模块用来创建GUI(Graphic User Interface)窗口

Tk创建了个主窗口

Label创建个标签

Label第个参数是root表明Label是在这个主窗口中

是指用缺省方式把Label放置在主窗口中

开始了个循环是等待你输入循环

Lesson 7 Python基本语法要素齐动员

现在目是尽量想出个用东西仅限于内置变量类型和语句个综合例子我想还是那个联系人表例子吧

################

#呵呵还忘记了讲注释

#第个算是完整

################

contact = {}

contact_list =

while 1:

contact['name'] = raw_input("please input name: ")

contact['phone'] = raw_input("please input phone number: ")

contact_()

go_on = raw_input("continue? ")

go_on "yes":

pass

el go_on "no":

:

pr "you didn't say no "

i = 1

for contact in contact_list:

pr "%d: name=%s" % (i, contact['name'])

pr "%d: phone=%s" % (i, contact['phone'])

i = i + 1

首先是回忆下串

串既能够用""也能够用''然后是很有特色%操作起到格式化串作用前面仅仅在串中有个%s现在有%d和%s两个分

别代表插入十进制数值和串于%x标记位置处

然后是列表

列 表是顺序序列用append在后面附加也能构用索引值索引所以我们完全可以用个变量保存len(contact_list)得

到长度然后 个个遍历不过这里展示了另外种非常方便思路方法而且值得注意是append中参数我使用了

你可以尝试着把 copy给去掉观察结果你就知道了所谓append是如何干了特别是你对指针的类东

西很有感觉话(但是在Python中是没有指针这个概 念)

再来看看字典

字典是键(key)和值(value)对应组合成无序序列所以你存时候要指明键(name或者phone)而且取时候也是样

接下来是判断

是很好用表示判断两个是否相等=表示把右边赋给左边而且可以直接判断串是否相等这个太方便了如果你曾经

用过strcpy 话就知道了el是表示 意思如果不满足就判断el条件是否满足最后是到中去

循环是个主体

while 和for都是循环不过这里while就没什么说了又是很经典while 1死循环然后必须在里面用来跳出for和C中

for是不样for in才是个完整语句指是从个能够逐取值序列中(比如list)个个取出值赋给for后面指定变量中直到取

空循环结束其实回 想般用C中for经历也大体如此而且你还可以用for i in range(1,100)来指定个范围从多少到

多少可以说for in充分体现了python体贴周到用起来很直观不会绕弯

接下来就是运行了大家慢慢调试吧下次可能是讲异常处理我觉得在深入到使用各种高级要素的前先要学会如何

去处理异常最常见异常应该是input然后你给出输入是个无法转换为数字串了那么我们就要来处理它

Lesson 8 Python中检测

写 什么最重要?完成功能最重要但是中难免要有用户输入对于这些写时候未可预知原因中间可能出现般称作异

常对于异常情况处 理区别语言有区别做法比如检查返回值的类但是那种办法会把代码弄成团浆糊Python在这个

方面是比较先进我们从个例子来看 看:

pr input

呵呵看区别吧其实input是输入pr是输出也就是把输入东西立即输出但是这个和

pr raw_input

有什么区别呢?

区别地方是input会在raw_input接收了“串”输入的后进行些处理比如你是输入1+2然后输出就是3了而

raw_input就是原原本本1+2输出了用代码表示就是

eval(raw_input)

eval是求表达式值任何个简单python表达式就像1+2这样作为串送入就能把值从eval处理的后取出来

现在你实验下"sdfsdf”的后你会发现提示你

引用:

Traceback (most recent call last):

File "", line 1, in -toplevel-

input

File "<>", line 0, in -toplevel-

NameError: name 'sdfsdf' is not d

如果输入其他稀奇古怪串还可能有其他出错提示我们现在要做就是捕捉这种由用户输入引起这么来作:

try:

pr input

except:

pr 'there is an error in your input'

这下你无论如何输入都不会有什么其他提示了就是自己设定pr语句作为提示现在把try except组合去掉回到pr

input你再尝试下:

1/0

这个显然是个被零除那么专门来捕捉下这个:

try:

pr input

except ZeroDivisionError:

pr 'can not be divided by zero'

这下你能够捕捉到被零除了然后你再尝试其他输入可能就没有被捕捉了所以再补上:

try:

pr input

except ZeroDivisionError:

pr 'can not be divided by zero'

except:

pr 'there is an error in your input'

注意捕捉所有except必须放在所有except最后位明白了?OK

还有更多能够捕捉自己查手册吧(暂时看不了手册没关系慢慢来嘛)以后还能够自己raise(引发)异常呢不过那都是

比较高级应用了对于出错处理从开始就有这个印象并牢记在心中对于以后写大些软件Software很有好处

2009-9-6 23:02:43

疯狂代码 /


本文标签: 输入 表示 变量 没有