04 python函数
2023-12-14 07:44:36
4.1 函数的快速开发体验
""" 演示,快速体验函数的开发和使用 """ #需求,统计字符串的长度,不使用内置函数len() str1 = 'itheima' str2 = 'itcast' str3 = 'python' #定义一个计数的变量 count = 0 for i in str1: count += 1 print(f'字符串{str1}的长度是:{count}') count = 0 for i in str2: count += 1 print(f'字符串{str2}的长度是:{count}') count = 0 for i in str3: count += 1 print(f'字符串{str3}的长度是:{count}') #使用函数简化过程 def my_len(data): count = 0 for i in data: count += 1 print(f'字符串{data}的长度是:{count}') my_len(str1) my_len(str2) my_len(str3)
4.1.1演示函数的定义语法
''' 演示函数的定义语法 ''' #定义一个语法,输出相关信息 def say_hi(): print('HI 我是学习的人,学python的人') #调用函数,让函数工作 say_hi() ''' 定义一个自动查核算的小函数 ''' def check(): print('欢迎来到延安大学!\n请出示你的健康吗及核酸证明!') #调用函数,让函数工作 check()
4.1.2 演示函数使用参数
''' 演示函数使用参数 ''' #定义两数相加的函数。通过参数接受被计算的两个数字 def add(x,y,z): result = x + y +z print(f"{x}+{y}+{z}的计算结果是:{result}") #调用函数 add(1,5,99) ''' 升级版定义一个自动查核算的小函数 ''' def cpu(wendu): print('欢迎来到延安大学!请出示你的健康吗及核酸证明!,并测量体温') if wendu > 37.5: print(f'你的体温是{wendu},需要隔离') else: print(f'你的体温是{wendu},请进') cpu(36.6)
4.1.3定义函数返回值的语法格式
''' 演示:定义函数返回值的语法格式 ''' #定义一个函数,完成2数相加功能 def add(x,y): result = x+y #通过返回值,将相加的结果的返回给调用者 return result #函数的返回值可以通过变量接受 r = add(5,6) print(r)
4.1.4 特殊字符:None
''' 演示特殊字符:None ''' #无return语句的函数返回值 def say_hi(): print('你好呀') result = say_hi() print(f'无返回值,返回的内容是{result}') print(f'无返回值,返回的内容类型是{type(result)}') #主动返回None的函数 def say_hi2(): print('你好呀') return None result = say_hi2() print(f'无返回值,返回的内容是{result}') print(f'无返回值,返回的内容类型是{type(result)}') ''' None用于if判断 ''' def check_age(age): if age > 18 : return 'success' else: return None result = check_age(17) if not result: #进入if 表示result是None值,也就是False print('未成年,禁止进入') ''' None用于声明无初始内容的变量 ''' name = None
4.1.5 函数的说明文档
''' 演示函数进行文档说明 ''' #定义函数,进行文档说明 def add(x,y): ''' add函数可以接受两个参数,进行两数相加的功能 :param x:形参x表示相加的其中一个数字 :param y: 形参y表示相加的另一个数字 :return: 返回值是两数相加的结果 ''' result = x + y print(f'两数相加结果是:{result}') return add(5,6)
4.1.6 演示嵌套调用函数
''' 演示嵌套调用函数 ''' #定义函数func_b def func_b(): print('----2-----') #定义函数func_a,并调用函数func_b def func_a(): print('----1-----') #嵌套调用函数func_b func_b() print('----3-----') #嵌套调用函数func_a func_a()
4.1.7? 演示在函数使用时,定义的变量作用域
''' 演示在函数使用时,定义的变量作用域 ''' #演示局部变量 def testA(): #定义局部变量num num = 100 print(num) testA() # 出了函数体,局部变量无法使用 #print(num) ''' 演示全局变量 ''' #定义全局变量 num = 600 def testB(): print(f'testB:{num}') def testC(): print(f'testC:{num}') testB() testC() print(num) ''' 在函数体内修改全局变量 ''' #定义全局变量 num = 900 aaa = 1800 def testB_1(): # global 关键字声明a是全局变量 global aaa aaa = 699999 print(f'testB_1:{aaa}') def testC_1(): num = 666 #局部变量 print(f'testC_1:{num}') testB_1() testC_1() print(num) print(aaa)
4.1.8 函数的基础使用案例
''' 演示函数综合开发案例 ''' #定义全局变量moeny,name money = 1 name = None #要求输入客户姓名 name=input('请输入姓名:') #定义查询函数 def query(show_header): if show_header: print('--------查询余额--------') print(f'你好{name},你的余额为{money}') #定义存款函数 def saving(num): global money #将money在函数内部定义为全局变量 money += num print('--------存款--------') print(f'你好{name},你的存款{num}成功') query(False) #调用query函数查询存款 #定义取款函数 def get_money(num): global money #将money在函数内部定义为全局变量 money -= num print('--------取款--------') print(f'你好{name},你的取款{num}成功') query(False) # 调用query函数查询存款 #定义主菜单函数 def main(): print("--------主菜单--------") print(f'你好{name},欢迎来到黑马银行,请选择操作:') print('查询余额\t[输入1]') print('存款\t\t[输入2]') print('取款\t\t[输入3]') #通过\t制表符对齐输出 print('退出\t\t[输入4]') return input('请输入你的选择:') #设置无限循环,确保程序不退出 while True: keyboard_input = main() if keyboard_input == '1': query(True) continue elif keyboard_input == '2': num = int(input('你想要存多少,请输入:')) saving(num) continue elif keyboard_input == '3': num = int(input('你想要取多少,请输入:')) get_money(num) continue else: print('退出') break
4.2 函数进阶
4.2.1? 函数的多个返回值
''' 演示python多个返回值实例 ''' #演示多个变量,接受多个返回值 def test(): return 1,2,3 x,y,z = test() print(x,y,z)
4.2.2 函数多种参数的使用方式
''' 演示多种传参的形式 ''' def user_info(name,age,gender): print(f'姓名{name},年龄{age},性别{gender}') #位置参数 - 默认使用形式 user_info('TMo',20,'男') #关键字参数 user_info(name='TMo',age=20,gender='男') user_info(age=20,name='TMo',gender='男')#可以不按照参数的定义顺序传参 user_info('TMo',age=20,gender='男') #缺省参数 def user_info(name,age,gender = '男'): #默认参数位于最后 print(f'姓名{name},年龄{age},性别{gender}') user_info('TMo',age=20) user_info('Lili',age=10,gender='女') #不定长 - 位置不定长, *号 #不定长的形式参数会作为元组存在,接受不定长数量的参数传入 def user_info(*args): print(args,type(args)) user_info(1,2,3,4,'小米') #不定长 - 关键字不定长 ,**号 def user_info(**kwargs): print(kwargs,type(kwargs)) user_info(a=1,b=2)
4.2.3 函数作为参数传递
''' 演示函数作为参数传递 ''' # 定义一个函数,接受另一个函数作为传入参数 def test_func(compute): result = compute(1, 2) print(f'compute参数类型是:{type(compute)}') print(f'计算结果是:{result}') # 定义另一个函数,准备作为参数传递另一个函数 def compute(x, y): return x + y # 调用并传入函数 test_func(compute)
4.2.4? lambda匿名函数
''' 演示lambda匿名函数 ''' # 定义一个函数,接受另一个函数作为传入参数 def test_func(compute): result = compute(1, 2) print(f'compute参数类型是:{type(compute)}') print(f'计算结果是:{result}') # 通过lambda匿名函数形式,将匿名函数作为参数传入 #lambda函数只支持一行代码 test_func(lambda x, y: x + y)
文章来源:https://blog.csdn.net/xtpyc/article/details/134981832
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!