网站pv uv 多少算好站wordpress版权加密

web/2025/10/7 17:49:15/文章来源:
网站pv uv 多少算好站,wordpress版权加密,设计师培训机构有哪些,农业开发公司企业网站建设今天我们要来聊聊一个让人又爱又恨的话题——局部变量与全局变量的八大迷雾。在Python的世界里#xff0c;变量就像是你的小宠物#xff0c;有时候它们乖乖听话#xff0c;但一不小心就给你挖了个大坑#xff01;别担心#xff0c;今天我们就一起把这些陷阱挖出来#xf…今天我们要来聊聊一个让人又爱又恨的话题——局部变量与全局变量的八大迷雾。在Python的世界里变量就像是你的小宠物有时候它们乖乖听话但一不小心就给你挖了个大坑别担心今天我们就一起把这些陷阱挖出来填平它让你的编程之路畅通无阻 1. 基础篇什么是局部和全局变量 想象你在厨房做饭ingredient食材是全局的因为整个厨房都能用到它。而当你在切洋葱时那把刀(knife)就是局部的只在这个特定任务函数里使用。 ingredient 洋葱def chop():knife 锋利的菜刀print(f用{knife}切{ingredient})chop()这里knife仅在chop函数内部可见就是局部变量而ingredient是全局变量哪里都能访问。 2. 修改全局变量的第一坑你以为你能改 直接在函数里修改全局变量Python可不轻易让你得逞 global_var 10def change_global():global_var 20 # 注意这只是创建了一个新的局部变量change_global() print(global_var) # 猜猜看输出是多少输出还是10Python说“嘿你这是新建了个局部的global_var原来的我可没动哦。” 3. 正确修改全局变量要用global关键字 想动我的全局变量得先打招呼 global_var 10def change_global_correctly():global global_varglobal_var 20change_global_correctly() print(global_var) # 这次对了吧这次输出是20因为我们明确告诉Python“嘿我要动的是全局的那个家伙。” 4. 局部变量的“幽灵”效应 当你在函数内未声明就使用变量名Python会认为你在找全局变量但这可能会引发一些诡异的现象。 def mystery():print(unknown_var) # 啊哦这是谁try:mystery() except NameError as e:print(e) # 未知变量错误它真的存在吗这会抛出NameError提醒你“unknown_var”这个幽灵并不存在于全局空间。 5. 非直观的变量作用域嵌套函数 嵌套函数可以访问外层函数的变量但修改时要小心 def outer():outer_var 外层的宝藏def inner():print(outer_var) # 能找到我外公的宝藏吗outer_var 被内层修改了 # 实际上这创造了一个新的局部变量inner()print(outer_var) # 外层的值会变吗outer() # 来看看结果你会发现外层的值没变因为内层创建了一个同名的局部变量。 6. 使用nonlocal关键字的场景 当你确实想在嵌套函数中修改外层函数的变量时nonlocal来帮忙 def outer():outer_var 原始宝藏def inner():nonlocal outer_varouter_var 宝藏升级了print(outer_var)inner()print(outer_var) # 这次会怎样outer() # 哈哈成功修改nonlocal关键字让Python知道你想修改的是外层的变量不是创建新的。 7. 全局变量的滥用是福还是祸 全局变量用得爽但过度依赖就像吃太多糖短期内甜长期有害。它可能导致代码难以维护和测试。尽量通过函数参数和返回值传递数据保持模块间的独立性这样你的代码才会更健康 8. 小心闭包的陷阱 闭包是Python中的高级特性但也可能因变量作用域而让人困惑。 def create_counter():count 0def counter():nonlocal countcount 1return countreturn countermy_counter create_counter() print(my_counter()) # 1 print(my_counter()) # 2 # 看count被正确地保留和增加了闭包可以记住外部函数的状态但记得这也意味着它可能会保留比预期更多的内存所以使用时要谨慎。 高级技巧 9. 利用模块级别的变量 在大型项目中有时需要在整个模块范围内共享数据。你可以定义模块级别的变量来实现这一目的。但请记住这样做可能会增加模块间的耦合度要谨慎使用。 # my_module.py shared_data []def add_to_shared(data):shared_data.append(data)def get_shared():return shared_data# 另一个文件中使用 import my_modulemy_module.add_to_shared(Hello) print(my_module.get_shared()) # 输出: [Hello]10. 全局变量的替代方案配置文件与环境变量 在处理配置信息或应用设置时使用配置文件如.ini, .json, 或环境变量是一个更好的选择而不是硬编码全局变量。这样可以提高代码的灵活性和可维护性。 # 假设有一个config.json {database: my_db,port: 5432 }import json import os# 读取配置文件 with open(config.json) as f:config json.load(f)# 或者使用环境变量 DB_NAME os.getenv(DB_NAME, default_db) # 如果环境变量不存在则使用default_db11. 上下文管理器与with语句 虽然这不是直接关于变量作用域的但了解上下文管理器可以帮助你更好地管理资源比如文件操作时的自动关闭。 with open(myfile.txt, w) as file:file.write(Hello, world!) # 文件在这里自动关闭无需显式调用file.close()这里的file变量在with块内有效一旦执行完毕Python会确保资源得到释放。 12. 闭包的高级应用记忆化 记忆化是一种优化技术用于存储函数计算的中间结果减少重复计算。这对于有重叠子问题的递归函数尤其有用。 def memoize(func):cache {}def wrapper(*args):if args not in cache:cache[args] func(*args)return cache[args]return wrappermemoize def fibonacci(n):if n 1:return nelse:return fibonacci(n-1) fibonacci(n-2)print(fibonacci(10)) # 55而且只计算了一次n1到n10通过这种方式memoize装饰器创建了一个闭包它记录了函数调用的结果避免了重复劳动。 这些额外的知识点和技巧希望能为你的Python学习之旅增添更多色彩。

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

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

