干货Python3 入门教程 简单但比较不错.docx

上传人:b****7 文档编号:24024724 上传时间:2023-05-23 格式:DOCX 页数:11 大小:18.44KB
下载 相关 举报
干货Python3 入门教程 简单但比较不错.docx_第1页
第1页 / 共11页
干货Python3 入门教程 简单但比较不错.docx_第2页
第2页 / 共11页
干货Python3 入门教程 简单但比较不错.docx_第3页
第3页 / 共11页
干货Python3 入门教程 简单但比较不错.docx_第4页
第4页 / 共11页
干货Python3 入门教程 简单但比较不错.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

干货Python3 入门教程 简单但比较不错.docx

《干货Python3 入门教程 简单但比较不错.docx》由会员分享,可在线阅读,更多相关《干货Python3 入门教程 简单但比较不错.docx(11页珍藏版)》请在冰豆网上搜索。

干货Python3 入门教程 简单但比较不错.docx

干货Python3入门教程简单但比较不错

Python已经是3.1版本了,与时俱进更新教程.2.5或2.6请看上一篇文章。

本文适合有Java编程经验的程序员快速熟悉Python 

本文程序在windowsxp+python3.1a1测试通过. 

本文提到的idle指pythonshell,即安装python后你在菜单看到的IDLE(pythongui) 

在idle里ctrl+n可以打开一个新窗口,输入源码后ctrl+s可以保存,f5运行程序. 

凡打开新窗口即指ctrl+n的操作. 

1你好 

复制代码代码如下:

#打开新窗口,输入:

 

#!

/usr/bin/python 

#-*-coding:

utf8-*- 

