函数

引子

函数初识

函数的好处

1.减少代码的重复性(冗余)

2.代码可读性高了

3.将功能进行封装(造工具)

我们遇到同样的问题,老是书写程序太过于麻烦,所以我们用函数来调用.

字符串 列表 集合   这道题输出的结果是相同的

#s = "alexdsb"
#s = [1,2,3,4,5,6,7]
s = (1,2,3,4,5,6,7)
count = 0
for i in s:
    count += 1
    print(count)

于是我们下面来定义函数

def func():
    s = (1,2,3,4,5,6,7)
    count = 0
    for i in s:
        count += 1
    print(count)
func()      #必须填这个才能调用

定义规则

def my_len( ) :

函数体

def 关键字 定义

func 函数名 和变量定义规则一样

( ) 必须要写格式

: 声明语句结束

调用函数

my_len( ) 函数名 + ( )

函数的返回值

def yue():
    print("打开手机")
    print("打开微信")
    print("找到女友")
    print("晚上约吗")
    print("今天很高兴")
    print("确实有点累")
print(yue())


#打开手机
打开微信
找到女友
晚上约吗
今天很高兴
确实有点累
None

def yue():
    print("打开手机")
    print("打开微信")
    print("找到女友")
    print("晚上约吗")
    return"今天很高兴"             #return 返回   下面它就不执行了
    print("确实有点累")
print(yue())
打开手机
打开微信
找到女友
晚上约吗
今天很高兴
1. renturn 的内容是返回给调用者
2. return 下面的代码不执行,终止了这个函数
3. return  返回多个内容的时候是元组形式
4. return  没有写返回值,返回的是 None,不写 return 返回的也是 None

img

lst  = [1,2,3,4,5,6]
def func():
    for i in lst:
        print(i)
        return
print(func())
结果:
1
None



lst  = [1,2,3,4,5,6]
def func():
    for i in lst:
        print(i)

print(func())
结果:
1
2
3
4
5
6
None



lst = [1,2,3,4,5]
def func():
    for i in lst:
        print(i)
    lst.append(input(">>>"))
    return lst
func()
结果:
1
2
3
4
5
>>>123

形参和实参

形参 -- 函数的定义中括号里的是形参 位置参数 >默认参数 混合参数

实参---函数调用中括号里是实参 位置参数 >关键字参数 混合参数

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

位置传参时 :形参和实参必须要一一对应

def yue(app,app1,app2):  # 形参
    print("打开手机")
    print(f"打开{app}")
yue("微信","陌陌","探探")  #实参  


#
打开手机
打开微信


def yue(a,b,c):
    print("打开手机")
    print("附近的人")
    print("聊一聊")
    print(f"打开{a},{c},{b}")
yue({1:2},(1,2,3,4,5),[9,8,7,6,5])     #这里要说明的是实参的位置,放的东西可以是列表,元组,字典等...



打开手机
附近的人
聊一聊
打开{1: 2},[9, 8, 7, 6, 5],(1, 2, 3, 4, 5)

关键字传参:

默认参数放在位置参数后边

位置参数>默认参数

def func(a,b=1):  #b=1默认参数
    print(a,b)
func(3,8) #3 8  形参是默认的参数时,实参传递可以不写,写了就会把形参默认的参数覆盖 
func(3)  #3 1






def userinfo(name,sex,age):
    print(name,sex,age)
while True:
    name = input("name:")
    sex = input("sex:")
    age = input("age:")
    userinfo(name,sex,age)
    
def userinfo(name,age,sex):
print(name,sex,age)
while True:
    name = input("name:")
    sex = input("sex:")
    age = input("age:")
    userinfo(name,age,sex="男")                        混合参数
    
    
    
    
    
    
def func(a,c,b=1):             #a,c位置参数 b=1默认参数
    print(a,b,c)
func(a=1,b=5,c=2)    关键词参数

今日总结

函数的好处 : 减少代码的重复性 代码可读性高 将功能进行封装(造工具)

  1. 定义一个函数
def func():
    函数体                  #循环调用
def    关键字
func   函数名
()     传递参数
:      语句结束
  1. 返回值

    return 返回值内容

    return 返回一个内容,可以返回任意类型 多个内容以元组的形式返回

    return 终止函数 切记不能终止循环

    return 不写返回值或者没有的时候就要返回 None

    return 将内容返回了函数调用

  2. 函数的参数

    形参: 函数定义的时候叫做形参 包括 位置参数 > 默认参数

    实参 : 函数调用的时候叫做实参 包括 位置参数,关键字参数,混合参数

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

    形参是默认的参数时,实参传递时可以不写,写了就会把形参的默认参数覆盖

  3. 位置传递的时候必须要一一对应

    def yue(app,app1,app2):
        print("打开手机")
        print(f"打开{app}")
    yue("微信","陌陌","探探")
    
    
    #
    打开手机
    打开微信
    
    
posted @ 2019-07-16 21:44  挂机兄  阅读(119)  评论(0编辑  收藏  举报