Python函数1

Python函数

1):初识函数:

  • 函数的优点:
    • 1.减少代码的重复率
    • 2.增强代码的阅读性

2):函数的结构与调用

  • 2.1 函数的结构

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

    • def: 是固定的,不能变,它就是定义函数的关键字

    • 空格:为了将def关键字和函数名分开,必须空1格

    • 函数名:函数名只能包括字符串 下划线和数字且不能以数字开头,虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并且具有可描述性

    • 括号:是必须加的,

3):函数的返回值

  • 一个函数就是封装一个功能,这个功能一般都会有一个最终结果;比如你写一个登录函数,最终登录成功与否是不是需要返回你一个结果?还有就是通过len()这个函数来获取一个对象元素的总个数,最终肯定会返回一个元素.
s1 = 'absdcda'
print(len(s1))
  • 那么这个返回值如何设置呢?就用到python中的一个关键字:return
def funcl():
    print('拿出新买的Apple手机')
    print('打开douyin')
    print('上划一下')
    print('下划一下')
    print('找个nice的视频')
    return 
    print('仔细研究研究')
    print('添加至收藏')
  • 1.函数中遇到return,次函数结束,不在继续执行
    • 那么函数的返回值,既然叫做返回值,他就是返回一些数据,那么返回给谁呢?
def funcl():
    print('拿出新买的Apple手机')
    print('打开douyin')
    print('上划一下')
    print('下划一下')
    print('找个nice的视频')
    return '真nice'
    print('仔细研究研究')
    print('添加至收藏')
ret = funcl()
print('girl--->',ret)
  • 跟我们之前使用的len()一样,函数的返回值返回给了函数名()这个整体,也就是这个执行者

  • 2.return 会给函数的执行者返回值,当然也可以返回多个值

def funcl():
    print('拿出新买的Apple手机')
    print('打开douyin')
    print('上划一下')
    print('下划一下')
    print('找个nice的视频')
    return '真nice','真棒','好看'
    print('仔细研究研究')
    print('添加至收藏')
ret = funcl()
print('girl--->',ret)

总结一下:

  • 1.遇到return,函数结束,return下面的(函数内)的代码不会执行;

  • 2.return 给函数的执行者返回值;

    • 2-1 如果return后面什么都不写,或者函数中没有return,则返回的结果是None;

    • 2-2 如果return后面写了一个值,则返回给调用者这个值;

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

4):函数的参数

函数的参数,函数是以功能为导向的,上面我们写的函数里面的代码都是写死的,也就是说,这个函数里面的更改起来很麻烦,试想一下,我们使用交友软件,可不可以进行筛选,比如选择性别,年龄等导出结果,再拿我们之前学过的len,这个len是不是可以获取字符串的总个数?是不是可以获取列表的总个数?

s1 = 'easdasd'
l1 = [1,3,4]
print(len(s1))  # 7
print(len(l1))  # 3
  • 那么我们写的函数也是可以将一些数据传到函数里面,然后直接返回结果,再返回;

示例:

def date(sex):
    print("拿出手机")
    print("打开陌陌")
    print('设置筛选条件:性别: %s' %sex)
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")
date('女')

上面就是函数传参的示例,函数的参数可以从两个角度划分:

  • 1.形参:

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

    • 在函数调用的时候给函数传递的值,加实参,实际执行的时候给函数传递的信息,表示给函数xxx函数的传参就是函数实际参数交给形式参数的过程
  • 函数的传参就是函数将实际参数交给形式参数的过程:

    def date(sex):  #   函数定义时(参数),这个就是形参
        print('拿出手机')
        print('打开比心平台')
        print('设置筛选条件:性别:%s' %sex)
        print('找个漂亮的陪玩妹子')
        print('问老妹打不打')
        print('ok,走起')
    date('女')   #   函数执行时(参数) 这个就是实参
    # 过程就是:代码运行到date('女'),开始执行函数同时将字符串'女'这个数据传递给变量sex,然后执行函数中的代码,如果遇到sex,其实就是使用'女'这个数据
    

实参角度:

  • 1.位置参数:

    • 位置参数就是从左至右,实参与形参为一一对应.
    def date(sex, age, hobby):
        print("拿出手机")
        print("打开陌陌")
        print('设置筛选条件:性别: %s,年龄:%s,爱好:%s' %(sex, age, hobby))
        print("找个漂亮的妹子")
        print("问她,约不约啊!")
        print("ok 走起")
    date('女','25~30','唱歌')
    date('人妖','20~25','萝莉音')
    

    练习

    • 编写函数,给函数传递两个参数,a与b相加,返回a参数和b参数相加的和
def f(a,b):
    c = a+b
    return c
sum = f(5,8)
print(sum)
结果为:13
  • 编写函数,给函数传递两个参数a与b,比较a,b的大小,返回a,b最大的那个数
def f(a,b):
    if a > b:
        return a
    else:
        return b
sum = f(5,8)
print(sum)
结果为:8

三元运算符:

def f(a,b):
    c = a if a > b else b   # 当 a > b就把a赋值给c,否则就把b赋值给c
    return c
msg = f(5,7)
print(msg)
结果为:7
  • 2.关键字参数:
    • python提出了一种叫做关键字参数,我们不需要记住每个参数的位置,只要记住每个参数的名字就可以了
def date(sex,age,hobby):
    print('拿出手机')
    print('打开比心平台')
    print('设置筛选条件:性别:%s,年龄:%s,爱好:%s' %(sex,age,hobby))
    print('找个漂亮的陪玩妹子')
    print('问老妹打不打')
    print('ok,走起')
date(hobby='打篮球',sex='女',age='23-28')

混合参数

  • 可以把上面的两种参数混合着使用,也就是说在调用函数的时候即可给出位置参数,也可以指定关键字参数
混合参数一定要记住:关键字参数一定位置参数的后面
def date(sex, age, hobby):
    print("拿出手机")
    print("打开陌陌")
    print('设置筛选条件:性别: %s,年龄:%s,爱好:%s' %(sex, age, hobby))
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")
date('女',hobby='唱歌',age='25~30',)

在实参的角度来看,参数分为三种:

  • 1.位置参数

  • 2.关键字参数

  • 3.混合参数,位置参数必须在关键字参数前面

1.位置参数:

  • 位置参数其实与实参角度的位置参数是一样的,就是按照位置从左至右,一一对应
def date(sex, age, hobby):
    print("拿出手机")
    print("打开陌陌")
    print('设置筛选条件:性别: %s,年龄:%s,爱好:%s' %(sex, age, hobby))
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")
date('女','25~30','唱歌')

2.默认值参数:

  • 在函数声明的时候,就可以给出函数参数的默认值,默认值参数一般是这个参数使用率较高,才会设置默认值参数,可以看看open函数的源码,mode='r' 就是默认值参数,给一个默认值---sex='男'的默认值
def stu_info(name,age,sex='男'):
    print('录入人员信息')
    print(name,age,sex)
    print('录入完毕')
stu_info('张三',18)

注意:必须先声明在位置参数,才能声明关键字参数

综上所述:在形参的角度来看

  • 1.位置参数

  • 2.默认值参数(大多数传进来的参数都是一样的,一般默认参数函数的形参角度参数还有两种)

上一篇:FormData()对象的使用方法


下一篇:机器学习推荐系统记录