(本文仅作为学习记录使用)  
01. 昨日内容回顾
02. 作业讲解
03. 什么是函数
04. 函数怎么定义
05. 函数的调用
06. 函数的执行过程
07. 函数的返回值
08. 函数的参数

01. 昨日内容回顾
请参照思维导图链接:https://www.cnblogs.com/smithpath/articles/10524528.html

02. 作业讲解


03. 什么是函数
为了保证代码不重复使用,提升代码效率,我们使用函数代替那些重复的代码.

04.函数怎么定义
简单来说,函数就是:
def make():
    函数体

 def是关键字,make是函数名,里面是函数体.

  注意,定义之后的函数不调用是不执行的.

 

05. 函数的调用

函数名+( ) == 函数的调用
注意,要先定义后调用
仅仅 print(函数名)会输出函数的内存地址.

06. 函数的执行过程
定义 -- 调用 -- 函数体的代码

07. 函数的返回值
注意,return作为返回值是可以修改的.
print(函数名())即可输出return .
return后的函数不会往下继续执行.

return的作用:
  1.返回值单个就它本身,多个是一个元组.
  2.return后面什么都不写返回none, 不写return也返回none.
  3.return返回值给调用者.
  4.遇到return,就不执行下面的函数,并且结束函数运行.
函数名+小括号,无论在什么地方就是在调用函数.

08. 函数的参数
函数的形参,实参和传参:
def make(char,addr,sex):  # 形参 char 
    print('姓名%s'%char)
    print('住址%s,性别%s'%(addr,sex))
    print('结束')
make('西施','吴国','女')#实参:西施,吴国,女

  传参:将实参传递给形参的过程

位置参数:
  按顺序一一对应是位置参数.

PS:三元运算符
c=  a if a > b else b
条件成立的结果       条件          条件不成立的结果
def func(a,b,c,d=1):  # 形参 (位置+默认)混合形参
    print(a,b,c,d)

  其中d = 1 是默认参数.

 

函数声明只需要在需要默认参数的地方用 = 号给定即可, 但是要注意所有的默认参数都不能出现在非默认参数的前面。

 

在调用函数时候,参数个数和位置一定要按照函数定义。如果我们忘记了函数的参数的位置,只知道各个参数的名字,可以在 函数调用的过程中给指明特定的参数 func(a=1, b=2), 这样的话,参数的位置将不受影响.

 

PS:

首先明确,变量是一个更大的范围。

所有的形参都是局部变量,所有的实参都是全局变量。用集合的角度来说,就是形参是局部变量的子集,实参是全局变量的子集。

这里解释一下为什么形参都是局部变量。

​形参是局部变量,全局变量在程序开始时创建并分配空间,在程序结束时候释放内存并销毁,局部变量是在函数调用的时候创建,在函数调用结束后销毁并释放,形参在函数调用时才分配空间,在函数调用后释放,所以是局部变量。

参考:  https://www.cnblogs.com/derezzed/articles/8119592.html

 
PS:  
小结:
什么是函数:
将一些功能进行封装和复用

函数的定义:
def 关键字 函数名():
函数体

def make():
print(1)

函数的调用:
函数名+() # 调用函数的时候不再缩进内 必须顶行调用

函数的返回值:

1.没有return就默认返回None
2.写了return 没有写返回值 默认返回None
3.多个返回值的时候,返回的是一个元组
4.一个返回值的时候,返回的就是返回值本身
5.return 下面的代码不执行,并且结束这个函数

函数的参数:
形参 函数定义的时候
位置参数 a,b 传参的时候一一对应从实参处接受
默认参数 a=1 在定义的时候就设定好值了

实参 函数调用的时候
位置参数 1,2, 传参的时候一一对应给形参
关键字参数 a=1 通过形参的名字指定传值
混合:
形参 def func(a,b,d,f=1):
实参 func(1,2,3,f=2)

    传参   将实参传递给形参的过程

参数级别 位置参数 > 关键字(默认)参数

三元运算符:

条件的成立的结果 条件 条件不成立的结果
c = a if a>b else b
应用场景: 在不知道赋值的内容时可以使用
一行进行判断




















posted on 2019-03-13 18:50  流云封心  阅读(87)  评论(0编辑  收藏  举报