最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

1. __xxx__(雙下劃線(xiàn)前后)

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

  • __init__:類(lèi)的初始化方法。
  • __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(單下劃線(xiàn)前綴)

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

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_(單下劃線(xiàn)后綴)

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

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

4. __xxx(雙下劃線(xiàn)前綴)

雙下劃線(xiàn)前綴會(huì)觸發(fā)名稱(chēng)修飾(name mangling),將變量或方法名修改為_ClassName__xxx,以避免子類(lèi)意外覆蓋父類(lèi)的私有變量或方法。這種方式提供了一種弱的“私有”機(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. _(單下劃線(xiàn))

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

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

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

6. __(雙下劃線(xiàn))

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

__all__ = ["MyClass", "my_function"]

7. _xxx_(單下劃線(xiàn)前后)

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

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:名稱(chēng)修飾,提供弱的“私有”機(jī)制。
  • _:臨時(shí)變量或忽略變量的占位符。
  • __:通常不單獨(dú)使用,但在特殊方法或?qū)傩灾锌赡艹霈F(xiàn)。
  • _xxx_:內(nèi)部變量或方法,類(lèi)似于單下劃線(xiàn)前綴。

順便提一下其他的除了運(yùn)算符以外的常見(jià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ù)定義、類(lèi)定義等
  • .:屬性訪(fǎng)問(wèn)
  • ,:元組和參數(shù)分隔符
  • ;:語(yǔ)句分隔符(通常不推薦使用)
  • ():元組、函數(shù)調(diào)用、優(yōu)先級(jí)
  • []:列表、索引、切片
  • {}:字典、集合
  • |:集合并集
  • &:集合交集
  • -:集合差集
  • ^:集合對(duì)稱(chēng)差集

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

相關(guān)文章

  • Python抓取靜態(tài)網(wǎng)頁(yè)數(shù)據(jù)的完整指南

    Python抓取靜態(tài)網(wǎng)頁(yè)數(shù)據(jù)的完整指南

    靜態(tài)網(wǎng)頁(yè)是指網(wǎng)頁(yè)的內(nèi)容在服務(wù)器上被創(chuàng)建和存儲(chǔ)時(shí)就已經(jīng)完全確定好了,本文將和大家詳細(xì)講講如何使用Python抓取靜態(tài)網(wǎng)頁(yè)數(shù)據(jù),感興趣的小伙伴可以了解下
    2025-11-11
  • 在Django中創(chuàng)建自己的自定義用戶(hù)模型

    在Django中創(chuàng)建自己的自定義用戶(hù)模型

    這篇文章主要介紹了在Django中創(chuàng)建自己的自定義用戶(hù)模型,創(chuàng)建自己的自定義用戶(hù)模型至關(guān)重要。將來(lái),如果要對(duì)模型進(jìn)行一些更改,則可以輕松進(jìn)行這些更改。不然我們可能必須對(duì)模型進(jìn)行一些更改,而且代碼的某些部分也將被更改,下面一起進(jìn)入文章里哦阿姐個(gè)表格的詳細(xì)內(nèi)容吧
    2022-01-01
  • 教你學(xué)會(huì)通過(guò)python的matplotlib庫(kù)繪圖

    教你學(xué)會(huì)通過(guò)python的matplotlib庫(kù)繪圖

    今天教大家如何學(xué)會(huì)通過(guò)python的matplotlib庫(kù)繪圖,文中有非常詳細(xì)的圖文解說(shuō)及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python面向?qū)ο笾^承和組合用法實(shí)例分析

    Python面向?qū)ο笾^承和組合用法實(shí)例分析

    這篇文章主要介紹了Python面向?qū)ο笾^承和組合用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中組合與繼承的相關(guān)原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • python使用phoenixdb操作hbase的方法示例

    python使用phoenixdb操作hbase的方法示例

    這篇文章主要介紹了python使用phoenixdb操作hbase的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • python循環(huán)引用和解決過(guò)程

    python循環(huán)引用和解決過(guò)程

    文章討論了在Python中解決循環(huán)引用問(wèn)題的幾種方法,包括延遲導(dǎo)入、使用`importlib`、重構(gòu)代碼和類(lèi)型提示的前向引用,這些方法可以幫助開(kāi)發(fā)者避免導(dǎo)入循環(huán)導(dǎo)致的錯(cuò)誤,并使代碼更加模塊化和易于維護(hù)
    2025-12-12
  • 關(guān)于opencv讀取和寫(xiě)入路徑有漢字的處理方式

    關(guān)于opencv讀取和寫(xiě)入路徑有漢字的處理方式

    這篇文章主要介紹了關(guān)于opencv讀取和寫(xiě)入路徑有漢字的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python 的 with 語(yǔ)句詳解

    Python 的 with 語(yǔ)句詳解

    這篇文章主要介紹了Python 的 with 語(yǔ)句,本文詳細(xì)講解了with語(yǔ)句、with語(yǔ)句的歷史、with語(yǔ)句的使用例子等,需要的朋友可以參考下
    2014-06-06
  • Python通過(guò)PyMuPDF高效處理PDF文檔的操作方法

    Python通過(guò)PyMuPDF高效處理PDF文檔的操作方法

    PyMuPDF(又稱(chēng) fitz)是一個(gè)功能強(qiáng)大的Python庫(kù),用于處理PDF、XPS、EPUB、MOBI等文檔格式,它基于MuPDF(輕量級(jí) PDF 渲染引擎),提供高效的文本提取、渲染、編輯和文檔分析功能,所以本文給大家介紹了Python通過(guò)PyMuPDF高效處理PDF文檔的操作方法
    2025-11-11
  • 淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn)

    淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn)

    這篇文章主要介紹了淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評(píng)論

武安市| 婺源县| 滦平县| 连南| 读书| 宣化县| 沈阳市| 洪洞县| 禄劝| 陇南市| 黄大仙区| 霍林郭勒市| 邵东县| 扶沟县| 嘉禾县| 汉寿县| 黄石市| 诸城市| 栾川县| 新泰市| 沈阳市| 藁城市| 红河县| 黄梅县| 肃宁县| 巴塘县| 临桂县| 芜湖市| 德州市| 儋州市| 浪卡子县| 邢台县| 宣恩县| 达孜县| 额尔古纳市| 金平| 金溪县| 信宜市| 衡水市| 德清县| 定安县|