您的位置:首页 > 编程语言 > Python开发

Python 学习笔记 - 递归和模块中的特殊变量

2017-04-01 00:00 363 查看
递归简单的说就是函数自己不停的自己调用自己,直到满足某个条件退出。一个众所周知的例子就是从前有座山,山上有个庙,庙里有个和尚讲故事-从前有个山,山上有个庙,庙里有个和尚讲故事~~

递归的实现很简单,不过效率嘛会比较差一些。现在直接看简单例子吧

两个函数,第一个实现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()


登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: