• 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]))
      
  • 相关阅读:
    Spring Cloud Data Flow整合UAA之使用LDAP进行账号管理
    2020,分手快乐;2021,且行且歌
    Spring Cloud Data Flow整合UAA使用外置数据库和API接口
    Spring Cloud Data Flow整合Cloudfoundry UAA服务做权限控制
    Spring自定义转换类,让@Value更方便
    2020年11月CKA新题考试心得体会
    使用Go module和GoLand初始化一个Go项目
    Spring Cloud Gateway简单入门,强大的微服务网关
    vue百度地图实现自定义覆盖物
    vue 中安装使用jquery
  • 原文地址:https://www.cnblogs.com/raygor/p/13257979.html
Copyright © 2020-2023  润新知