• 函数一函数初识


    一、函数初识

    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')
      
  • 相关阅读:
    屏幕内跟随鼠标移动(鼠标点击一个位置,物体移动到该位置)
    su root认证失败的解决方法
    centos yum换阿里云源
    用户名 不在 sudoers文件中
    WebApi防重复提交方案
    解决Ubuntu安装openssh-server依赖问题
    # git 操作拾遗
    编译原理-词法分析05-正则表达式到DFA-01
    Content Negotiation in ASP.NET Web API
    Model Validation in ASP.NET Web API
  • 原文地址:https://www.cnblogs.com/yaoqi17/p/11040215.html
Copyright © 2020-2023  润新知