欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳細(xì)聊一聊Python中的下劃線“_”們

 更新時(shí)間:2024年12月09日 09:46:23   作者:moz與京  
Python中的下劃線(_)有多種用途,包括特殊方法、內(nèi)部變量、避免關(guān)鍵字沖突、名稱修飾、臨時(shí)變量和忽略變量等,這篇文章主要介紹了Python中的一些下劃線“_”們,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

隨便拿一份Python代碼,幾乎都可以看到很多“_”的身影。

在Python中,下劃線(_)有多種用途和含義,具體取決于它們的位置和使用方式。在這里都列舉出來(lái)方便大家對(duì)照查看:

1. __xxx__(雙下劃線前后)

這種形式通常用于特殊方法和屬性,也稱為“魔法方法”或“雙下劃線方法”。這些方法和屬性是Python內(nèi)置的,具有特殊的含義和用途。例如:

  • __init__:類的初始化方法。
  • __str__:返回對(duì)象的字符串表示形式。
  • __len__:返回對(duì)象的長(zhǎng)度。
  • __add__:定義對(duì)象的加法行為。
class MyClass: 
    def __init__(self, value): 
        self.value = value 
    def __str__(self): 
        return f"MyClass with value {self.value}" 

obj = MyClass(10) 
print(obj) 
# 輸出: MyClass with value 10

2. _xxx(單下劃線前綴)

單下劃線前綴通常用于表示內(nèi)部變量或方法,提示開發(fā)者這些變量或方法是內(nèi)部實(shí)現(xiàn)的一部分,不應(yīng)該直接訪問或修改。這是一種命名約定,并不會(huì)真正限制訪問。

class MyClass:
    def __init__(self, value):
        self._internal_value = value

    def get_value(self):
        return self._internal_value

obj = MyClass(10)
print(obj._internal_value)  # 輸出: 10

3. xxx_(單下劃線后綴)

單下劃線后綴通常用于避免與Python關(guān)鍵字沖突。例如,如果你有一個(gè)變量名與Python關(guān)鍵字沖突,可以使用單下劃線后綴來(lái)避免沖突。

class_ = "MyClass"
print(class_) 
# 輸出: MyClass

4. __xxx(雙下劃線前綴)

雙下劃線前綴會(huì)觸發(fā)名稱修飾(name mangling),將變量或方法名修改為_ClassName__xxx,以避免子類意外覆蓋父類的私有變量或方法。這種方式提供了一種弱的“私有”機(jī)制。

class MyClass:
    def __init__(self, value):
        self.__private_value = value

    def get_value(self):
        return self.__private_value

obj = MyClass(10)
print(obj._MyClass__private_value)  # 輸出: 10

5. _(單下劃線)

單下劃線通常用作臨時(shí)變量或忽略變量的占位符。例如,在循環(huán)中忽略循環(huán)變量,或在解包時(shí)忽略某些值。

for _ in range(5): 
    print("Hello") 

a, _, c = (1, 2, 3) 
print(a, c) # 輸出: 1 3

6. __(雙下劃線)

雙下劃線通常不單獨(dú)使用,但在某些情況下可能會(huì)出現(xiàn)在特殊方法或?qū)傩灾?。例如?code>__all__用于定義模塊的公共接口。

__all__ = ["MyClass", "my_function"]

7. _xxx_(單下劃線前后)

這種形式通常不常見,但有時(shí)用于表示內(nèi)部變量或方法,類似于單下劃線前綴。

class MyClass:
     def __init__(self, value): 
        self._value_ = value 
    def get_value(self): 
        return self._value_ 

obj = MyClass(10) 
print(obj._value_) # 輸出: 10

總結(jié)

  • __xxx__:特殊方法和屬性。
  • _xxx:內(nèi)部變量或方法。
  • xxx_:避免與Python關(guān)鍵字沖突。
  • __xxx:名稱修飾,提供弱的“私有”機(jī)制。
  • _:臨時(shí)變量或忽略變量的占位符。
  • __:通常不單獨(dú)使用,但在特殊方法或?qū)傩灾锌赡艹霈F(xiàn)。
  • _xxx_:內(nèi)部變量或方法,類似于單下劃線前綴。

順便提一下其他的除了運(yùn)算符以外的常見符號(hào):

# 注釋
a = [1, 2, 3]  # 列表
b = (1, 2, 3)  # 元組
c = {1, 2, 3}  # 集合
d = {'a': 1, 'b': 2}  # 字典

# 函數(shù)調(diào)用
def my_function(x):
    return x + 1

print(my_function(5))  # 輸出: 6

# 切片
print(a[1:3])  # 輸出: [2, 3]

# 集合操作
e = {3, 4, 5}
print(c | e)  # 輸出: {1, 2, 3, 4, 5}
print(c & e)  # 輸出: {3}
print(c - e)  # 輸出: {1, 2}
print(c ^ e)  # 輸出: {1, 2, 4, 5}
  • #:注釋
  • \:續(xù)行符
  • @:裝飾器
  • ::用于切片、字典鍵值對(duì)、函數(shù)定義、類定義等
  • .:屬性訪問
  • ,:元組和參數(shù)分隔符
  • ;:語(yǔ)句分隔符(通常不推薦使用)
  • ():元組、函數(shù)調(diào)用、優(yōu)先級(jí)
  • []:列表、索引、切片
  • {}:字典、集合
  • |:集合并集
  • &:集合交集
  • -:集合差集
  • ^:集合對(duì)稱差集

到此這篇關(guān)于Python中下劃線_們的文章就介紹到這了,更多相關(guān)Python的下劃線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論