python基础(补充):递归函数】的更多相关文章

一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set.作…
1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失. 3. 但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束.   2.闭包特点 1. 必须有一个内嵌函数 2. 内嵌函数必须引用外部函数中的变量 3…
关于模块导入方式: import  random print random.choice(range(10)) 和 from  random import choice print choice(range(10)) 第一种方法:将模块的名字设置为一个隐含在名字空间里的全局变量,这样就好像访问全局属性那样访问choice函数: 第二种方法:直接把choice引入到全局名字空间里来(而非模块的名字),因此不再需要把这个属性当初模块的成员,实际上我们也只是拥有这个属性而已: python中存在的误解…
一.递归函数 定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 我们来举个例子吧,比如:有个人问“egon”年龄,他说比“小大”大5岁,“小大”又说比“小保”大5岁,“小保”又说 比“小健”大5岁,最后,“小健”又问我,我又比“小健”小5岁.已知我今年20岁,求“egon”今年多少岁? 分析:看到这个题,我们首先可以发现这中间有一个规律,就是问的这几个人彼此间年龄的差距正好是5岁,既然, 有了这个规律,就好办了.在看一共问了几个人,就可以得出“egon…
知识内容: 1.三元运算表达式 2.python代码编写规范 3.模块导入与使用 4.python文件名 5.python脚本的"__name__"属性 6.python之禅 一.三元运算表达式 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 result = 1 if 1 == 2 else 0 print(result) # result: 0 二.python代码编写规范 1.缩进 python程序是依…
在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上: python的多线程实际是串行执行的,并不会同一时间多个线程分布在多个CPU上运行. 但是这里有个有趣的现象: python开启两个死循环的线程,在我的2核机器上会有如下CPU使用情况,每个CPU都维持在50%左右的使用率(见下图). 难道python的多线程可以在多核上并行?当然不是,在GIL存在的python上,多线程应该是不可能并行的.这里其实…
一.列表.元组.集合.字典的区别   列表 元组 集合 字典 英文 list tuple set dict 可否读写 读写 只读 读写 读写 可否重复 是 是 否 是 存储方式 值 值 键(不能重复) 键值对(键不能重复) 是否有序 有序 有序 无序 无序,自动正序 初始化 [1,'a'] ('a', 1) set([1,2]) 或 {1,2} {'a':1,'b':2} 添加 append 只读 add d['key'] = 'value' 读元素 l[2:] t[0] 无 d['a'] 1.…
''' 不可变:数字,字符串,元组 可变:列表,字典 原子:数字,字符串 容器:列表,元组,字典 直接访问:数字 顺序:字符串,列表,元组 映射访问:字典 ''' #一一对应 a,b,c,d,e='hello' print(e,d) #少一个报错 # a,b,c='hello' #*号的使用 a,*_,e='hello' print(a,e) #列表中的元素解压也是一一对应的关系 data=[,[,,]] name,price,date=data print(name,price,date) #…
def age(n): if n == 1: return 18 else: return age(n - 1) + 2 ret=age(100) print(ret)#216 def test(num): print(num) if num > 0: test(num-1) else: print('------') print(num) test(2)#依次打印出2 1 0 ------ 0 备注:图片转载自http://www.cnblogs.com/Fantinai/p/7806356.…
python基础——递归函数 递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理.于是,fact(n)用递归的方式写出…