Python基础学习笔记(09)函数、参数

Python基础学习(09)函数与参数

一、今日内容大纲

  • 初识函数
  • 函数的结构与调用
  • 函数的返回值
  • 函数的参数

二、初识函数

  1. 函数的概念

    假如 Python 没有 len() 的功能,如何获取 string、list、tuple 等数据类型的长度?

    # 获取 string 的长度
    s = 'dasdasdasdsa'
    len = 0
    for char in s:
        len += 1
    print(len)
    
    # 获取 list 的长度
    l1 = [32, 423, 34, 3, 423, 4, 324, 23]
    len = 0
    for item in l1:
        len += 1
    print(len)
    
    # tuple 同理
    

    这样写代码具有重复代码太多、代码可读性差等缺点,于是我们可以选择封装一个函数 来放置这些多次重复的代码:

    # 这样我们可以封装一个函数来放置多次重复的代码
    def my_len(s):
        len = 0
        for i in s:
            len += 1
        print(len)
    s = 'dasdasdasdsa'
    l1 = [32, 423, 34, 3, 423, 4, 324, 23]
    my_len(s)
    my_len(l1)
    

    这样我们就利用更简洁、可读性更强的方式实现了同样的功能,而这种封装而成的代码就称为函数。它以功能为导向,一个函数封装一个功能,随调随用。

  2. 函数的基本结构

    # 函数的基本结构
    def meet():
        print('打开探探')
        print('左滑一下')
        print('右划一下')
        print('找美女')
        print('悄悄话。。。')
        print('约。。。走起。。。')
    '''
    结构:
    def:关键字:定义函数
    meet:函数名:与变量设置相同,具有可描述性
    函数体:需要缩进,函数中尽量不要出现print
    括号:完成参数的传递
    '''
    # 函数无法直接执行,需要'function()'才会执行
    meet()
    
  3. 函数的返回

    可能有返回单个值、多个值(会以元组形式返回),也可能返回None。如 len() 的描述: Return the number of items in a container.

    • 无返回值:return(python 中可以省略)
    • 单个返回值:return element
    • 多个返回值:return element_1, element_2....

三、函数的参数

  1. 函数的参数类型

    • 实际参数:在函数调用的时候给函数传递的值

    • 形式参数:函数接受的参数,写在函数声明的位置的变量

    # 实际参数(实参):在函数调用的时候给函数传递的值
    # 形式参数(形参):函数接受的参数,写在函数声明的位置的变量
    def meet(gender):
        print('进行筛选性别:{}'.format(gender))
    meet('女')
    # 此时的形参为sex,实参为'女'
    
  2. 实参角度的传参

    • 位置参数:实参与形参需要一一对应,不能缺少或更换位置

      def meet(gender, age, hobby):
          print('进行筛选
      性别:{}
      年龄:{}
      爱好:{}
      '.format(gender, age , hobby))
      meet('女', 18, '男')
      
    • 关键参数:让关键字一一对应即可,不需要完全按照顺序

      meet(age=18, hobby='男', gender='女')                  # 也可以手动设置形参与实参的对应关系,这时顺序可以打乱
      
    • 混合参数:可以前面用位置参数,后面用关键字参数

      meet('女', hobby='男', age=18)
      
  3. 形参角度的传参

    • 位置参数:与实参角度的位置参数相对应

    • 默认值参数:调用函数可以默认不输入,默认项须在后面

      def meet(age, hobby, gender='女'):                       # 调用函数可以不输入gender项,不设置会默认gender为女
          print('进行筛选
      性别:{}
      年龄:{}
      爱好:{}
      '.format(gender, age , hobby))
      meet(18, '男')
      
  4. 练习题

    # 练习1:传入两个字符串参数,将两个参数拼接完成后形成的结果返回
    def joint(str1, str2):
        return str1 + str2
    print(joint('123','123'))
    
    # 练习2:写一个函数,只接受两个int的参数,函数的功能是将较大的数返回
    def cmp(a, b):
        return a if a > b else b    # 三元运算符:简单的if else(如果a大于b返回a,如果不满足返回b)
    print(cmp(1,2))
    
    # 练习3:写一个函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    def check_list_len(list):
        if len(list) > 2:
            return  list[:2]
        else:
            return list
    print(check_list_len([1,555,444,4]))
    
原文地址:https://www.cnblogs.com/raygor/p/13257979.html