python-15
递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返 回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。)
# 递增函数 #递增函数的条件:
# 1.函数需要调用自身
# 2.必须有个条件停止调用 def mulit(n): if n == 1:
return 1 #首先考虑程序怎么停止
return n*mulit(n-1) #如果n不是1,就执行该语句 print(mulit(6)) # --------------------------------------------
# 斐波那契数列 def fibo(n): if n <= 1:
return n #注意, 这里是返回n return fibo(n-1)+fibo(n-2) print(fibo(10))
内置函数:
str = ['','','a', 'b']
def fun2(s): return s + "alvin" # fun2("123")
ret = map(fun2, str)
print(ret) # <map object at 0x00000000023D8940>
print(list(ret))# ['1alvin', '2alvin', 'aalvin', 'balvin']
#map(function, sequence)
str = [1, 2,'a', 'b'] def fun2(s): return s + "alvin" ret = map(fun2, str) print(ret) # map object的迭代器
print(list(ret))# ['aalvin', 'balvin', 'calvin', 'dalvin']
#对sequence中的item依次执行function(item),将执行结果组成一个map object迭代器返回.
#map也支持多个sequence,这就要求function也支持相应数量的参数输入:ef add(x,y):
return
x
+
y
(
list
(
map
(add,
range
(
10
),
range
(
10
))))
##[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
#reduce(function, sequence, starting_value)
#使用前需要导入以下模块
from functools import reduce def add1(x,y):
return x + y print (reduce(add1, range(1, 101)))## 4950 (注:1+2+...+99) print (reduce(add1, range(1, 101), 20))## 4970 (注:1+2+...+99+20)
对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用.
# lambda
#普通函数与匿名函数的对比:
#普通函数
def add(a,b):
return a + b print add(2,3) #匿名函数
add = lambda a,b : a + b
print add(2,3) #========输出===========
5
5
python-15的更多相关文章
- 【Python 15】分形树绘制3.0(递归函数)
1.案例描述 将递归函数与循环函数结合绘制2.0的图形 2.案例分析 3.上机实验 """ 作者:梁斌 功能:五角星的绘制 版本:3.0 日期:03/08/2017 新增 ...
- [Advanced Python] 15 - "Metaclass": ORM
From: 使用元类 动态创建类 与静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 一 .type()动态创建 我们说class的定义是运行时动态创建的: 而创建cl ...
- [LeetCode][Python]15:3Sum
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 15: 3Sumhttps://oj.leetcode.com/problem ...
- python 15 常用模块三 re模块
一.正则模块 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...
- Python 15 html 基础 - CSS &javascript &DOM
本节内容 CSS基础 javascript基础 DOM 前言,这边这块楼主已经很熟悉了,CSS天天用到,简单的一些javascript也是所以就挑点重点说了.然后就是dom不怎么用,但是其实也用不到, ...
- [ Python - 15 ] win7安装paramiko问题总汇
安装环境: win7 sp1 python3.5 安装paramiko 新装的win7 sp1 x64位系统,安装好python3.5和pycharm后,需要用到paramiko模块于是开始安装: & ...
- Python 15 I/O编程
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- python 15 文件操作(一)
转自 http://www.cnblogs.com/BeginMan/p/3166644.html 一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python ...
- Python 1-5】Python教程之——字符串
字符串或串(String)是由数字.字母.下划线组成的一串字符. 字符串 字符串就是一系列字符.在Python中,用引号括起的都是字符串,其中的引号可以是单引号, 也可以是双引号,如下所示: &quo ...
- python --- 15 装饰器
装饰器 一.原则,目的 开闭原则: 对功能的扩展开放,对代码的修改是封闭的(不可修改的) 目的:在目标函数前或后插入一段新的代码,不改变源代码 二.装饰器的通用语法 三.多个装饰器修饰同一个函数 ...
随机推荐
- c# async和await 用法(阻塞与不阻塞)
void PagePaint() { Console.WriteLine("Paint Start"); Paint(); Console.WriteLine("Pain ...
- Kafka Eagle Consumers不显示
原因: kafka.eagle.offset.storage配置有误 该配置的作用:# kafka offset storage -- Offset stored in a Kafka cluster ...
- 使用.gitignore删除Github上的.idea文件
环境:windows + git bash. 一.问题来源 由于之前用Goland建立Golang工程时,生成了.idea文件,不小心上传至Github: 所以尝试用.gitignore进行忽略不上传 ...
- Datagrip连接SQLServer Connecting DataGrip to MS SQL Server
Connecting DataGrip to MS SQL Server Posted on June 21, 2016 by Maksim Sobolevskiy Some specific nee ...
- Kafka 2.1.0压缩算法性能测试
Apache Kafka 2.1.0正式支持ZStandard —— ZStandard是Facebook开源的压缩算法,旨在提供超高的压缩比(compression ratio),具体细节参见htt ...
- JavaScript 运行机制详解:Event Loop
参考地址:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是 ...
- mysql按位的索引判断位的值
DELIMITER $$ DROP FUNCTION IF EXISTS `value_of_bit_index`$$/*计算数字的某个位的值*/CREATE FUNCTION `value_of_b ...
- Linux Tomcat8 启动堆内存溢出
今天在部署一个开源项目的时候,Tomcat8启动异常,报错信息: Exception in thread "RMI TCP Connection(idle)" java.lang. ...
- react 动态修改 document.title
装饰器 // withComponents/withHeaderBar.js import React, { Component } from "react"; import He ...
- js中的异步与同步,解决由异步引起的问题
之前在项目中遇到过好多次因为异步引起的变量没有值,所以意识到了认识js中同步与异步机制的重要性 在单线程的js中,异步代码会被放入一个事件队列,等到所有其他代码执行后再执行,而不会阻塞线程. 下面是j ...