函数或变量 x 无法识别。_这个变量陷阱,连高手都躲不开

2023-11-14

点击上方“Python小白集训营”,选“星标”公众号

重磅干货,第一时间送达

966b67050ed1301f796683325d5564cd.png

图 | Pexels

日期 | 2021.1.2

你可能会好奇,是什么样的陷阱,连高段位的python选手也会频繁踩坑。

讲这个topic前,先来讲一个例子,这是我前几个月在GitHub上看到的,很有意思:

x=99

def func1():

  global x

  x=88

def func2():

  global x

  x=77

大家觉得X的值,到底是多少,是88还是77,先留个悬念。

Python的变量和其他语言一样,都分为全局变量和局部变量,我们来看看在Python如何实现这些变量:

x=100

def func():

  print ('Inside func: x is {}'.format(x))

func()

print 'x i

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数或变量 x 无法识别。_这个变量陷阱,连高手都躲不开 的相关文章

  • 线性表的查找算法-C语言

    文章目录 一 实验目的 二 实验内容 三 实验工具 四 实验代码 五 实验结果 六 总结与思考 一 实验目的 了解查找的基本概念 理解顺序查找 折半查找和分块查找的思想 掌握折半查找过程的判定树构造方法 实现线性表的查找算法 二 实验内容
  • mybatis中的if-else语句的使用解答

    1 mybatis中if else语句的语法 使用模板样例
  • 什么是沙箱技术?与容器有什么区别

    沙箱和容器的 隔离 机制 首先 什么是沙箱 它本身就是一种线下生活现象的虚拟化 现实世界里 小孩子们在沙地 沙滩上用木板隔离出一个方盒子 在盒子里堆砌 创造各种东西 城堡 房屋 山丘 这就是一个沙箱 它有两个根本特点 一 它有边界 通过木板
  • aix oracle 11 补丁包,oracle 11g for aix6.1安装基本步骤(含升级11.1.0.7)

    oracle 11g for aix6 1安装基本步骤 含升级11 1 0 7 1 检查物理内存 swap空间以及tmp空间 usr sbin lsattr E l sys0 a realmem 检查内存至少1G usr sbin lsps
  • anaconda创建python环境

    1 前提 系统中安装了anaconda沙箱环境 下载地址 anaconda官网 conda V 检验是否安装以及当前conda的版本 2 conda常用的命令 1 conda list 查看安装了哪些包 2 conda env list 或
  • bcd码和十进制码之间的转换

    BCD码转十进制 static u8 BCDToInt u8 value unsigned char temp 0 temp value gt gt 4 10 temp value 0x0F return temp 十进制转BCD码 sta
  • java awt linux_解决在linux下awt调用错误的问题

    在java中使用awt在服务器上处理图片的时候发现有错 第一遍执行 500 Servlet Exception java lang InternalError Can t connect to X11 window server using
  • MyBatis自动生成实体类

    MyBatis MySQL生成实体类 需要的工具jar包 mybatis generator core 1 3 2 jar mysql connector java 5 0 4 jar 第一步 编写一个MybatisGeneratorUti
  • android 之 如何让app没有图标

    我们有时候需要让我们的app没有图标 不要问我没有图标要干啥 我只是说的一个需求 单讲技术不说别的 首先我们要获得 PackageManager 的对象 PackageManager packageManager getPackageMan
  • Caffeine缓存的使用

    1 springboot集成Caffeine
  • KeePass搭建一个私人密码库

    文章作者 GoodBoyboy 文章链接 https blog goodboyboy top posts 2546190081 html 版权声明 本博客所有文章除特别声明外 均采用 CC BY NC SA 4 0 许可协议 转载请注明来自
  • 线程(进程)的同步与互斥实例

    1 有一个队列 线程1负责从网络接收分组 并将收到的分组放到队列尾 然后再次从网络中接收下一个到达的分组 并进行同样的队列操作 线程2从此队列头中取出一个分组进行处理 处理完毕后 再次从队列中取出一个分组进行处理 处理完毕后再次从队列头取出
  • [转]Python实现多功能音乐播放器

    前言 就是用Python做一个简易的音乐播放器 废话不多说 咱们直接开干 当然 今天做这个肯定不是最简单的 最简单的音乐播放器 9行代码足以 import time import pygame file r 歌曲路径 pygame mixe
  • torch.hub.load()解析,如何加载本地权重

    用yolov5训练了一个权重 项目只能部署在本地 官方文档 torch hub load repo or dir model args source github force reload False verbose True skip v
  • Python 第一阶段

    第一章 安装 1 1 开发环境 官网 https www python org稳定版 Stable Releases检验 cmd 命令 python version 1 2 开发工具 PyCharm官网 https www jetbrain
  • (Struts2学习篇) Struts2配置文件之 struts-default.xml

    对struts default xml的一些注释
  • zmq+protobuf 的坑点难点

    zmq protobuf 的坑点难点 之前项目要用到zmq protobuf的方式传递数据 软件采用前后端分离的方式开发 其中前端是异地同事用python开发的 后端是我们这边用C 开发的 1 中间有遇到问题是前后端传送zmq信息时 发现字
  • DRM驱动(七)之atomic_commit

    上节已经把应用的参数check了一遍 这次就可以把对应的参数配置到硬件里进行刷图操作了 int drm atomic commit struct drm atomic state state struct drm mode config c
  • Qt 控制台运行无法弹出小黑框

    Qt Console Application Qt 主要是GUI界面的设计 但在学习的时候控制台运行显得更加方便一些 小编在第一次新建控制台运行的时候 点击运行没有弹出小黑框 解决方法 主要是因为没有执行qmake 就需要在Qt的pro文件

