知识点Python.docx
- 文档编号:2950538
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:46.39KB
知识点Python.docx
《知识点Python.docx》由会员分享,可在线阅读,更多相关《知识点Python.docx(13页珍藏版)》请在冰豆网上搜索。
知识点Python
深入Python流程控制
1.if语句
>>>
>>>x=int(raw_input("Pleaseenteraninteger:
"))
Pleaseenteraninteger:
40
>>>ifx<0:
x=0
print'Negativechangedtozero'
elifx==0:
print'Zero'
elifx==1:
print'Single'
else:
print'More'
More
>>>
可能会有零到多个elif部分,else是可选的
关键字elif是“elseif”的缩写,这个可以有效避免过深的缩进
if...elif...elif...序列用于替代其它语言中的switch或case语句
2.for语句
Python的for语句依据任意序列(链表或字符串)中的子项
按它们在序列中的顺序来进行迭代
>>>words={'liuyi','renjia','xingqian','yangjin'}
>>>forxinwords:
printx,len(x)
liuyi5
renjia6
xingqian8
yangjin7
>>>
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)
如果想修改迭代的序列(例如:
复制选择项),可以迭代它的复本使用切割标识就可以很方便地做到这一点
3.range函数
一个数值序列,内置函数range()很方便,它会生成一个等差级数链表:
>>>range(10)
[0,1,2,3,4,5,6,7,8,9]
>>>
range(10)生成了一个包含10个值的链表,它用链表的索引值填充了这个长度为10的列表所生成的链表中不包括范围中的结束值。
也可让range操作从另一个数值开始或者可以指定一个不同的步进值(甚至是负数,也被称为“步长”):
>>>range(5,10)
[5,6,7,8,9]
>>>range(0,10,5)
[0,5]
>>>range(0,10,3)
[0,3,6,9]
>>>range(-3,-5,-10)
[-3]
>>>
需要迭代链表索引的话,如下所示结合使用range()和len():
例1)
>>>
>>>x='iplaypython'
>>>foriinx:
printi,
iplaypython
>>>range(len(x))
[0,1,2,3,4,5,6,7,8,9,10]
>>>len(x)
11
>>>foriinrange(len(x)):
printx[i]'
SyntaxError:
EOLwhilescanningstringliteral
>>>foriinrange(len(x)):
printx[i],
iplaypython
>>>
例2)
>>>a=['Mary','had','a','little','lamb']
>>>foriinrange(len(a)):
printi,a[i],
0Mary1had2a3little4lamb
>>>
4.break和continue语句,以及循环中的else子句
break用于跳出最近的一级for或while循环
循环可以有一个else子句;它在循环迭代完整个列表(对于for)后或执行条件为false(对于while)时执行,但循环被break中止的情况下不会执行以下搜索素数的示例程序演示该子句:
例1)
>>>forninrange(2,10):
forxinrange(2,n):
ifn%x==0:
printn,'equals',x,'*',n/x
break
else:
printn,'isaprimenumber'
4equals2*2
6equals2*3
8equals2*4
9equals3*3
9isaprimenumber
例2)
>>>forninrange(2,10):
forxinrange(2,n):
ifn%x==0:
printn,'equals',x,'*',n/x
break
else:
printn,'isaprimenumber'
2isaprimenumber
3isaprimenumber
4equals2*2
5isaprimenumber
6equals2*3
7isaprimenumber
8equals2*4
9equals3*3
>>>
(看仔细:
else语句是属于for循环之中,不是if语句。
)
与循环一起使用时,else子句与try语句的else子句比与if语句的具有更多的共同点:
try语句的else子句在未出现异常时运行,循环的else子句在未出现break时运行。
更多关于try语句和异常的内容,请参见异常处理。
continue语句是从C中借鉴来的,它表示循环继续执行下一次迭代:
>>>fornuminrange(2,10)
SyntaxError:
invalidsyntax
>>>fornuminrange(2,10):
ifnum%2==0:
print"Foundanevennumber",num
continue
print"Foundanumber",num
Foundanevennumber2
Foundanumber3
Foundanevennumber4
Foundanumber5
Foundanevennumber6
Foundanumber7
Foundanevennumber8
Foundanumber9
>>>
5.pass语句什么也不做;它用于那些语法上必须要有什么语句,但程序什么也不做的场合,例如:
>>>whileTrue:
...pass#Busy-waitforkeyboardinterrupt(Ctrl+C)
...
这通常用于创建最小结构的类:
>>>classMyEmptyClass:
...pass
...
pass可以在创建新代码时用来做函数或控制体的占位符。
可以让你在更抽象的级别上思考。
pass可以默默地被忽视:
>>>definitlog(*args):
...pass#Remembertoimplementthis!
...
6.定义函数
定义一个函数用来生成任意上界的菲波那契数列:
>>>
>>>deffib(n):
"""PrintaFibonacciseriesupton."""
a,b=0,1
whilea printa, a,b=b,a+b >>>fib(2000) 011235813213455891442333776109871597 关键字def引入了一个函数定义。 在其后必须跟有函数名和包括形式参数的圆括号。 函数体语句从下一行开始,必须是缩进的 方法是一个“属于”某个对象的函数,它被命名为obj.methodename, 这里的obj是某个对象(可能是一个表达式),methodename是某个在该对象类型定义中的方法的命名; 不同的类型定义不同的方法。 不同类型可能有同样名字的方法, 但不会混淆(当你定义自己的对象类型和方法时,可能会出现这种情况, class的定义方法详见类)。 示例中演示的append()方法由链表对象定义, 它向链表中加入一个新元素。 在示例中它等同于result=result+[b], 不过效率更高。 和以前一样,这个例子演示了一些新的Python功能: return语句从函数中返回一个值; 不带表达式的return返回None;过程结束后也会返回None; 语句result.append(b)称为链表对象result的一个方法(method); 7.深入Python函数定义 A.默认参数值 最常用的一种形式是为一个或多个参数指定默认值。 这会创建一个可以使用比定义时允许的参数更少的参数调用的函数,例如: 这个函数可以通过几种不同方式调用 1)只要给出必要的参数: 2)给出一个可选的参数: 3)或者给出所有的参数: 这个例子还介绍了 in 关键字。 它测定序列中是否包含某个确定的值。 默认值在函数 定义 作用域被解析,如下所示: 重要警告: 默认值只被赋值一次。 这使得当默认值是可变对象时会有所不同,比如列表、字典或者大多数类的实例。 例如,下面的函数在后续调用过程中会累积(前面)传给它的参数: >>>i=5 >>>deff(a,L=[]): L.append(a) returnL >>>printf (1) [1] >>>printf (2) [1,2] >>>printf(3) [1,2,3] >>> 如果不想在随后的调用中共享默认值,可以像这样写函数: >>> >>>deff(a,L=None): ifLisNone: L=[] L.append() returnL B.关键字参数 函数可以通过 关键字参数 的形式来调用,形如 keyword = value。 例如,以下的函数: >>>defparrot(voltage,state='astiff',action='voom',type='NorwegianBlue'): print"--Thisparrotwouldn't",action, print"ifyouput",voltage,"voltsthouhgit." print"--Lovelyplumage,the",type print"--It's",state,"! " >>>parrot(1000) parrot(voltage=1000) parrot(voltage=1000000,action='VOOOOOM') parrot(action='VOOOOOM',voltage=1000000) parrot('amillion','bereftoflife','jump') parrot('athousand',state='pushingupthedaisies') --Thisparrotwouldn'tvoomifyouput1000voltsthouhgit. --Lovelyplumage,theNorwegian
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 知识点 Python