相关文章

网站简介 title织梦网站必须下载

协同工作和发布 - 协同工作 1. 了解权限管理需求 在中大型的公司里,人员的分工非常仔细:同一个小程序项目,一般会有不同岗位、不同角色的员工同时参与设计与开发。 此时出于管理需要,我们迫切需要对不同岗位、不同角色的员工的…

国外建筑设计网站推荐泉州一个网站多少钱

1231312转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/7097077.html

网站着陆页有多少个seo优化啥意思

欢迎回到 TypeScript 高级技巧系列文章。我们之前已经讨论了Extract、Exclude和Indexed Access Types,接下来我们将深入探讨我最喜欢的TypeScript特性之一:判别联合类型(Discriminated Unions)。为什么我如此钟爱它呢?…

江门企业网站建设公司两学一做 官方网站

为实现Jwt简单的权限管理,我们需要用Jwt工具来生成token,也需要用Jwt来解码token,同时需要添加Jwt拦截器来决定放行还是拦截。下面来实现: 1、gradle引入Jwt、hutool插件 implementation com.auth0:java-jwt:3.10.3implementatio…

分析对手网站的优化方法网站建设 化工

题目:给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 我的代码: 对撞指针 class Solution {public int[] twoSum(int[] numbers, int target) {int low 0;//指向头int high numbers.le…

佛山免费建站怎样个人建设网站还要备案么

转载自 Java IO: InputStreamReader和OutputStreamWriter作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本章节将简要介绍InputStreamReader和OutputStreamWriter。细心的读者可能会发现,在之前的文章中,IO中的类要么以Stream结尾&#xff0c…

网站开发的工作内容深圳网站制作公司电话

机电一体化专业英语宋主民章第 3 章 中间转换电路3.1 前言传感器在测量系统中是把所测的机械信号转换为电量的一次仪表。这些电量可能是所用元件的电阻、电容或电感参数的变化,需要用电桥将它们转换为电压或电流信号。另一方面,实际上由一次仪表产生的电…

怎么创建免费自己的网站平台网站制作老了

文章目录 docker-compose命令启动单个容器重启容器停止和启动容器停止和启动所有容器演示一个简单示范 docker-compose 部署有依赖问题 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许您使用简单的 YAML 文件来配置应用程序的服务、网络和存储等方…

网站生成pc应用网络推广营销方案免费

事件与事件流 事件,这里指和网页进行互动。比如点击链接,移动鼠标等网页被触发,做出响应,形成交互。 js 采用事件监听器来监听事件是否发生。 事件流 事件流描述了从页面中接收事件的顺序。当一个事件发生在某个元素上时&…

色块设计网站自己做淘宝客网站

一.海康可见USB3.0工业面阵相机 海康usb相机需要去海康官网上下载对应系统的MVS客户端及SDK开发包 海康机器人-机器视觉-下载中心 选择Windows系统和unbtun(我是linux aarch64,所以选择了对应压缩包解压) Windows系统 1.双击安装包进入安装界面&…

做个网站 一般费用建设什么企业网站

目录 1.首先引入依赖2.main中配置注解3.src/main/resources/application.yml配置文件 本文的主要工作是介绍如何搭建一个Eureka服务 1.首先引入依赖 pom文件中加入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring…

天河网站建设系统网络广告视频

通信是指线程之间以何种机制来交换信息&#xff0c;同步是指程序中用于控制不同线程间操作发生相对顺序的机制 进程由线程组成&#xff0c;所以进程中有的通讯机制线程中全都有 线程的通讯方式&#xff1a; 1. 锁机制&#xff1a;包括互斥锁、条件变量、读写锁 互斥锁提供了以…

营销型网站费用赤峰北京网站建设

上一篇文章中提到了一个有趣的实验&#xff0c;简单来说就是1-100中有若干个数字是“正确的”&#xff0c;只告诉其中一部分“正确的”数字&#xff0c;去猜全部“正确的”数字。为了严谨的去研究这个问题&#xff0c;我们需要将一些概念进行抽象。首先&#xff0c;把提前告知的…

大连网站制作营销渠道模式有哪些

如果表中只有1行,则索引的基数当然应为1.它只是计算唯一值的数量.如果您将索引视为基于存储桶的查找表(如散列),则基数是存储桶的数量.以下是它的工作原理&#xff1a;当您在一组列(a,b,c,d)上构建索引时,数据库将遍历表中的所有行,查看每行的4个列的有序四元组.假设你的表看起…

行业网站制作公司网站制作源码

方案概述 人脸识别方案采用高性能AI芯片&#xff0c;支持RGB和IR摄像头&#xff0c; 支持LCD显示屏。方案特点 • 普通RGB摄像头和IR摄像头同时参与3D成像RGB摄像头 支持屏幕回显 • 双目摄像头得到特征点视差计算人脸相 对3D深度信息&#xff0c; 同时利用可见光和红外 光谱信…

静态网站开发步骤网站建设与实践高自考

鞅过程与马尔科夫过程是什么关系&#xff1f; 1.鞅代表的是公平游戏&#xff0c;马尔可夫过程侧重过程无记忆性 总而言之&#xff1a;鞅和马尔可夫过程没有包含的关系。因为鞅代表的是公平游戏&#xff0c;而马尔可夫过程侧重过程无记忆性。两者没有内在联系。 注&#xff1…

深圳住房和建设局网站 宝安常宁城乡建设局网站查询

E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c;以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位于小浪底水…

公司网站建设考核wordpress模板上传不

一、前言 postman是一款强大网页接口调试工具&#xff0c;我们在平时开发过程中经常会使用到&#xff0c;一般使用最多的是postman的客户端&#xff0c;实际上postman在谷歌浏览器上也提供了插件&#xff0c;可以不必要安装客户端进行接口测试工作。 建议更新到最新谷歌浏览器&…

网络网站推广优化百度网站搜索关键字

注射成型机(简称注射机或注塑机)是将热塑性塑料或热固性料利用塑料成型模具制成各种形状的塑料制品的主要成型设备。 注射成型是通过注塑机和模具来实现的。 注塑机通常由注射系统、合模系统、液压传达动系统、电气控制系统、润滑系统、加热及冷却系统、安全监测系统等组成。 注…

做食品的采购员常用网站网站之前没备案

RDMA编程实践 本文描述了RDMA编程过程中的SEND-RECEIVE双边原语的代码实现。包含多个版本&#xff0c;1、client向server发送消息&#xff0c;server回复client收到消息(ACK)&#xff0c;然后两边断开连接。2、server端循环等待客户端建立连接&#xff0c;client发送一次消息后…