day09--前方高能-初识函数

一. 函数的定义, 函数名, 函数体以及函数的调⽤

def关键字来定义函数, 函数的定义语法:

def 函数名():
 函数体
def yue():
    # 函数体,代码块
    print("首先, 打开手机")
    print("打开陌陌")
    print("找一个看着还不错的某一某")
    print("出来约一约.开开心心")
    print("各回各家,各找各妈")

# 函数的调用, 函数名()
yue()   # 执行函数  # 第一次调用
print("正常上班")
yue()   # 第二次调用

二.函数的返回值:

def yue():
    print("约你")
    print("约他")
    print("我不约")
    return "大妈"    # return 返回值  当函数结束的时候. 给调用方一个结果

ret = yue()  
print(ret)
结果为:

约你
约他
我不约
大妈

只要函数执行到return 函数就会停止执行
1. 每个函数如果在函数中不写return, 默认返回None
2. 我们也可以只写一个return, 也是返回None, 停止函数的执行
3. return 一个返回值.  你在调用方能接受到一个返回值
4. return 多个返回值. 多个值需要用,隔开   接收的位置. 接收的是元组.
def yue():
    print("约一约")
    return  # 函数就停止了
ret = yue()
print(ret)
结果为:
约一约
None
def yue():
    print("打开陌陌")
    print("大阳哥出马")
    return "大妈", "萝莉", "模特"

a,b,c = yue() #  多个返回值在接受的位置接受到的是tuple类型的数据
print(a)
print(b)
print(c)
结果:
打开陌陌
大阳哥出马
大妈
萝莉
模特

三.函数的参数:

形参:

def yue(fangshi, age):   # 形参 这里的'fangshi,age'是形参
    print("打开手机")
    print("打开%s" % fangshi)
    print("找一个漂亮的妹子")
    print("年龄最好是%s" % age)
    print("出来约一约")

yue("微信",20)
yue("探探", 38)
yue("陌陌", 26)

实参:

def fn(a,b,c):
    print(a)
    print(b)
    print(c)
fn(1, 2, 3)
fn(b=3, a=2, c=1)  # 在实参调用的时候 . 可以指定参数的值是多少. 关键字(形参)参数
结果为:
1
2
3
2
3
1

混合参数:

def gn(name, age, address, id, sex, hobby):
    print("人的名字叫%s, 年龄:%s, 地址:%s, id是:%s, 性别:%s, 爱好是:%s" % (name, age, address, id, sex, hobby))
gn("太白", 58, "保定", 1, "不详", "")    # 位置参数
gn(id=1, name="太白", address="保定", hobby="", age=58, sex="不详")  # 关键字(形参)参数
gn("太白", 58, "保定", id="3", sex="", hobby="不详")
结果为:
人的名字叫太白, 年龄:58, 地址:保定, id是:1, 性别:不详, 爱好是:女
人的名字叫太白, 年龄:58, 地址:保定, id是:1, 性别:不详, 爱好是:女
人的名字叫太白, 年龄:58, 地址:保定, id是:3, 性别:女, 爱好是:不详
def regist(id, name, sex=""):
    print("录入学生信息:id是%s, 名字是%s, 性别是:%s" % (id, name, sex))

regist(1, "大阳哥")
regist(2, "徐卫星")
regist(3, "毛尖妹妹", "")
结果为:
录入学生信息:id是1, 名字是大阳哥, 性别是:男
录入学生信息:id是2, 名字是徐卫星, 性别是:男
录入学生信息:id是3, 名字是毛尖妹妹, 性别是:女

总结:

参数: 在函数执行的时候给函数传递的信息
形参: 在函数声明的位置.声明出来变量
实参: 在函数调用的时候. 实际你给函数传递的值 
函数的参数个数是没有要求的 但是,在运行的时候. 形参和实参要匹配. 按照位置把实参赋值给形参
参数的分类:
  站在实参的角度:
      1. 位置参数
      2. 关键字参数
      3. 混合参数, 注意顺序. 先写位置参数, 然后在写关键字参数. 否则会报错
  站在形参的角度:
      1. 位置参数
      2. 默认值参数
      3. 默认值参数和位置参数混合使用. 顺序: 先写位置参数. 然后在写默认值参数

四.

计算:1+2+3+4+5+6+7+8+9+....+100 = ? 5050

def sum(n):
    s = 0
    count = 1
    while count <= n:
        s = s + count
        count = count + 1
    return s

ret = sum(100)
print(ret)
结果为:5050
def fn(n):
    if n%2 == 0:
        return "偶数"
    return "奇数"
print(fn(456))

看一下有无返回值的区别:

lst = ["大阳哥", "徐卫星"]
print(lst.append("胡辣汤"))    # 没有return

s = "哈哈"
print(s.replace("", ""))  # 一定有return
结果为:  #None  #呵呵
 

猜你喜欢

转载自www.cnblogs.com/shuai1993/p/9299740.html