递归简单的说就是函数自己不停的自己调用自己,直到满足某个条件退出。一个众所周知的例子就是从前有座山,山上有个庙,庙里有个和尚讲故事-从前有个山,山上有个庙,庙里有个和尚讲故事~~
递归的实现很简单,不过效率嘛会比较差一些。现在直接看简单例子吧
两个函数,第一个实现7的阶乘,第二个实现的是从1+2+..100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>>
def
func(num):
if
num
=
=
1
:
return
1
return
num
*
func(num
-
1
)
print
(func(
7
))
#1+2+3+4+100
def
func2(num):
if
num
=
=
1
:
return
1
return
num
+
func2(num
-
1
)
print
(func2(
100
))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
5040
5050
|
递归很简单,没什么太多可以说的,现在看看几个常见的默认变量
例子
__doc__ 文件注释
1
2
3
4
5
6
7
|
>>>
"""
我是注释
"""
#获取文件的注释
print
(__doc__)
-
-
-
-
-
-
-
-
-
-
-
-
-
我是注释
|
__file__ 当前文件的路径
1
2
3
|
print
(__file__)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/
Volumes
/
SEAGATE EXP
/
yli
/
pycharmprojects
/
Exercise
/
week6
/
module.py
|
__package__ 显示导入包的名字
1
2
3
4
|
from
bin
import
admin
print
(admin.__package__)
#显示包
-
-
-
-
-
-
-
-
bin
|
__name__
主要是用来搭配 __name__=__main__,确保只有执行才调用他下面的run函数,如果其他的文件导入他则不会调用run函数
1
2
3
4
5
|
def
run():
print
(
'run'
)
#只有执行本文件,才执行;其他文件导入这个py文件不会执行run函数
if
__name__
=
=
'__main__'
:
run()
|
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1853073,如需转载请自行联系原作者