Day9、函数初识

一、什么是函数?

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print(),len()等。但你也可以自己创建函数,这被叫做用户自定义函数。

函数:对代码块和功能的封装和定义

二、 函数的定义与调用。

定义:

def 函数名():
    函数体

   def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

   def 是固定的,不能变,他就是定义函数的关键字。

   空格: 为了将def关键字和函数名分开,必须空(四声)。

   函数名:(函数名的命名规则和变量的命名规则一样)函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

   括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

   函数体:就是函数被执行之后要执行的代码

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

调用:就是 函数名() 要记得加上括号。

 调用函数 
def make():
    print("拿出手机")
    print("打开陌陌")
    print("找一个漂亮的妹子")
    print("问 约不约啊")
    print("ok 走起")
make()   # 这是make函数的调用
 

# 结果:
# 拿出⼿手机
# 打开陌陌
# 找个漂亮的妹⼦
# 问她, 约不约啊
# ok. 走你

三、函数的执行流程

def make():
    print("拿出手机")
    print("打开陌陌")
    print("找一个漂亮的妹子")
    print("问 约不约啊")
    print("ok 走起")
make() 
make() 
make() 
make() 
make()    #多执行几次 

1.定义了一个函数make

2.调用函数

3.执行函数里的约你

4.执行函数里的约我

5.执行函数里的约他

6.返回给调用者一个字符串'美女一枚',这个调用者就是make()

7.将返回的字符串通过一个等号赋值给白变量girl

8.打印变量girl的值

四、函数的返回值。

 (1)没有设置返回值,输出 None

def make():
    print("约你")
    print("约我")
    print("约他")
ret = make()
print(ret)

#结果
# 约你
# 约我
# 约他
# None
View Code

(2)只写return,后面不写其他内容,也会返回None

def make():
    print("约你")
    print("约我")
    print("约他")
    return
ret = make()
print(ret)
#结果
# 约你
# 约我
# 约他
# None
View Code

(3)返回一个值的情况,只需在return后面写上要返回的内容即可。

def make():
    print("约你")
    print("约我")
    print("约他")
    return '美女一枚'
ret = make()
print(ret)

# 结果:
# 约你
# 约我
# 约他
# 美女一枚
View Code)

(4)可以返回任意多个、任意数据类型的值.返回的多个值会被组织成元组被返回,也可以用多个值来接收

def make():
    print("约你")
    print("约我")
    print("约他")
    return '美女一枚','萝莉'
ret = make()
print(ret)

# 结果:
# 约你
# 约我
# 约他
# ('美女一枚', '萝莉')
View Code

(5)函数中遇到return,此函数结束.不在继续执行

def make():
    print("约你")
    print("约我")
    print("约他")
    return   
    print("约谁呀")    # 这句话不会被执行
     
make()
View Code

总结一下:

  1.遇到return,此函数结束,函数后面的东西将不会在执行

  2.return 返回值

    关于返回值:

      如果return什么都不写或者干脆就没写return,返回的结果就是None

      如果return后面写了一哥值,则调用者可以接受一个结果

      如果return后面写了多个结果,则调用者可以接受一个tuple,调用者可以直接使用解构获取多个变量

五、函数的参数。

参数,也就是函数括号里的内容 函数在调用的时候指定一个具体的变量的值 就是参数

  1.形参

    写在函数声明的位置的变量叫形参,形式上的一个完整.表示这个函数需要xxx

  2.实参

    在函数调用的时候给函数传递的值.加实参,实际执行的时候给函数传递的信息.表示给函数xxx

  3.传参

    给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

 

def make(char,addr,sex):  # 形参 char = '探探'
    print('掏出手机')
    print('打开%s'%char)
    print('找一个%s,%s'%(addr,sex))
    print('聊一聊')

make('探探','北京','萝莉') # 实参

#结果:
#掏出手机
#打开探探
#找一个北京,萝莉
#聊一聊

 

在形参的角度来看

1. 位置参数

2. 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)   

     位置参数 > 默认参数  

在实参的角度来看

1. 位置参数

2 .关键字参数 

3.混合参数   

   位置参数  > 关键字参数    

# 位置参数:
#     def make(char,addr,sex)
#        make('探探','北京','萝莉')
def func(a,b):
   c =  a + b
   return c

print(func(10,20))
def make(a,b,d=1,e=0):    #位置参数  默认参数
    print(a,b,d)
make(1,2)
def func(a,b,c,d=1):  # 形参 (位置+默认)混合形参
    print(a,b,c,d)

func(1,2,3) # 位置参数

# 1 2 3 1
def user_info(name,age,sex=''):
    print(name,age,sex)

user_info('某某',48,'不详')

#   某某 48 不详
def func(a,b,c,d=1):  # 形参 (位置+默认)混合形参
    print(a,b,c,d)

func(1,2,3,d=3) # 实参 (位置+关键字)混合实参

#1 2 3 3

 三元表达式

def func(a,b):
    if a>b:
        return a
    else:
        return b
print(func(9,0))
def func(a,b):
    # c = a if a>b else b
#     # return c
    return a if a>b else b
print(func(10,9))

# 条件成立的结果       条件          条件不成立的结果

#  c =  a            if a>b else              b

猜你喜欢

转载自www.cnblogs.com/XiaoXu-xiansheng/p/10522787.html