函数一函数初识

一、函数初识

  1. 函数初识

    1.1 面向对象的编程

    ​ 代码重复

    ​ 代码可读性不高

    获取列表的元素的个数
    l1 = [1, 2, 3]
    count = 0
    for i in l1:
        count += 1
    print(count)

    1.2 函数

    ​ 函数是以功能为导向,一个函数封装一个功能。减少了代码的重复性,增强了代码的可读性。

    li = ['1','a','ad','sfe','sef']
    def new_len():
        count = 0
        for i in li:
            count += 1
        print(count)
    new_len()
  2. 函数的结构

    def 关键字:定义一个函数,紧跟一个空格

    new_len 函数名:与变量命名规范一致,必须具备可描述性(能够体现函数实现的功能)

    ():结构需要,传参使用,:分割符

  3. 函数的调用

    ​ 即函数的执行,def new_len()仅为函数的定义,表示在当前步骤定义了一个函数,但只要没有执行语句此函数不会执行。

    ​ new_len() 函数名+()作为函数的执行者也叫调用者,完成对函数的调用功能。

    new_len()
    new_len()
    new_len()
    结果:
    5
    5
    5

    ​ 函数的执行写多少次函数就执行多少次。

  4. 函数的返回值

    ​ 函数中return语句用来表示函数执行结束,并将函数执行结果返回到函数调用处。

    ​ return后不跟值,表示函数执行终止,结束函数,默认返回值为None

    ​ 函数中没有return,返回值也为None

    def new_len():
        count = 0
        for i in li:
            count += 1
    print(new_len())
    结果:
    None

    ​ return后跟单个值,函数执行者得到的是这个值

    def func():
        print(123)
        return 321
    print(func())
    结果:
    123
    321

    ​ return后面是多个值,函数执行者得到的是一个元组

    def func():
        print(123)
        return 1,"a",[1,2,3]
    print(func())
    结果:
    123
    (1, 'a', [1, 2, 3])
  5. 函数的传参

    1.1 函数的传参可使函数具备可拓展性,函数是以功能为导向的,写在函数中的代码是死的,但可以通过传参使其变成像变量一样赋不同的值产生不同的结果。

    def new_len(a):  #定义函数时:参数:形参。
        count = 0
        for i in a:
            count += 1
        return count
    li = ['1', 234, 1]
    print(new_len(li))# 函数的调用者:参数 实参。
    结果:
    3

    1.2 实参

    ​ 放在函数调用部分的参数称为实参,可分为位置参数、关键字参数、混合参数

    位置参数:从左往右,按照顺序,一一对应

    def meet(sex,age,job):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,{job}')
        print('聊天')
        print('约吗')
        print('约...')
    meet('女','18-25','讲师')
    结果:
    左划一下
    右划一下
    寻找性别女,年龄18-25岁,讲师
    聊天
    约吗
    约...

    关键字参数:一一对应

    def meet(sex,age,job,hight,weight):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,工作{job},身高{hight},体重{weight}')
        print('聊天')
        print('约吗')
        print('约...')
    meet(sex='女',age='18-25',job='学生',hight='170',weight='120')
    结果:
    左划一下
    右划一下
    寻找性别女,年龄18-25岁,工作学生,身高170,体重120
    聊天
    约吗
    约...

    混合参数:关键字参数一定在位置参数后面,一一对应。

    def meet(sex,age,job,hight,weight):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,工作{job},身高{hight},体重{weight}')
        print('聊天')
        print('约吗')
        print('约...')
    meet('女','18-25','学生',hight='170',weight='120')
    结果:
    左划一下
    右划一下
    寻找性别女,年龄18-25岁,工作学生,身高170,体重120
    聊天
    约吗
    约...

    1.3 形参

    ​ 放在函数定义部分的参数成为形参,可分为位置参数、默认参数、动态位置参数、动态关键字参数

    位置参数:与实参角度位置参数一样

    默认参数:一定在位置参数后面,不传参数即沿用默认的参数。

    # open('文件的改',encoding='utf-8')
    def meet(age,job,sex='女'):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,{job}')
        print('聊天')
        print('约吗')
        print('约....')
    # meet('18~25','幼师')
    # 更改默认参数
    # meet('18~25','幼师',sex='laddy_boy')
    meet('18~25','幼师','laddy_boy')

猜你喜欢

转载自www.cnblogs.com/yaoqi17/p/11040215.html