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:得到一个数据对象的类型

浙公网安备 33010602011771号