你知道如何在Python中使用下划线“_”吗?

发布时间:浏览:82

1 在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。

例如:

2 + 35_5_ * 210

2 在循环或解包中,下划线(_)表示忽略某个值,可以用来省略不需要的变量。

例如: for _ in range(3): print('Hello').HelloHelloHellox, _, y=(1, 2, 3)x1y3

3 在变量或函数名中,单下划线开头(_)表示这是一个内部使用或受保护的名称,不建议从外部访问。这只是一种约定,不会影响实际的访问权限。

例如: class Test: def _internal_method(self): # 该方法仅供内部使用pass def public_method(self): # 该方法仅供公共使用self._internal_method()

4 在变量或函数名中,单下划线结尾(_)表示这是为了避免与Python关键字或内置函数冲突而添加的后缀。

例如: def make_object(name, class_): # 使用class_代替class,避免与关键字冲突passlist_=list(range(10))# 使用list_代替list,避免与内置函数冲突

5 在变量或函数名中,双下划线开头(__)表示这是一个私有的名称,只能在类内部访问。Python会对这种名称进行名称修饰(name mangling),即在名称前面加上类名和一个下划线,以防止子类中出现同名的属性。

例如: class Test: def __init__(self): self. __private_var=42 # 这是一个私有变量def __private_method(self): # 这是一个私有方法passt=Test()print(t.__private_var) # AttributeError: 'Test' 对象没有属性'__private_var' print(t._Test__private_var) # 42,这是重整后的名称

6 在变量或函数名中,双下划线开头和结尾(__)表示这是一个特殊的或魔法的名称,通常与Python的语法或内部机制有关。

例如: class Test: def __init__(self, value): # 这是一个特殊的初始化对象的方法self.value=value def __str__(self): # 这是一个特殊的方法将对象转换为字符串的方法return f'Test({self.value})' def __add__(self, other): # 这是实现+ 运算符的特殊方法return Test(self.value + other.value) t1=Test(10 )t2=Test(20)print(t1) # Test(10)print(t1 + t2) # Test(30)

7 在变量名中,单独一个下划线(_)表示这是一个临时或无关紧要的变量,通常用于国际化(i18n)或本地化(l10n)功能。

例如: import gettext# 使用_ 作为gettext.gettext 的简写functiongettext.bindtextdomain('myapplication ', '/path/to/my/language/directory')gettext.textdomain('myapplication')_=gettext.gettext#使用_()标记需要翻译的字符串print(_ (“这是一个可翻译的字符串。”))

用户评论

执拗旧人

这篇文章写的真好!我刚开始学Python的时候就经常对下划线的用处感到迷茫,后来慢慢明白了它的作用确实很重要。

    有19位网友表示赞同!

桃洛憬

说得太对了!像变量名命名、函数定义时使用下划线确实可以让代码更清晰可读,避免了拼错或者重复变量的问题。

    有11位网友表示赞同!

可儿

Python中下划线的用法真不少啊!我以前只知道用在变量名和函数名上,没想到还有这么多种运用方式。这篇文章让我开拓了不少视野!

    有12位网友表示赞同!

青山暮雪

我也觉得下划线在代码里很有必要,可以有效组织结构,提高代码的可维护性。可是有时候遇到那种老旧的项目,不使用下划线命名习惯,真是让人头疼啊。

    有11位网友表示赞同!

爱你的小笨蛋

这种解释方式确实很有帮助!我还以为下划线只是用来分割字符串和进行运算的呢。现在明白了它的多种作用,感觉Python用的更方便了!

    有5位网友表示赞同!

不识爱人心

文章没讲到一个很重要的用法是,在函数的内部,使用`_` 表示丢弃某个返回值或变量赋值给 `None`,这在一些特定场景下非常有用。

    有20位网友表示赞同!

∞◆暯小萱◆

我还知道一种用法就是作为魔术方法的参数传递符,例如 `__init__()` constructor 的初始化。 感觉Python 下划线用法真很多啊!

    有6位网友表示赞同!

娇眉恨

我觉得文章说的很棒,特别是关于命名变量和函数时下划线的规范性,确实能提高代码的可读性和易懂性!

    有6位网友表示赞同!

逾期不候

Python中下划线的确很重要,可以理解为代码语言的语法规则或约定。 不懂它的用法,可能会写出很难维护的代码。

    有13位网友表示赞同!

玩味

我更喜欢用驼峰命名法来命名变量和函数,显得更简洁清晰啊!在实际项目中,团队约定某种风格才是最重要的吧?

    有6位网友表示赞同!

柠夏初开

下划线在Python代码中的作用确实很多元化,不仅用于命名规范,还能用来定义特殊行为。

    有15位网友表示赞同!

千城暮雪

这篇博文很不错的啊!我以前对下划线运用不熟悉,现在看完后豁然开朗了。

    有14位网友表示赞同!

╭摇划花蜜的午后

我个人觉得用中文注释解释一下下划线的具体作用会更好一些,这样更容易理解。

    有15位网友表示赞同!

慑人的傲气

文章写得很有条理,很容易理解!只是希望能够多些例子 ilustrations 来辅助学习。

    有12位网友表示赞同!

陌上花

在实际编程过程中,我认为选择合适的下划线命名方式取决于项目的类型和团队规范,不存在绝对的正确或错误。

    有17位网友表示赞同!

厌归人

Python中下划线的用法确实会受不同框架的影响,比如 Django 就有一些特殊的用法,需要单独学习。

    有12位网友表示赞同!

烬陌袅

我觉得这篇文章的重点在于解释下划线的作用,而不是具体使用方法。对于初学者来说,更希望能看到一些实例操作来加深理解!

    有8位网友表示赞同!

秘密

Python下划线的命名规范很重要,可以提升代码的可读性和沟通效率,建议将其作为学习基础内容之一。

    有20位网友表示赞同!

热点资讯