iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >学习Python遇到的编码错误有哪些
  • 890
分享到

学习Python遇到的编码错误有哪些

2023-06-16 10:06:03 890人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“学习python遇到的编码错误有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“学习Python遇到的编码错误有哪些”吧!1、误解Python范围python解析范围是

这篇文章主要讲解了“学习python遇到的编码错误有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“学习Python遇到的编码错误有哪些”吧!

1、误解Python范围

python解析范围是基于所谓的LEGB规则,OCAL,Local, Enclosing, Global, Built-in  即使看起来很简单,但当时对我来说还是有些混乱,例如,以下示例:

学习Python遇到的编码错误有哪些

对于上面的代码,我想要它能正常工作,并更改全局变量x以最终打印出来6。但是,它突然变得很奇怪,不按照我的想法来输出,让我们看一下更改的代码:

学习Python遇到的编码错误有哪些

到底是怎么回事?在一个代码段中,全局变量X给出了一个UnboundLocalError但是当我们只是尝试打印它时,它就起作用了。原因与范围界定有关。当你对作用域(例如函数作用域)中的变量进行赋值时,该变量将成为该作用域的局部变量,并在外部作用域中隐藏任何类似命名的变量。这是我们做第一个方案时发生的情况x  += 1。如果我们打算x像访问函数那样访问全局变量,则foo()可以执行以下操作:

学习Python遇到的编码错误有哪些

通过使用关键词global,内部范围可以访问在全局范围内声明的变量,这意味着没有在任何函数中定义的变量。同样,我们可以用nonlocal来达到类似的效果:

学习Python遇到的编码错误有哪些

nonlocalas global允许你从外部范围访问变量,但是,对于nonlocal,你可以绑定到父范围或全局范围内的对象。

2、遍历列表时修改列表

它在新学习的python开发人员中甚至在一些经验丰富的开发人员中都很常见。虽然有时看起来似乎并不那么明显,但是在某些情况下,我们还是要修改我们当前正在迭代的数组,从而会产生一些了代码错误的行为,或者如果幸运的话,我们会收到一个错误并注意到它。但是,让我举一个例子说明我的意思,假设给定一个数组,需要将该数组缩小为仅包含偶数元素,可以尝试执行以下操作:

学习Python遇到的编码错误有哪些

在所描述的方案中,迭代时删除列表或数组的元素时,由于尝试访问不存在的项目,我们会收到错误消息。这是一个坏习惯,应该避免,有更好的方法可以在python中实现类似的功能,其中包括列表理解:

学习Python遇到的编码错误有哪些

也可以使用filter函数来实现相同的功能,虽然它起到了作用,但还是有人认为这不是Pythonic的方法,我有还是些同意的,但是我不想在这里讨论它们。让我们继续吧:

学习Python遇到的编码错误有哪些

3、闭包中的变量绑定

我向一些python的前辈询问他们对以下代码片段的看法:

学习Python遇到的编码错误有哪些

对于许多人(包括我自己),第一次遇到此问题时,我们认为结果将是:

学习Python遇到的编码错误有哪些

但是,实际上代码最终打印了完全不同的结果,我们对为什么感到非常困惑。原来是Python会执行后期绑定行为,根据该行为,在调用内部函数时会查询闭包中使用的变量的值。因此,在我们的示例中,每当调用任何返回的函数时,都会在调用i时在周围的范围中查找的值。解决此问题的方法似乎有些棘手,但实际上却很有效

学习Python遇到的编码错误有哪些

通过使用lambda函数的默认参数传递值,i可以生成函数以执行所需的行为。我对这种解决方案感到非常困惑,但我仍然认为它不是很优雅,但是有些人喜欢它。如果你知道该问题的另一种解决方案,请您在评论中让我知道,我很乐意阅读有关该问题的信息。

4、名称与Python标准库模块冲突

当我刚开始学习时,这个问题实际上很普遍,甚至现在,有时我也会犯这个错误。出现此问题的原因是使用与Python随带的标准库中的模块相同的名称来命名你的一个模块。(例如,你的代码中可能有一个名为email.py的模块,这与同名的标准库模块发生冲突)。

也许名称本身冲突不会对你的代码产生任何问题,但是有时我们会覆盖Python标准库的功能或模块,该功能或模块稍后在已安装的库中使用,并且会引发错误或行为不当而发生冲突,这是一个糟糕的情况。一个典型的错误如下:

学习Python遇到的编码错误有哪些

通过简单地创建一个list变量,然后我们中断了对该list函数的访问。并且,即使还有其他访问方式(例如__builtins__.list()),我们也应该避免使用这种名称。

感谢各位的阅读,以上就是“学习Python遇到的编码错误有哪些”的内容了,经过本文的学习后,相信大家对学习Python遇到的编码错误有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 学习Python遇到的编码错误有哪些

