做seo时网站更新的目的,网站风格配置怎么做,手机回收网站开发,app用户量排名Python学习路线 - Python语言基础入门 - 函数使用 函数介绍函数函数的快速体验 函数的定义函数的定义 函数的参数函数的传入参数函数的传入参数 - 传参定义函数的传入参数 - 语法解析练习案例#xff1a;升级版自动查询核酸 函数的返回值函数返回值的定义返回值的语法None类型… Python学习路线 - Python语言基础入门 - 函数使用 函数介绍函数函数的快速体验 函数的定义函数的定义 函数的参数函数的传入参数函数的传入参数 - 传参定义函数的传入参数 - 语法解析练习案例升级版自动查询核酸 函数的返回值函数返回值的定义返回值的语法None类型None类型的应用场景 函数说明文档函数的说明文档在PyCharm中查看函数说明文档 函数的嵌套调用什么是函数的嵌套 变量的作用域局部变量全局变量global关键字 综合案例 函数介绍
函数
函数是组织好的可重复使用的用来实现特定功能的代码段。 为什么随时都可以使用len()统计长度
因为len()是Python内置的函数
是提前写好的可以重复使用实现统计长度这一特定功能的代码段
我们使用过的input()、print()、str()、int()等都是Python的内置函数
函数的快速体验
不使用内函数len(),完成字符串长度的计算。
代码示例 演示快速体验函数的开发及应用# 需求统计字符串的长度不使用内置函数len()
str1 tiantianxiangshang
str2 haohaoxuexi
str3 python# 定义一个计数的变量
count 0
for i in str1:count 1print(f字符串{str1}的长度是{count})count 0
for i in str2:count 1print(f字符串{str2}的长度是{count})count 0
for i in str3:count 1print(f字符串{str3}的长度是{count})# 可以使用函数来优化这个过程
def my_len(data):count 0for i in data:count 1print(f字符串{data}的长度是{count})my_len(str1)
my_len(str2)
my_len(str3)总结 1.函数是 组织好的、可重复使用的、用来实现特定功能的代码段 2.使用函数的好处是
将功能封装在函数内可供随时随地重复利用提高代码的复用性减少重复代码提高开发效率
函数的定义
函数的定义
函数的定义
函数的调用
代码示例 演示函数的定义语法
# 定义一个函数输出相关信息
def say_hi():print(fHi 我是mry开始自学Python)# 调用函数让定义的函数开始工作
say_hi()总结 1.函数的定义语法
2.函数使用步骤:
先定义函数后调用函数
3.注意事项
参数不需要可以省略返回值不需要可以省略
练习案例自动查核酸 定义一个函数函数名任意要求调用函数后可以输出如下欢迎语
代码示例 演示函数基础定义练习案例自动查核酸
# 定义函数
def check():# 编写函数体输出信息print(欢迎来到欢乐谷\n请出示您的健康码以及72小时的核酸证明)# 调用函数
check()函数的参数
函数的传入参数
传入参数的功能是在函数进行计算的时候接受外部调用时提供的数据
有如下代码完成了2个数字相加的功能
函数的功能非常局限只能计算1 2。 有没有可能实现每一次使用函数去计算用户指定的2个数字而非每次都是1 2呢
可以的使用函数的传入参数功能即可实现。
函数的传入参数 - 传参定义
基础函数的定义语法
可以有如下函数定义
实现了每次计算的是 x y而非固定的 1 2 x y的值可以在调用函数的时候指定。
代码示例 演示函数使用参数
# 定义2数相加的函数通过参数接收被计算的2个数字
def add(x,y):result x yprint(f{x} {y} 的计算结果是{result})# 调用函数传入被计算的2个数字
add(5,6)函数的传入参数 - 语法解析
语法解析
函数定义中提供的x和y称之为形式参数形参表示函数声明将要使用2个参数 参数之间使用逗号进行分隔 函数调用中提供的5和6称之为实际参数实参表示函数执行时真正使用的参数值 传入的时候按照顺序传入数据使用逗号分隔
传入参数的数量是不受限制的。
可以不使用参数也可以仅使用任意N个参数
总结 1.函数的传入参数的作用是 在函数运行的时候接受外部传入的数据 2.使用方式
3.注意事项
函数定义中的参数称之为形式参数函数调用中的参数称之为实际参数函数的参数数量不限使用逗号分隔开传入参数的时候要和形式参数一一对应逗号隔开
练习案例升级版自动查询核酸
定义一个函数名称任意并接受一个参数传入数字类型表示体温 在函数内进行体温判断正常范围小于等于37.5度并输出如下内容
代码示例 演示函数的参数练习案例升级自动查核酸
# 定义函数接收1个形式参数数字类型表示体温
def check(num):# 在函数体内进行判断体温print(欢迎来到欢乐谷请出示您的健康码以及72小时核酸证明并配合测量体温)if num 37.5:print(f体温测量中您的体温是{num}度体温正常请进)else:print(f体温测量中您的体温是{num}度需要隔离)# 调用函数传入实际参数
check(37.3)check(39.3)函数的返回值
函数返回值的定义
什么是返回值
1.生活中的返回值
2.程序中的返回值
如图代码 定义两数相加的函数功能。完成功能后会将相加的结果返回给函数调用者 所以变量r接收到了函数的执行结果。
综上所述 所谓“返回值”就是程序中函数完成事情后最后给调用者的结果
返回值的语法
语法格式如图 如图变量就能接收到函数的返回值 语法就是通过return关键字就能向调用者返回数据
代码示例 演示定义函数返回值的语法格式
# 定义一个函数完成2数相加功能
def add(a,b):result a b# 通过返回值将相加的结果返回给调用者return result# 函数的返回值可以通过变量去接收
r add(5,6)
print(r)总结 1.什么是函数返回值 函数在执行完成后返回给调用者的结果 2.返回值的应用语法 使用关键字return 来返回结果 3.注意 函数体在遇到return后就结束了所以写在return后的代码不会执行。
None类型
None类型 思考如果函数没有使用return语句返回数据那么函数有返回值吗
实际上是有的。
Python中有一个特殊的字面量None其类型是class ‘NoneType’ 无返回值的函数实际上就是返回了None这个字面量
None表示空的、无实际意义的意思 函数返回的None就表示这个函数没有返回什么有意义的内容。 也就是返回了空的意思。
演示
None可以主动使用return返回效果等同于不写return语句
代码演示 演示特殊字面量None
# 无return语句的函数返回值
def say_hi():print(你好呀)result say_hi()
print(f无返回值函数返回的内容是{result})
print(f无返回值函数返回的内容类型是{type(result)})def say_hi2():print(你好呀)return Noneresult say_hi2()
print(f无返回值函数返回的内容是{result})
print(f无返回值函数返回的内容类型是{type(result)})结果返回
None类型的应用场景
None作为一个特殊的字面量用于表示空、无意义其有非常多的应用场景。 用在函数无返回值上 用在if判断上 在if判断中None等同于False一般用于在函数中主动返回None配合if判断做相关处理 用于声明无内容的变量上 定义变量但暂时不需要变量有具体值可以用None来代替
代码示例
def check_age(age):if age 18:return SUCCESSelse:return Noneresult check_age(16)
if not result:# 进入if表示result是None值 也就是Falseprint(未成年不可以进入)# None用于声明无初始内容的变量
name None总结 1.什么是None None是类型’NoneType’的字面量用于表示空的、无意义的 2.函数如何返回None
不使用return语句即返回None主动return None 3.使用场景函数返回值if判断变量定义
函数说明文档
函数的说明文档
函数是纯代码语言想要理解其含义就需要一行行的去阅读理解代码效率比较低。
我们可以给函数添加说明文档辅助理解函数的作用。
语法如下
通过多行注释的形式对函数进行说明解释
内容应写在函数体之前
代码示例 演示对函数进行文档说明
# 定义函数进行文档说明
def add(x,y):add函数可以接收2个参数进行2数相加的功能:param x: 形参x表示相加的其中一个数字:param y: 形参y表示相加的另一个数字:return: 返回值是2数相加的结果result x yprint(f2数相加的结果是{result})return result在PyCharm中查看函数说明文档
在PyCharm编写代码时可以通过鼠标悬停查看调用函数的说明文档 总结 1.函数说明文档的作用是 对函数进行说明解释帮助更好理解函数的功能 2.定义语法
:param 用于解释参数:return 用于解释返回值
函数的嵌套调用
什么是函数的嵌套
所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数 执行过程
如果函数A中调用了另外一个函数B那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置
代码示例 演示嵌套调用函数
# 定义函数func_b
def func_b():print(---2---)# 定义函数func_a()
def func_a():print(---1---)# 嵌套调用func_b()print(---3---)# 调用函数func_a
func_a()总结 1.什么是嵌套调用 在一个函数中调用另外一个函数 2.执行流程 函数A中执行到调用函数B的语句会将函数B全部执行完成后继续执行函数A的剩余内容
变量的作用域
局部变量
变量作用域指的是变量的作用范围(变量在哪里可用在哪里不可用) 主要分为两类局部变量和全局变量
所谓局部变量是定义在函数体内部的变量即只在函数体内部生效
变量a是定义在testA函数内部的变量在函数外部访问则立即报错。
局部变量的作用在函数体内部临时保存数据即当函数调用完成后则销毁局部变量
全局变量
所谓全局变量指的是在函数体内、外都能生效的变量 思考如果有一个数据在函数A和函数B中都要使用该怎么办 答将这个数据存储在一个全局变量里面
global关键字
思考testB函数需要修改变量num的值为200如何修改程序 testB函数内部的 num 200 是定义了一个局部变量
☆ 使用 global关键字 可以在函数内部声明变量为全局变量, 如下所示
代码示例 演示在函数使用的时候定义的变量作用域
# 演示局部变量
def test_a():num 100print(num)test_a()# 演示全局变量
num 200def test_a():print(ftest_a{num})def test_b():print(ftest_b{num})test_a()
test_b()
print(num)# 在函数内修改全局变量
num 200def test_a():print(ftest_a{num})def test_b():num 500print(ftest_b{num})test_a()
test_b()
print(num)# global关键字在函数内声明变量为全局变量
num 200def test_a():print(ftest_a{num})def test_b():global num # 设置内部定义的变量为全局变量num 500print(ftest_b{num})test_a()
test_b()
print(num)输出结果
D:\python\python-learn\venv\Scripts\python.exe D:\python\python-learn\41_变量的作用域.py
100
test_a200
test_b200
200
test_a200
test_b500
200
test_a200
test_b500
500总结 1.什么是局部变量 作用范围在函数内部在函数外部无法使用 2.什么是全局变量 在函数内部和外部均可使用 3.如何将函数内定义的变量声明为全局变量
使用global关键字global 变量
综合案例
综合案例ATM取钱 主菜单效果 查询余额效果 存、取款效果 定义一个全局变量money用来记录银行卡余额默认5000000 定义一个全局变量name用来记录客户姓名启动程序时输入 定义如下的函数 查询余额函数存款函数取款函数主菜单函数 要求 程序启动后要求输入客户姓名 查询余额、存款、取款后都会返回主菜单 存款、取款后都应显示一下当前余额 客户选择退出或输入错误程序会退出否则一直运行
代码示例 演示函数综合案例开发
# 定义全局变量money name
money 50000
name None# 要求客户输入姓名
name input(请输入您的姓名)
# 定义查询函数
def query(show_header):if show_header:print(-------------查询余额------------)print(f{name}你好您的余额剩余{money}元)# 定义存款函数
def saving(num):global money # money在函数内部定义为全局变量money numprint(-------------存款------------)print(f{name}您好您存款{num}元成功。)# 调用query函数查询余额query(False)# 定义取款函数
def get_money(num):global moneymoney - numprint(-------------取款------------)print(f{name}您好您取款{num}元成功。)# 调用query函数查询余额query(False)# 定义主菜单函数
def main():print(-------------主菜单------------)print(f{name}你好欢迎来到MRY银行ATM请选择操作)print(查询余额\t[输入1])print(存款\t\t[输入2]) #通过\t制表符对齐输出print(取款\t\t[输入3])print(退出\t\t[输入4])return input(请输入您的选择)# 设置无限循环确保程序不退出
while True:keyword_input main()if keyword_input 1:query(True)continue # 通过continue继续下一次循环一进来就是回到了主菜单elif keyword_input 2:num int(input(您想要存多少钱请输入))saving(num)continueelif keyword_input 3:num int(input(您想要取多少钱请输入))get_money(num)continueelse:print(程序退出啦)break # 通过break退出循环输出结果
D:\work\pythonProject\venv\Scripts\python.exe D:\work\pythonProject\07_函数综合案例.py
请输入您的姓名MRY
-------------主菜单------------
MRY你好欢迎来到MRY银行ATM请选择操作
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择1
-------------查询余额------------
MRY你好您的余额剩余50000元
-------------主菜单------------
MRY你好欢迎来到MRY银行ATM请选择操作
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择2
您想要存多少钱请输入50000
-------------存款------------
MRY您好您存款50000元成功。
MRY你好您的余额剩余100000元
-------------主菜单------------
MRY你好欢迎来到MRY银行ATM请选择操作
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择3
您想要取多少钱请输入300000
-------------取款------------
MRY您好您取款300000元成功。
MRY你好您的余额剩余-200000元
-------------主菜单------------
MRY你好欢迎来到MRY银行ATM请选择操作
查询余额 [输入1]
存款 [输入2]
取款 [输入3]
退出 [输入4]
请输入您的选择4
程序退出啦Process finished with exit code 0