首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python下划线5种含义代码实例解析

让我们来看看这个列表,并寻找我们的原始变量名称foo,_bar和__baz – 保证你会注意到一些有趣的变化。 self.foo变量属性列表中显示为未修改为foo。 self....这就是Python解释器所做的名称修饰。 它这样做是为了防止变量子类中被重写。...然后名为MangledGlobal的类的上下文中访问变量。由于名称修饰,能够类的test()方法内,以__mangled来引用_MangledGlobal__mangled全局变量。...你也可以拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值。 同样,这个含义只是“依照约定”,并不会在Python解释器中触发特殊的行为。...但是,为了使拆分表达式成功运行,需要将包含在元组中的所有值分配给变量

67920
您找到你想要的搜索结果了吗?
是的
没有找到

Python 中5种下划线的含义都是什么?

让我们来看看这个列表,并寻找我们的原始变量名称foo,_bar和__baz - 保证你会注意到一些有趣的变化。 self.foo变量属性列表中显示为foo。 self....然后名为MangledGlobal的类的上下文中访问变量。由于名称修饰,能够类的test()方法内,以__mangled来引用_MangledGlobal__mangled全局变量。...2 示例 例如,在下面的循环中,我们不需要访问正在运行的索引,我们可以使用“_”来表示它只是一个临时值: 你也可以拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值...在下面的代码示例中,将汽车元组拆分为单独的变量,但我只对颜色和里程值感兴趣。 但是,为了使拆分表达式成功运行,需要将包含在元组中的所有值分配给变量。...在这种情况下,“_”作为占位符变量可以派上用场: 你可以一个解释器会话中访问先前计算的结果,或者是动态构建多个对象并与它们交互,无需事先给这些对象分配名字: 3 说明 除了用作临时变量之外,“

1.3K40

Python中下划线的5种含义

来源:Python程序员 ID:pythonbuluo 本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的...这就是Python解释器所做的名称修饰。 它这样做是为了防止变量子类中被重写。...然后名为MangledGlobal的类的上下文中访问变量。由于名称修饰,能够类的test()方法内,以__mangled来引用_MangledGlobal__mangled全局变量。...你也可以拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值。 同样,这个含义只是“依照约定”,并不会在Python解释器中触发特殊的行为。...但是,为了使拆分表达式成功运行,需要将包含在元组中的所有值分配给变量

1.5K70

导入Python模块执行了所有代码,你不知道__name__变量是什么意思

可能很多同学阅读Python源代码时会发现经常会出现if __name__ == '__main__':这样的代码,那么这样的代码起到什么作用呢?...这意味着主程序中会有如下的语句: import foo Python解释器将搜索foo.py文件(以及搜索其他一些变体),执行该模块之前,它将从import语句中将名称“ foo”分配给__name...脚本,同时即可以作为主程序执行,也可以作为模块被导入,这就要求模块被导入时不执行作为主程序执行时的代码,所以如果是主程序中执行的代码,应该使用__main__变量进行判断。...关于__name__的一些疑问 有的同学问,脚本文件中可以有多个__name__校验代码块?...其实通常只有一个__name__校验代码块,但Python解析器并不会阻止你编写多个__name__校验代码块

1.3K20

掌握 Python 中下划线的 5 个潜规则

单下划线和双下划线 Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的。...让我们来看看这个列表,并寻找我们的原始变量名称foo,_bar和__baz ,保证你会注意到一些有趣的变化。 self.foo变量属性列表中显示为未修改为foo。 self....然后名为MangledGlobal的类的上下文中访问变量。由于名称修饰,能够类的test()方法内,以__mangled来引用_MangledGlobal__mangled全局变量。...你也可以拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值。同样,这个含义只是“依照约定”,并不会在Python解释器中触发特殊的行为。...但是,为了使拆分表达式成功运行,需要将包含在元组中的所有值分配给变量

51620

分享 10 个高频 Python 面试题

