函数

函数介绍

实现一个len,但是不能使用len

a = "alexdsb"
count = 0
for i in a:
    count += 1
print(count)

函数定义

def 是python中关键字主要用来定义函数的

len这个是函数的名字

(): 冒号是表示这个语句写完了

函数体就是有4个空格的缩进

def len():
  a = "alexdsb"
  count = 0
  for i in a:
      count += 1
  print(count)

内存开辟了一个空间,但是里边存放是代码.

函数的调用

使用函数名加小括号就可以调用了 写法:函数名() 这个时候函数的函数体会被执行

def len():
  a = "alexdsb"
  count = 0
  for i in a:
      count += 1
  print(count)

len()  # 函数的调用

函数的返回值

 def yue():
    print("掏出手机")
    print("打开默默")
    print("约一个妹子")  
yue()

执行完函数之后,可以使用return来返回结果

def yue():
    print("约你")
    print("约我")
    print("约他")
    return   
yue()

返回的是什么结果,返回的东西给谁了?? 返回值返回给了函数调用者 yue()就是函数的调用者 那就是返回给它了,看看返回的什么

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

返回的结果是None,操作列表的方法 打印的结果就是None,我们所有用的字符串,列表的方法都是函数.

函数中遇到return,此函数就立马结束了.不在继续执行

def yue():
    print("约你")
    print("约我")
    print("约他")
    return
      print("大家一起约")
yue()
def yue():
    print("约你")
    print("约我")
    print("约他")
    return  "美女一枚"   
yue()
def yue():
    print("约你")
    print("约我")
    print("约他")
    return '美女一枚'
girl =  yue()
print(girl)

结果:
约你
约我
约他
美女一枚
1.定义了一个函数yue
2.调用函数
3.执行函数里的约你
4.执行函数里的约我
5.执行函数里的约他
6.返回给调用者一个字符串,这个调用者就是yue()
7.将返回的字符串通过一个等号赋值给白变量girl
8.打印变量girl的值

函数的返回值可以有多个结果:

def yue():   
    print("约你")   
    print("约我")   
    print("约他")   
    return "美女一枚", "萝莉一枚"
girl = yue()
print(type(girl))   # tuple

当函数的返回值是多个的时候,返回的就是一个元组

1.遇到return,此函数结束,return下面的代码将不会在执行

2.return 关于返回值:

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

如果return后面写了一个值,返回给调用者这个值

如果return后面写了多个结果,返回给调用者一个tuple(元祖),调用者可以直接使用解构获取多个变量

函数的参数

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

def 函数名(参数):

    函数体
def yue(chat):

    print("拿出⼿手机")

    print("打开"+chat)

    print("找个漂亮的妹⼦子")

    print("约不约")

yue("陌陌")
yue("微信")
yue("探探")

结果:
拿出手机
打开陌陌
找个漂亮的妹⼦
约不约


拿出⼿机
打开微信
找个漂亮的妹⼦
约不约


拿出手机
打开探探
找个漂亮的妹⼦
约不约 

调用yue的时候给chat一个值. 然后再执行函数体.

如果再定函数的时候写了形参,在调用函数的时候没有传递值,调用的时候右边括号会发黄,所以必须要传递参数,参数要一一对应,不能多不能少.

1.形参

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

2.实参

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

3.传参

从调用函数的时候将值传递到定义函数的过程叫做传参

def yue(chat):    # chat  形参   

    print("拿出手机")   

    print("打开"+chat)   

    print("找个漂亮的妹子")   

    print("约不约")

yue("陌陌")     # "陌陌"在这里就是实参

len("字符串")    # "字符串"在这里就是实参

print("麻花藤")    # "麻花藤"就是实参

位置参数

位置传参的时候必须一一对应
形参是默认的参数时,实参传递时可以不写.写了内容就会把形参的默认参数覆盖

混合参数

可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可以指定关键字参数.

# 混合参数 
yue("微信", age=18, address="上海")    # 正确.第一个位置赋值给chat, 后面的参数开始指定关键字.

yue(age="18", "微信", address="广州")  # 错误, 最开始使用了关键字参数, 那么后面的 微信的位置就串了, 容易出现混乱

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

原文地址:https://www.cnblogs.com/sundawei7/p/11197443.html