05 初学函数

  • 定义一个名字 对应多个语句操作 称之为定义函数
  • def 是关键字,表示定义一个函数
  • def interview():
        print("把求职者带到3号会议室")
        print("请求职者 完成答卷")
        print("让测试经理来面试 求职者")
        print("让技术总监面试 求职者")
    • interview 是函数的名字
    • ()里面可以有参数
    • 缩进的代码表示这个函数名字代表的具体动作,称之为函数体
    • 函数必须先定义再使用
  • 解释器执行完被调用函数内部的代码后,还会返回到调用它的代码处,继续执行后面的代码
  • python解释器内部帮我们实现的函数,称之为内置函数
  • 参数的作用:提供函数完成功能所必须得信息
  • 函数返回结果的关键字是return
  • 解释器执行函数中的return语句,就会立即从函数中返回到调用的地方,不会再执行return后的代码
  • 函数定义没有return语句,该函数调用后会返回一个None对象
  • None对象Python内置的,表示没有数据内容的对象
  • print的内容不是返回值
  • 有打印结果的函数不一定有返回值,打印只是print函数本身的功能
  • 函数的参数定义,一旦有缺省值,后面的所有参数必须都有缺省值
  • 函数调用
    • 参数按顺序传值调用
    • 指定参数名调用(调用的时候次序可以颠倒
    • 按顺序传值 + 指定参数名 混合调用
    • 一旦某个参数指定了参数名后面所有的参数必须指定参数名
  • 变量的有效范围
    • 局部变量:定义在函数内部的变量(参数变量也是局部变量)
    • 局部变量作用范围只能是该函数内部
    • 全局变量:定义在所有函数外部的变量
    • # 获取数字对应的汉字
      upChars = '零壹贰叁肆伍陆柒捌玖'
      
      
      def getZh(num):
          print('对应的汉字是:' + upChars[num])
      
      
      getZh(5)
    • 全局变量作用范围是整个模块文件
    • 函数内部是可以访问全局变量的
  • 范围覆盖
    • upChars = '零壹贰叁肆伍陆柒捌玖'
      def getZh(num):
          upChars = '零一二三四五六七八九'
          print('对应的汉字是:' + upChars[num])
      
      getZh(5)
    • 在函数内部,如果 局部变量全局变量同名,使用的是 局部变量

    • 如果在函数内部要对全局变量重新赋值,以下代码是错误的:
    • upChars = '零壹贰叁肆伍陆柒捌玖'
      def change():
          upChars = '零一二三四五六七八九'
      
      change()
      print(upChars)
    • 解释器会认为函数内部重新定义了一个局部变量,而不是把全局变量进行重新赋值  
    • 使用global 关键字 给全局变量重新赋值
    • upChars = '零壹贰叁肆伍陆柒捌玖'
      def change():
          global upChars
          upChars = '零一二三四五六七八九'
      
      change()
      print(upChars)  
    • 全局变量声明和赋值操作必须是分开的  
  • 常用内置函数
    • int:把一个字符串转化为对应的整数 或者 把一个小数转化为对应的整数(去掉小数部分)
    • float:把一个字符串转化为对应的小数(浮点数)或者把一个整数转化为对应的小数
    • str:得到一个对象的字符串表示
    • len:得到一个数据对象(字符串、列表、元组、字典)的长度
    • type:得到一个数据对象的类型
posted @ 2025-12-22 18:43  理想赵雷  阅读(4)  评论(0)    收藏  举报