Python 很容易学会,但很难掌握。 你可以几天内了解它的基本语法,但是要能够用 Python 开发出足够好的商业软件,多年的实践是必须的。...当声明此范围内的新整数变量时,Python 只是将缓存的整数引用到它,不会创建任何新对象。 因此,对结果的解释是: 当变量 a 和 b 分配给 256 时,它们被引用到存储 256 的相同内存位置。...当变量 a 和 b 被分配给 257 时,它们是不同内存位置的两个不同对象,因为 257 不在小整数缓存范围内。...可以阅读前文看完此文,你还会用 eval ?了解更多。 五、抽象类 面试官: 面向对象编程中,有一个概念叫做抽象类。Python 也支持抽象类? 回答: 支持。...以单个星号为前缀的参数 args 表示可以将任意数量的位置参数保存到元组中,args 就是这个元组的名称

67710

python批量读取文件赋值给一个参数

想创建一个可以打开文本文件c_name.txt的脚本,其中文本文件的内容将是单元名称列表。 打开后,需要将所有单元名称指定为变量。 这是因为需要单元名称来打开下一个需要单元名称的目录。...现在做的是打开文本文件并打印单元格名称不知道如何读取单元格名称分配给变量需要将所有单元名称分配到一个数组中? This is my script:#!.../usr/bin/python import os import os.path myPWD = os.getcwd() workspace = "%s/.."...of the cell name to open cell_name.rpt for the next step floc2 = '/'.join([workspace, "library", " 还需要分类...,如果单元名称以ce_开头,则报告文件将位于ce_目录中,而如果单元名称以cell开头,则报告文件将位于单元目录中。

14620

Python中 5 种不同的下划线含义你都知道

单下划线和双下划线 Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的。...让我们来看看这个列表,并寻找我们的原始变量名称foo,_bar和__baz ,保证你会注意到一些有趣的变化。 self.foo变量属性列表中显示为未修改为foo。 self....然后名为MangledGlobal的类的上下文中访问变量。由于名称修饰,能够类的test()方法内,以__mangled来引用_MangledGlobal__mangled全局变量。...你也可以拆分(unpacking)表达式中将单个下划线用作“不关心的”变量,以忽略特定的值。同样,这个含义只是“依照约定”,并不会在Python解释器中触发特殊的行为。...但是,为了使拆分表达式成功运行,需要将包含在元组中的所有值分配给变量

86031

Python变量:创建、类型、命名规则和作用域详解

示例这将创建两个不同的变量:a = 4A = "Sally"# A不会覆盖a变量变量可以具有短名称(如x和y)或更具描述性的名称(age、carname、total_volume)。...一个值分配给多个变量可以一行中将相同的值分配给多个变量:示例x = y = z = "Orange"print(x)print(y)print(z)解包集合如果您有一个列表、元组等集合中的值,Python...示例x = "Python is awesome"print(x)print()函数中,您可以输出多个变量,用逗号分隔:示例x = "Python"y = "is"z = "awesome"print...全局变量可以被所有人使用,无论是函数内部还是函数外部。...示例函数之外创建一个变量,并在函数内部使用它:x = "awesome"def myfunc(): print("Python is " + x)myfunc()如果您在函数内部创建了一个具有相同名称变量

45100

9个应知应会的单行Python代码

确切来说,这是完全没有问题的,但是有一些方法可以不忽略可读性的情况下缩短我们的 Python 代码。单行 Python 代码,只要我们能够正确的使用它们,那么我们将能够很好的兼顾简洁和可读性!...If — Else 语句 if-else 语句是我们 Python 中学习的第一批语句之一,它用于执行给定条件的真假部分。 我们经常使用这个语句,但是你知道它可以被简化为一行代码?...合并词典 有多种方法可以合并字典,我们可以使用 update() 方法、merge() 运算符,甚至是字典推导。 但是有一种更简单的方法可以 Python 中合并字典,就是通过使用解包运算符 **。...一行中给多个变量赋值 每当我们需要分配多个变量时,可以 Python 中将它们分配在一行中,而不是逐行分配(即使是来自不同类型的变量)。...a, b, c = 1, "abc", True >>> a 1 >>> b 'abc' >>> c True 很简洁吧,但是需要注意的是,我们分配的变量越多,将它们分配给错误值的机会就越大,双刃剑啊

93730

9个都要了解的单行Python代码

