一  函数

函数的组成:

  def funname(parameters):

    instructions。。。。

在探讨函数的定义之前,让我们想想,如果我们写了上千行代码,其实各种变量定义,循环..... 我们如何知道代码执行到哪里了?或者说什么时候会结束?

因为我们应该谈谈函数的第一个特性了--分解

分解:指的是模块化--》将代码的功能拆分成能独立运作的模块,使得代码清晰,也能重用
那么应该如何分解呢?那就要说说第二个特性:抽象

抽象:找到运算的相同模式。

让我们先看下下面的代码熟悉下

x = 4
def one(x):
x +1
print x
z = one(10)
print x

这里的x 的两次输出分别是多少?

很显然这里涉及到的问题是全局变量和局部变量?

我们把这一个代码文件想象成一房子,然而函数就是房子里面的冰箱,冰箱里面的空间是一个局部空间,那么冰箱里面的苹果跟房间里桌子上面的苹果不是一个苹果(我知道这个比喻不恰当)

那么结果都是 4  4

而函数的核心就是 [实现和功能的分离--你知道这意味着什么]

二 递归:

  很难给递归下一个完整的定义,但是我还是要说说我的理解(上次看到有人说,递归就是函数调用函数本身,觉得是一个很纠结的说法。但是仔细想想,又不知道哪里出了问题LOL)

  递归---->将一个问题,分解成同类更小的问题(可能是问题的容量,也可能是问题的深度),从而解决问题

  举个例子:如何判断一个数字是不是回文数?
  回文数: 1 121 1221 12321 2332 大概是这样

这里比如x = ‘12323432121’  判断方法:我们先比较第一个跟最后一个数的大小如果相同 我们把这两个数去掉 然后再来一次

  

def two(x):
if len(x) > 1:
i = x[:1]
l = x[-1:]
if i == l:
x = x[1:]
x = x[:-1]
if len(x) == 0:
return True
else:
two(x)
else:
return False
return True

  see  是不是很简单

python中的函数以及递归的更多相关文章

  1. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  2. 第七篇 python基础之函数,递归,内置函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  3. Python 中的函数

    学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...

  4. [19/10/13-星期日] Python中的函数

    一.函数 # 第五章 函数 ## 函数简介(function) - 函数也是一个对象 - 对象是内存中专门用来存储数据的一块区域 - 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行 ...

  5. python基础之函数,递归,内置函数

    一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  6. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  7. python中range()函数的用法

    python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...

  8. python中format函数

    python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...

  9. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

随机推荐

  1. AC日记——输出亲朋字符串 openjudge 1.7 05

    05:输出亲朋字符串 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,求给定字符串s的亲朋字符串s1. 亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二 ...

  2. [No00000B]MS OFFICE 2013 快捷键大全

    常用快捷键 快捷键 作用 Ctrl+Shift+Spacebar 创建不间断空格 Ctrl+-(连字符) 创建不间断连字符 Ctrl+B 使字符变为粗体 Ctrl+I 使字符变为斜体 Ctrl+U 为 ...

  3. uva131 The Psychic Poker Player

    The Psychic Poker Player Time Limit: 3000MS     64bit IO Format: %lld & %llu Description In 5-ca ...

  4. 适配ipone5

    PROJECT和TARGETS都需要设置

  5. php 中的curl

    ① curl上传文件 <?php $postData=array( 'name'=>'123', 'upload'=>'@E:/wamp/www/function/result.zi ...

  6. asp.net core 日志

    日志输出是应用程序必不可少的部分,log4net,nlog这些成熟的组件在之前的项目中被广泛使用,在asp.net core的项目中没有找到与之对应的log4net版本,nlog对core提供了很好的 ...

  7. PAT 1006. 换个格式输出整数 (15)

    让我们用字母B来表示"百".字母S表示"十",用"12...n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例 ...

  8. EEG: electrode positions & Broadmann atlas

    Source: http://www.brainm.com/software/pubs/dg/BA_10-20_ROI_Talairach/nearesteeg.htm   Area LEFT RIG ...

  9. (原创)解决远程桌面连接远程应用时,出现 '应用程序错误: '0x7c931780'指令引用的 '0x89abcdef' 内存。该内存不能为 'read'"

    公司的部分应用为cs结构,没有web版的,这些应用的外部访问基本都是通过使用windows server 2008 r2的远程桌面服务来实现的. 个人感觉微软远程桌面服务问题很多,今天有同事使用Rem ...

  10. Power of Two

    Given an integer, write a function to determine if it is a power of two. bool isPowerOfTwo(int n) { ...