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

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


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

两个函数,第一个实现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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值