python day10

函数的定义*****

函数:

   完成实现某种特定功能的代码块,作为一个整体,对其进行特定的命名,该名称就是函数

    --在现实生活中,很多问题都需要通过一些工具进行处理=>可以将工具提前生产出来并且命名,

      =>通过名字就可以找到工具  => 使用工具来解决问题

函数的优点:

    1、解决代码的冗余

    2、可以重复调用

    3、使代码逻辑变得清晰

函数的四部分:

    1、函数名:使用该函数的依据

    2、参数:执行函数需要的外界条件信息

    3、函数体:完成功能的执行代码块

    4、返回值:功能完成的结果返回给外界

函数的定义:通过def关键字来完成定义

    def 函数名():

      完成功能代码块

      return

函数的使用*****

使用函数

1、根据需求定义函数

2、根据函数名找到函数所在地址内存(调用函数)

3、函数名()执行函数地址里面所有的代码块

  --函数在定义时需要外界传送参数,就要在调用时传入相应的参数

4、函数执行完一定有返回结果,通过return关键字将结果返回给外界(获得返回值)

  --外界需要执行结果时用变量接收,反之只执行函数(不需要接收)

注:函数必须先定义后调用(不然返回变量未被定义的报错)

  函数四个部分都可以通过需求的不同而产生变化

函数的分类

1、根据函数体分类

  --空函数

    就是先用pass填充函数体的函数:优先明确函数名(在开发初期先将所有功能全部列出来而不去考虑内部

    的执行过程,用pass占位,项目后期pass都要换成执行代码块)

  --非空函数

    有函数体的函数

2、根据参数分类

  --有参函数

    就是函数体在执行过程中需要外界传来的参数来得到最终结果

  --无参函数

    就是函数体在执行过程中不需要外界传来的参数就能得到最终结果

3、根据返回值来分类  (所有函数都有返回值)

  --不考虑返回值的函数(不明确返回值)

    外部不需要函数最终执行的结果

  --明确返回值

    外部需要知道函数内部执行的结果

函数的返回值

重点:输入函数名()

    1、拿到函数名的内存空间地址

    2、加()执行函数体

    3、得到执行的最终结果

重点:返回值return的功能

    1、结束函数

    2、把函数内部的数据跟在return后面,可以将函数内部的数据传给外界

应用场景

1、不明确return关键字的函数,系统会在函数的末尾自动添加return(为了结束函数体),默认返回的是None

def fn():

  print('你好厉害')  #这里外界不需要知道函数体的最终运行结果

fn()

2、明确了return关键字的作用(为了结束函数而结束)

def pr_name():

  while 1:

    name = input('name:')

    if name == 'q'

      return    #这里是把函数整个结束掉,下面的代码都不执行

      break    #这里只是把while循环结束掉,while循环外面的print还是可以执行的

    print(name)

  print(name)

3、有明确返回值需求的函数

    python中实际上只有一个返回值

      值跟在return后面,把值传给外界参数

      可以跟多个值,用逗号隔开,返回的是由多个值组成的元组,实际上还是一个值

一个值

def get_num():

  num = input('num:')

  return num

ms = get_num()

print(ms)

多个值

def get_num():

  num = input('num:')

  return num,1,2

ms = get_num()    #得到的是(num,1,2)的元组

num1,num2,num3 = get_num()  #python可以返回多个值原因是python中支持解压赋值

print(ms)          (num,1,2)

print(num1,num2,num3)     num  1   2

posted @ 2019-04-24 21:13  hesujian  阅读(166)  评论(0编辑  收藏  举报