确切来说,这是完全没有问题的,但是有一些方法可以不忽略可读性的情况下缩短我们的 Python 代码。单行 Python 代码,只要我们能够正确的使用它们,那么我们将能够很好的兼顾简洁和可读性!...If — Else 语句if-else 语句是我们 Python 中学习的第一批语句之一,它用于执行给定条件的真假部分。我们经常使用这个语句,但是你知道它可以被简化为一行代码?...一行中给多个变量赋值每当我们需要分配多个变量时,可以 Python 中将它们分配在一行中,而不是逐行分配(即使是来自不同类型的变量)。...a, b, c = 1, "abc", True>>> a1>>> b'abc'>>> cTrue很简洁吧,但是需要注意的是,我们分配的变量越多,将它们分配给错误值的机会就越大,双刃剑啊~7....但是我们可以将字典推导与 sorted() 函数结合起来,通过键对字典进行排序。在下面的示例中,我们将按产品名称对字典进行排序。

99420

前50个Python面试问题(最受欢迎)

热门Python面试问答 下面列出的是关于Python编程语言的最常见面试问题和答案。 让我们探索!! #1)Python可以用于Web客户端和Web服务器端编程?哪一个最适合Python?...根据分配给变量的值,Python存储适当的数据类型。对于整数,浮点数等数字,数据长度是无限的。 #10)如何在Python中使用数组? 答: Python不支持数组。...它仅包含一个表达式,并且可以接受任意数量的参数。 如果是普通函数,则可以定义函数名称,传递参数并强制具有return语句。Lambda函数通常可用于简单操作,而无需使用函数名。也可以代替变量使用。...但是,如果要从主函数开始,则应在源文件中将以下特殊变量设置为: if__name __ ==“ __main__ main() #19)列出Python中可用的一些重要模块。...答案: locals()是函数内访问的,它返回可以从该函数本地访问的所有名称。 globals()返回可以从该函数全局访问的所有名称。 #45)Python中断言的用途是什么?

5.1K30

Python 中的元类到底是什么?这篇恐怕是最清楚的了

但是,它仍然是一个对象,因为: 您可以将其分配给变量可以复制它 您可以为其添加属性 您可以将其作为函数参数传递 例如: >>> print(ObjectCreator) # 你可以打印一个类,因为它是一个对象...这是 Python 使用关键字class时所做的,并且是通过使用元类来完成的。 什么是元类(最终) 元类是创建类的 “东西”。 您定义类是为了创建对象,对?...type是 Python 用于幕后创建所有类的元类。 现在,您想知道为什么用小写而不是小写Type? 好吧,想这与str创建字符串对象int的类和创建整数对象的类的一致性有关。...您可以通过检查__class__属性来看到。 一切,的意思是一切,都是 Python 中的对象。其中包括整数,字符串,函数和类。它们都是对象。...如果是的话,在内存中创建一个类对象(说的是类对象,陪身边在这里),名称Foo使用是什么__metaclass__。

68820

每天打卡python面试题 - 一行中捕获多个异常(块除外)

由于使用了逗号将错误对象分配给名称的较旧语法,因此需要使用括号。该as关键字用于分配。您可以为错误对象使用任何名称error个人更喜欢。...最佳实践 要以当前方式并与Python向前兼容的方式执行此操作,您需要使用逗号分隔Exceptions,并用括号将其包裹起来,以区别于早期的语法,后者通过遵循Exception类型来将异常实例分配给变量名称...在此处进行记录:https : //docs.python.org/tutorial/errors.html 您可以将异常分配给变量(这e很常见,但是,如果您需要长时间处理异常,或者您的IDE像我的一样...err.args sys.exit(0) 如果在代码库中看到逗号名称分配,并且您正在使用Python 2.5或更高版本,请切换到新的方式来执行此操作,以便在升级时代码保持兼容。...,except,pass线可以与单线处理抑制上下文管理器,可以Python 3.4: from contextlib import suppress with suppress(IDontLikeYouException

1.6K10

Python飞:50个有趣而又鲜为人知的Python特性