s1=input("Inputyourname:

") 

print("你好,%s"%s1) 

''' 

知识点:

 

*input("某字符串")函数:

显示"某字符串",并等待用户输入. 

*print()函数:

如何打印. 

*如何应用中文 

*如何用多行注释 

''' 

2字符串和数字 

但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下:

 

复制代码代码如下:

#!

/usr/bin/python 

a=2 

b="test" 

c=a+b 

运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换 

复制代码代码如下:

#!

/usr/bin/python 

#运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换 

a=2 

b="test" 

c=str(a)+b 

d="1111" 

e=a+int(d) 

#Howtoprintmultiplyvalues 

print("cis%s,eis%i"%(c,e)) 

''' 

知识点:

 

*用int和str函数将字符串和数字进行转换 

*打印以#开头,而不是习惯的// 

*打印多个参数的方式 

''' 

3列表 

复制代码代码如下:

#!

/usr/bin/python 

#-*-coding:

utf8-*- 

#列表类似Javascript的数组,方便易用 

#定义元组 

word=['a','b','c','d','e','f','g'] 

#如何通过索引访问元组里的元素 

a=word[2] 

print("ais:

"+a) 

b=word[1:

3] 

print("bis:

") 

print(b)#index1and2elementsofword. 

c=word[:

2] 

print("cis:

") 

print(c)#index0and1elementsofword. 

d=word[0:

print("dis:

") 

print(d)#Allelementsofword. 

#元组可以合并 

e=word[:

2]+word[2:

print("eis:

") 

print(e)#Allelementsofword. 

f=word[-1] 

print("fis:

") 

print(f)#Thelastelementsofword. 

g=word[-4:

-2] 

print("gis:

") 

print(g)#index3and4elementsofword. 

h=word[-2:

print("his:

") 

print(h)#Thelasttwoelements. 

i=word[:

-2] 

print("iis:

") 

print(i)#Everythingexceptthelasttwocharacters 

l=len(word) 

print("Lengthofwordis:

"+str(l)) 

print("Addsnewelement") 

word.append('h') 

print(word) 

#删除元素 

delword[0] 

print(word) 

delword[1:

3] 

print(word) 

''' 

知识点:

 

*列表长度是动态的,可任意添加删除元素. 

*用索引可以很方便访问元素,甚至返回一个子列表 

*更多方法请参考Python的文档 

''' 

4字典 

复制代码代码如下:

#!

/usr/bin/python 

x={'a':

'aaa','b':

'bbb','c':

12} 

print(x['a']) 

print(x['b']) 

print(x['c']) 

forkeyinx:

 

print("Keyis%sandvalueis%s"%(key,x[key])) 

''' 

知识点:

 

*将他当Java的Map来用即可. 

''' 

5字符串 

比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧. 

复制代码代码如下:

#!

/usr/bin/python 

word="abcdefg" 

a=word[2] 

print("ais:

"+a) 

b=word[1:

3] 

print("bis:

"+b)#index1and2elementsofword. 

c=word[:

2] 

print("cis:

"+c)#index0and1elementsofword. 

d=word[0:

print("dis:

"+d)#Allelementsofword. 

e=word[:

2]+word[2:

print("eis:

"+e)#Allelementsofword. 

f=word[-1] 

print("fis:

"+f)#Thelastelementsofword. 

g=word[-4:

-2] 

print("gis:

"+g)#index3and4elementsofword. 

h=word[-2:

print("his:

"+h)#Thelasttwoelements. 

i=word[:

-2] 

print("iis:

"+i)#Everythingexceptthelasttwocharacters 

l=len(word) 

print("Lengthofwordis:

"+str(l)) 

中文和英文的字符串长度是否一样?

 

复制代码代码如下:

#!

/usr/bin/python 

#-*-coding:

utf8-*- 

s=input("输入你的中文名,按回车继续"); 

print("你的名字是:

"+s) 

l=len(s) 

print("你中文名字的长度是:

"+str(l)) 

知识点:

 

类似Java,在python3里所有字符串都是unicode,所以长度一致. 

6条件和循环语句 

复制代码代码如下:

#!

/usr/bin/python 

#条件和循环语句 

x=int(input("Pleaseenteraninteger:

")) 

ifx<0:

 

x=0 

print("Negativechangedtozero") 

elifx==0:

 

print("Zero") 

else:

 

print("More") 

#LoopsList 

a=['cat','window','defenestrate'] 

forxina:

 

print(x,len(x)) 

#知识点:

 

#*条件和循环语句 

#*如何得到控制台输入 

7函数 

复制代码代码如下:

#!

/usr/bin/python 

#-*-coding:

utf8-*- 

defsum(a,b):

 

returna+b 

func=sum 

r=func(5,6) 

print(r) 

#提供默认值 

defadd(a,b=2):

 

returna+b 

r=add

(1) 

print(r) 

r=add(1,5) 

print(r) 

一个好用的函数 

#!

/usr/bin/python 

#-*-coding:

utf8-*- 

#Therange()function 

a=range(1,10) 

foriina:

 

print(i) 

a=range(-2,-11,-3)#The3rdparameterstandsforstep 

foriina:

 

print(i) 

知识点:

 

Python不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰. 

定义函数方便简单 

方便好用的range函数 

8异常处理 

复制代码代码如下:

#!

/usr/bin/python 

s=input("Inputyourage:

") 

ifs=="":

 

raiseException("Inputmustnobeempty.") 

try:

 

i=int(s) 

exceptExceptionaserr:

 

print(err) 

finally:

#Cleanupaction 

print("Goodbye!

") 

9文件处理 

对比Java,python的文本处理再次让人感动 

复制代码代码如下:

#!

/usr/bin/python 

spath="D:

/download/baa.txt" 

f=open(spath,"w")#Opensfileforwriting.Createsthisfiledoesn'texist. 

f.write("Firstline1.\n") 

f.writelines("Firstline2.") 

f.close() 

f=open(spath,"r")#Opensfileforreading 

forlineinf:

 

print("每一行的数据是:

%s"%line) 

f.close() 

知识点:

 

open的参数:

r表示读,w写数据,在写之前先清空文件内容,a打开并附加内容. 

打开文件之后记得关闭 

10类和继承 

复制代码代码如下:

classBase:

 

def__init__(self):

 

self.data=[] 

defadd(self,x):

 

self.data.append(x) 

defaddtwice(self,x):

 

self.add(x) 

self.add(x) 

#ChildextendsBase 

classChild(Base):

 

defplus(self,a,b):

 

returna+b 

oChild=Child() 

oChild.add("str1") 

print(oChild.data) 

print(oChild.plus(2,3)) 

''' 

知识点:

 

*self:

类似Java的this参数 

''' 

11包机制

 

每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:

 

复制代码代码如下:

#a.py 

defadd_func(a,b):

 

returna+b 

#b.py 

fromaimportadd_func#Alsocanbe:

importa 

print("Importadd_funcfrommodulea") 

print("Resultof1plus2is:

") 

print(add_func(1,2))#Ifusing"importa",thenhereshouldbe"a.add_func" 

module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个modulea.py.如何让Python知道这个文件层次结构?

很简单,每个目录都放一个名为_init_.py的文件.该文件内容可以为空.这个层次结构如下所示:

 

parent 

--__init_.py 

--child 

--__init_.py 

--a.py 

b.py 

那么Python如何找到我们定义的module?

在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:

 

importsys 

print(sys.path) 

通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path中:

 

复制代码代码如下:

importsys 

importos 

sys.path.append(os.getcwd()+'\\parent\\child') 

print(sys.path) 

fromaimportadd_func 

print(sys.path) 

print("Importadd_funcfrommodulea") 

print("Resultof1plus2is:

") 

print(add_func(1,2)) 

知识点:

 

如何定义模块和包 

如何将模块路径添加到系统路径,以便python找到它们 

如何得到当前路径 

12内建帮助手册 

对比C++,Java的突出进步是内建Javadoc机制,程序员可以通过阅读Javadoc了解函数用法.Python也内建了一些方便函数以便程序员参考. 

dir函数:

查看某个类/对象的方法.如果有某个方法想不起来,请敲dir.在idle里,试试dir(list) 

help函数:

详细的类/对象介绍.在idle里,试试help(list)

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

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1