本文链接: https://www.lsjlt.com/news/283258.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 学习Python遇到的编码错误有哪些
    这篇文章主要讲解了“学习Python遇到的编码错误有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“学习Python遇到的编码错误有哪些”吧!1、误解Python范围python解析范围是...
    99+
    2023-06-16
  • 编写Python代码常见的错误有哪些
    这篇文章主要讲解了“编写Python代码常见的错误有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写Python代码常见的错误有哪些”吧!编写过于风格化的代码这是Python初学者的一...
    99+
    2023-06-15
  • python学习中常见的误区有哪些
    这篇文章主要介绍“python学习中常见的误区有哪些”,在日常操作中,相信很多人在python学习中常见的误区有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python学习中常见的误区有哪些”的疑惑有所...
    99+
    2023-06-27
  • Python编写时有哪些错误
    这篇文章主要介绍“Python编写时有哪些错误”,在日常操作中,相信很多人在Python编写时有哪些错误问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python编写时有哪些错误”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-02
  • 学习python中遇到的问题(1)
    1、CREATE TABLE todo (  id serial primary key,  title text,  created timestamp default now(),  done boolean default 'f'  ...
    99+
    2023-01-31
    python
  • 编译php源码错误有哪些
    这篇文章将为大家详细讲解有关编译php源码错误有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。编译php源码错误集与解决起步服务器Ubuntu14.04已后lamp开发环境,却还是没有不能顺利编译ph...
    99+
    2023-06-14
  • Java AIO学习的误解有哪些
    这篇文章主要介绍“Java AIO学习的误解有哪些”,在日常操作中,相信很多人在Java AIO学习的误解有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java AIO学习的误解有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • 分区表进行alter-switch时遇到的错误有哪些
    本篇内容介绍了“分区表进行alter-switch时遇到的错误有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • 初学者有效学习编码的优秀小技巧有哪些
    本篇内容主要讲解“初学者有效学习编码的优秀小技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“初学者有效学习编码的优秀小技巧有哪些”吧!当一个人下定决心学...
    99+
    2024-04-02
  • Python常遇到的错误和异常
    目录1、语法错误2、异常3、异常处理4、try/except...else5、try-finally 语句6、抛出异常7、用户自定义异常在日常的学习Python过程中,由于本身的编程...
    99+
    2024-04-02
  • 学习Python的疑问有哪些
    本篇内容介绍了“学习Python的疑问有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、Python2和Python3有什么区别 ...
    99+
    2023-06-02
  • Python的学习方向有哪些
    本篇内容介绍了“Python的学习方向有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python基础语法、python字符串解析、py...
    99+
    2023-06-02
  • 学习Python的理由有哪些
    本篇内容介绍了“学习Python的理由有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!学习Python的人不在少数,你是否问过自己:“我...
    99+
    2023-06-16
  • DIV+CSS编码常见错误都有哪些
    这期内容当中小编将会给大家带来有关DIV+CSS编码常见错误都有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。DIV+CSS是网站标准(...
    99+
    2024-04-02
  • Python学习方法有哪些
    本篇内容主要讲解“Python学习方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python学习方法有哪些”吧!  1、找简单易懂、例程比较好的教程,从头看到结尾,不要看很多本,专注于...
    99+
    2023-06-01
  • C++编译器无法捕捉到的错误有哪些
    这篇文章主要讲解了“C++编译器无法捕捉到的错误有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++编译器无法捕捉到的错误有哪些”吧!C++是一种复杂的编程语言,其中充满了各种微妙的陷...
    99+
    2023-06-17
  • web开发中常见的编码错误有哪些
    这篇文章主要介绍“web开发中常见的编码错误有哪些”,在日常操作中,相信很多人在web开发中常见的编码错误有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web开发中常见的编码错误有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • 有哪些常见的Java学习笔记npm异步编程错误需要避免?
    Java是一种广泛应用于企业级开发的编程语言,它提供了许多强大的工具和框架,用于编写高效的异步代码。然而,在学习Java异步编程时,经常会出现一些常见的错误,这些错误可能会导致程序崩溃或出现其他问题。本文将介绍一些常见的Java学习笔记np...
    99+
    2023-07-21
    学习笔记 npm 异步编程
  • Python爬虫遇到验证码的处理方式有哪些
    这篇文章主要介绍“Python爬虫遇到验证码的处理方式有哪些”,在日常操作中,相信很多人在Python爬虫遇到验证码的处理方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python爬虫遇到验证码的处...
    99+
    2023-06-16
  • BigDecimal遇到的坑有哪些
    这篇文章主要介绍“BigDecimal遇到的坑有哪些”,在日常操作中,相信很多人在BigDecimal遇到的坑有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”BigDec...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作