随机推荐

  • RocketMQ 用法详解,你学会了吗?

    大家好 我是指北君 消息中间件是我们工作中使用最频繁的一类中间件 它具有低耦合 可靠投递 广播 流量控制 最终一致性等一系列功能 成为异步RPC的主要手段之一 当今市面上有很多主流的消息中间件 如老牌的ActiveMQ RabbitMQ 炙
  • C++的使用小教程2——基于范围的for循环

    C 的使用小教程2 基于范围的for循环 1 常规的for循环 2 基于范围的for循环 在学习了python之后 一直觉得python的语法很方便 特别是python中遍历数组的方式 无需配置特别的参数就可以完全遍历 C语言是很难实现的
  • zookeeper和Eureka

    简介 Zookeeper 主要为大型分布式计算提供开源的分布式配置服务 同步服务和命名注册 曾经是Hadoop项目中的一个子项目 用来控制集群中的数据 目前已经升级为独立的顶级项目 很多场景下也用它作为Service发现服务解决方案 Eur
  • freessl生成免费ssl

    利用freessl免费生成https https freessl cn acme deploy 官网说明地址 https blog freessl cn acme quick start 下载acme工具包 curl https get a
  • 拟合是什么意思

    在机器学习和统计学中 拟合 Fitting 是指使用模型来适应数据的过程 它表示通过对模型参数进行调整 使模型能够最好地拟合给定的数据集 当我们说一个模型 拟合 了数据时 意味着该模型通过学习数据的模式和结构 能够产生与实际观测数据相匹配的
  • Spring Cloud Alibaba之配置管理组件 - Nacos

    TOC 使用Nacos管理配置 为什么要需要配置管理 在微服务架构中 每个微服务都有可能会存在多个实例 为了保证同一微服务不同实例的配置文件内容一致 我们就需要有一个服务可以对微服务项目的配置文件进行统一管理 通常我们将其称之为统一配置管理
  • Qt系列文章之 QDataStream

    上一篇文章介绍了如何使用QFileDialog来选择文件路径并读入项目界面 本文介绍如何使用Qt的序列化技术来将用户定义的一些变量保存到文件 用到的主要模块是QDataStream 对象序列化 QDataStream Qt提供了两个关键的二
  • 【STM32】HAL库实现定时器多通道输入捕获频率

    原理说明 捕获信号的频率其实有很多中实现方式 外部中断 输入捕获 使用外部时钟计数器等 对STM32有一定了解的朋友们在测量频率的问题上往往都会想到利用输入捕获 输入捕获的方式在中低频率段 1HZ 200KHZ 的测量还是比较准确的 在高频
  • Qt如何画圆或椭圆 QPainter

    paint gt drawEllipse 20 20 210 160 将圆或椭圆框在一个矩形中 括号中的四个参数指定矩形的参数 左上角坐标 20 20 宽高为 210 160 更新 这里的paint类型为QPainter 画椭圆 该椭圆内切
  • 字符设备驱动框架及测试程序

    字符设备驱动框架及测试程序 1 驱动框架 1 1 驱动文件 my cdev c 1 2 Makefile 2 驱动测试程序 2 1 测试文件 my cdev test c 2 2 Makefile 3 测试结果 全程打开dmesg 3 0
  • 新技术前沿-2023-基于Stable Difussion体验AI绘画

    Stable Diffusion 入门简明教程 耗时80小时 超详细的胎教级Stable Diffusion使用教程 看这一篇就够 基于ChatGPT Stable Diffusion实现AI绘画 1 简介 近年来 AI生成内容 AIGC
  • vue的优缺点

    Vue js是一个流行的前端JavaScript框架 它具有许多优点和一些缺点 下面是Vue js的优缺点 优点 1 易学易用 Vue js具有简洁的API和清晰的文档 使得学习和使用它非常容易 尤其对于有一定JavaScript和HTML
  • 用公网ip能访问,用域名不能访问

    用公网ip能访问 用域名不能访问 是缓存导致的吗 现象 如果您遇到这种现象 1 域名解析正确 通过花生壳动态域名客户端的域名诊断 看到自己的域名解析是正确的 或者通过Oray网站的域名管理界面 看到域名的A记录和服务器实际的公网ip一致 下
  • 谁看见我的猫照片了

    今天分享一个可自由拖得动的图片效果样式 先看效果 谁看见我猫的照片了 再上源码
  • python 分支结构编程 请用一行代码,编写一个回声程序,将用户输入的内容直接打印出来。

    python 分支结构编程 第一题 请用一行代码 编写一个回声程序 将用户输入的内容直接打印出来 示例 代码 print input 运行结果
  • MA模型简介及其相关性质

    文章目录 1 概述 1 1 定义 1 2 限制条件 1 3 中心化 M A q
  • 课时 16 自测题

    以下说法错误的是 单选题 A etcd 是一个商业软件 B etcd 使用 go 语言编写 C etcd 是一个分布式系统 通常由多个 server 组成一个集群 关于 etcd 重要时间节点 以下说法错误的是 单选题 A etcd 最初由
  • react 初级基础

    react基本使用 项目创建 项目的创建命令 npx create react app react basic 创建一个基本元素进行渲染 1 导入react 和 react dom import React from react impor
  • 竞赛 交通目标检测-行人车辆检测流量计数 - 竞赛

    文章目录 0 前言 1 目标检测概况 1 1 什么是目标检测 1 2 发展阶段 2 行人检测 2 1 行人检测简介 2 2 行人检测技术难点 2 3 行人检测实现效果 2 4 关键代码 训练过程 最后 0 前言 优质竞赛项目系列 今天要分享
  • 函数或变量 x 无法识别。_这个变量陷阱,连高手都躲不开

    点击上方 Python小白集训营 选 星标 公众号 重磅干货 第一时间送达 图 Pexels 日期 2021 1 2 你可能会好奇 是什么样的陷阱 连高段位的python选手也会频繁踩坑 讲这个topic前 先来讲一个例子 这是我前几个月在