虽然下面的有些例子并不一定会让你觉得 WTFs,但它们依然有可能会告诉你一些你所不知道的 Python 有趣特性。觉得这是一种学习编程语言内部原理的好办法, 而且相信你也会从中获得乐趣!...然后 id 函数获取其id值 (也就是内存地址), 然后丢弃该对象。该对象就被销毁了。 当我们连续两次进行这个操作时, Python会将相同的内存地址分配给第二个对象。...(a) 140640774013392 >>> id(b) 140640774013488 当 a 和 b 同一行中被设置为 257 时, Python 解释器会创建一个新对象, 然后同时引用第二个变量...说明: 当在循环内部定义一个函数时, 如果该函数在其主体中使用了循环变量, 则闭包函数将与循环变量绑定, 而不是它的值. 因此, 所有的函数都是使用最后分配给变量的值来进行计算的....可以通过将循环变量作为命名变量传递给函数来获得预期的结果. 为什么这样可行? 因为这会在函数内再次定义一个局部变量

63020

Python飞:50个有趣而又鲜为人知的Python特性

虽然下面的有些例子并不一定会让你觉得 WTFs,但它们依然有可能会告诉你一些你所不知道的 Python 有趣特性。觉得这是一种学习编程语言内部原理的好办法, 而且相信你也会从中获得乐趣!...然后 id 函数获取其id值 (也就是内存地址), 然后丢弃该对象。该对象就被销毁了。 当我们连续两次进行这个操作时, Python会将相同的内存地址分配给第二个对象。...(a) 140640774013392 >>> id(b) 140640774013488 当 a 和 b 同一行中被设置为 257 时, Python 解释器会创建一个新对象, 然后同时引用第二个变量...说明: 当在循环内部定义一个函数时, 如果该函数在其主体中使用了循环变量, 则闭包函数将与循环变量绑定, 而不是它的值. 因此, 所有的函数都是使用最后分配给变量的值来进行计算的....可以通过将循环变量作为命名变量传递给函数来获得预期的结果. 为什么这样可行? 因为这会在函数内再次定义一个局部变量

74210

《看聊天记录都学不会Python到游戏实战?太菜了吧》(2)python中加号竟然如此善变

若有想学习的内容可以评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰也更新下一篇。(肯定不到,也会更的。 ---- 目录 《看聊天记录都学不会Python到游戏实战?...我们先讲一下变量变量就是一个存储内容的容器,我们可以在里面存储相关的值。 小媛:这一点懂,请继续。...小C:其实显示变量里面的内容也很简单,直接使用print即可。python中显示内容就使用print就可以完成了。 a=10 print(a) 小媛:就这?就这?...可能有些小伙伴会问,不是说使用print想显示什么就使用双引号将内容引起来放进去?其实不是这样,如果使用双引号不就直接显示出a这个字符了,我们现在需要显示名称为a的变量里面所存储的内容。...小C:是的,不过在这里要说一句画外音:变量a和变量b是变量的名字,同学们是可以自己取名的,这是一个代号,等于号右边是表示要存储的值。 小媛:那print(a+b)是表示a变量和b变量做加号运算?

33930

Python入门07》带你了解python函数那点事儿~

点击上方的“小小白AI”,选择“关注” 重磅知识,第一时间送达 前言 开始之前首先给大家道个歉,由于前段时间身边发生了很多事,好久没有更新了,对给大家带来的不方便,想给大家说一声对不起。...def语句中,位于函数名后面的变量通常称为形参,而调用函数时提供的值称为实参,但这里基本上不对此做严格的区分,大家懂的形参和实参的概念就可以了。...我们前面使用的都是位置参数,一个参数什么位置,都有这个参数的意思,但是python还有另外一种参数,那就是关键字参数:即使用参数的名称指定参数的数值,它主要的作用是有助于澄清各个参数的作用,这样函数的调用不再像下面这样怪异而神秘...通过使用运算符**, 可将字典中的值分配给关键字参数。...a print(a) #函数外也可视为全局变量使用 全局变量是指在函数外的变量可以程序全局使用,局部变量是指定义函数内的变量,只能在函数内被声明使用 若内部作用域的想要修改外部作用域的变量

47730
领券