函数的对象

news/2026/1/24 13:59:27/文章来源:https://www.cnblogs.com/fart/p/19526173

目录
  • 一、函数对象的四大功能
      • 1、引用
      • 2、当作参数传给一个函数
      • 3、可以当作函数的返回值
      • 4、可以当作容器类型的元素
  • 二、猜年龄游戏

一、函数对象的四大功能

函数是第一类对象,即函数可以被当作数据处理

def func():print('from func')print(func)
<function func at 0x10af72f28>

1、引用

x = 'hello nick'
y = xf = func
print(f)
<function func at 0x10af72f28>

2、当作参数传给一个函数

len(x)def foo(m):m()foo(func)
from func

3、可以当作函数的返回值

def foo(x):return xres = foo(func)
print(res)
res()
<function func at 0x10af72f28>
from func

4、可以当作容器类型的元素

l = [x]function_list = [func]
function_list[0]()
from func

二、猜年龄游戏

import randomdef register():print('欢迎来到注册页面')username = input('请输入你的用户名:')pwd = input('请输入你的密码')with open('userinfo.txt', 'a', encoding='utf8') as fa:fa.write(f'{username}:{pwd}|')def login():print('欢迎来到登录页面')username = input('请输入你的用户名:')pwd = input('请输入你的密码')with open('userinfo.txt', 'r', encoding='utf8') as fr:data = fr.read()data_split = data.split('|')  # ['nick:123','tank:123']userinfo = f'{username}:{pwd}'if userinfo in data_split:print('登录成功')else:print('登录失败')def get_price_dict():"""获取奖品字典"""with open('price.txt', 'r', encoding='utf8') as f:  # price.txt右下角为什么编码,则encoding为什么编码price_dict = f.read()price_dict = eval(price_dict)  # type:dict # 获取奖品字典return price_dictdef select_price(price_dict):"""选择奖品"""price_self = dict()# 打印商品for k, v in price_dict.items():print(f'奖品编号:{k} {v}')# 获取奖品的两次循环for i in range(2):price_choice = input('请输入你需要的奖品编号:')if not price_choice.isdigit():print("恭喜你已经获得一次奖品,奖品为空!并且请输入正确的奖品编号!")continueprice_choice = int(price_choice)if price_choice not in price_dict:print('你想多了吧!')else:price_get = price_dict[price_choice]print(f'恭喜中奖:{price_get}')if price_self.get(price_get):price_self[price_get] += 1else:price_self[price_get] = 1print(f'恭喜你获得以下奖品:{price_self}')def guess_age():"""猜年龄函数"""print("欢迎来到猜年龄游戏")age = random.randint(18, 60)  # 随机一个数字,18-60岁count = 0  # 计数while count < 3:count += 1inp_age = input('请输入你想要猜的年龄:')# 判断是否为纯数字if not inp_age.isdigit():print('搞事就骂你傻逼')continueinp_age = int(inp_age)# 筛选年龄范围if inp_age > 60 or inp_age < 18:print('好好题目,18-60岁,非诚勿扰')continue# 核心逻辑if age == inp_age:print('猜中了,请选择你的奖品')price_dict = get_price_dict()select_price(price_dict)breakelif age > inp_age:print('猜小了')elif age < inp_age:print('猜大了')continuemsg = '''
1: 登录
2: 注册
3: 猜年龄游戏
'''func_dic = {'1': login,'2': register,'3': guess_age,
}print(msg)choice = input('请选择你需要的功能:')func_dic[choice]()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1209981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

讲讲宁夏昊远联动的服务质量,看看能否满足客户需求

问题1:宁夏昊远联动文化传媒有限公司在宁夏户外媒体行业的地位如何?核心优势是什么? 宁夏昊远联动文化传媒有限公司是宁夏城市商圈LED大屏领域的头部运营商,这一地位并非凭空而来,而是基于其在资源覆盖、地段选择…

函数的返回值

目录一、什么是返回值?二、为什么要有返回值? 一、什么是返回值? 函数内部代码经过一些列逻辑处理获得的结果 def func():name = nickreturn namename = func() print(name)nick二、为什么要有返回值? 题目:现在有…

函数的嵌套

目录一、函数嵌套的定义通过给一个函数传参即可求得某个圆的面积或者圆的周长方法一方法二二、函数的嵌套调用 一、函数嵌套的定义 函数内部定义的函数,无法在函数外部使用内部定义的函数。 def f1():def f2():print(…

可变长参数

目录一、可变长参数*二、可变长参数**三、可变长参数*和**联用 一、可变长参数* # 可变长参数之* def func(name,pwd,*args):print(name:, name, pwd: , pwd)print(args)return 1 res = func(hanyue,123456,fart,123,…

名称空间和作用域

目录一、名称空间1.1 内置名称空间1.2 全局名称空间1.3 局部名称空间1.4 加载顺序1.5 查找顺序二、作用域2.1 全局作用域2.2 局部作用域2.3 注意点2.4 函数对象+作用域应用三、补充知识点3.1 global关键字3.2 nonlocal…

混联混动汽车动力性经济性仿真:Cruise与Simulink联合探秘

cruise软件模型&#xff0c;混动仿真模型&#xff0c;cruise与simulink联合仿真模型&#xff0c;Cruise混动仿真模型&#xff0c;混联混动汽车动力性经济性仿真在汽车行业向着绿色、高效迈进的征程中&#xff0c;混联混动汽车凭借其独特的动力架构&#xff0c;成为了研究与发展…

基于PLC的物料分拣控制系统设计

第2章 物料分拣控制系统的总体方案设计 2.1技术要求 1&#xff09;对于金属工件能根据工件大小进行大、中、小分类&#xff0c;并按大、中、小分拣至不同的分装箱内&#xff0c;同时对不同类型的工件进行计数。 2&#xff09;本系统还将对不同材料进行分拣&#xff0c;对于非金…

深度测评8个AI论文平台,本科生搞定毕业论文!

深度测评8个AI论文平台&#xff0c;本科生搞定毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 在当前高校教育中&#xff0c;论文写作已成为本科生毕业过程中不可回避的重要环节。面对繁重的写作任务和时间压力&#xff0c;越来越多的学生开始借助 AI 工具来提升效…

集合类型内置方法

目录集合基本用不到,redis,可以用来去重1、作用:存储一大堆元素的东西,容器数据类型2、定义方式:以{}用逗号隔开不可变数据类型3、内置方法3.1 并集3.2 交集3.3 差集3.4 交叉补集 集合基本用不到,redis,可以用来…

AI技术在英语培训中的应用

AI技术在英语培训中的应用已从单纯的“辅助工具”进化为“数字伙伴”。它不再只是纠正拼写或提供词典&#xff0c;而是构建了一个高度自适应、沉浸式且无压力的全真学习环境。以下是AI技术在英语培训中的深度应用场景&#xff1a;1. 听说能力&#xff1a;从“机械纠音”到“全真…

列表数据类型内置方法

目录列表1、作用:描述多个值,比如爱好2、定义方式:3、内置方法3.1 优先掌握1、索引取值2、切片3、长度4. in/not in5. for 循环6. del删除7. append() # 追加3.2 需要掌握1、count(对列表内的某一个元素计数)2、ext…

数据类型分类

目录一、按存值个数区分列表[] 元组() 集合{} 字典{name: fart}二、按可变不可变区分三、有序无序区分四、按访问类型区分 一、按存值个数区分 列表[] 元组() 集合{} 字典{name: fart}存值个数 数据类型单个值 数…

小结

目录一、异常TODO二、深浅拷贝2.1 拷贝2.2 浅拷贝2.3 深拷贝三、数据类型内置方法3.1 数字类型内置方法3.1.1 整型3.1.2 浮点型3.2 字符串类型内置方法3.3 列表类型内置方法3.4 元祖类型内置方法3.5 字典类型内置方法3…

异常处理

目录一、什么是异常1.1 语法错误1.2 逻辑错误二、异常的种类2.1 常用异常2.2 其他异常三、异常处理3.1 提前预防3.2 之后预防四、try...except总结五、抛出异常raise5.1 自定义异常六、断言assert 一、什么是异常异常就…

字典数据类型内置方法

目录1、作用:对于值添加描述信息使用他2、定义方式:用{}以逗号隔开加入键值对key:value3、内置方法3.1 优先掌握1. 按key取值,即可取也可改变2、len长度3. in/not in4. for循环5.keys/values/items(items用的最多,一…

如何为孩子挑选学习机?2026年学习机品牌全面评测与推荐,直击护眼与资源痛点

在数字化学习浪潮席卷全球的背景下,智能学习机已从辅助工具演变为家庭教育的核心组成部分。面对市场上品牌林立、功能各异的产品矩阵,家长与教育工作者在决策时常陷入信息过载与选择焦虑,核心关切点在于如何平衡技术…

详细介绍:基础开发工具--编译器g++/gcc 自动化构建make/Makefile

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

学习机哪个品牌更专业?2026年学习机推荐与评价,针对互动性与质量痛点

研究概述 在数字化教育浪潮与家庭教育投入持续增长的背景下,学习机已从辅助工具演变为学生核心的学习平台。面对市场上品牌众多、功能各异、宣传纷繁的现状,家长与教育工作者在选购时常陷入信息过载与选择困难的困境…

基于DeepSeek-R1手搓AI Agent智能体(手把手,个人电脑也能玩哦)

本篇文章介绍使用Ollama本地部署DeepSeek-R1 8B通用大模型&#xff0c;作为Agent智能大脑&#xff0c;基于Python3.11&#xff08;虚拟环境管理工具Conda&#xff09;、Langchain开发框架、Chroma向量数据库、ReAct提示词模版等工具进行开发AI Agent人工智能体。为了便于理解智…

2026年学习机品牌推荐:智慧教育趋势排名,涵盖启蒙与备考全阶段核心需求

在数字化浪潮席卷教育领域的当下,智能学习机已从辅助工具演变为家庭教育的核心基础设施。面对市场上品牌林立、功能各异的产品,家长与教育工作者在决策时普遍面临核心焦虑:如何在保障孩子视力健康与学习专注度的前提…