<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            網頁設計

            Python中下劃線的方法

            時間:2025-02-14 12:55:29 飛宇 網頁設計 我要投稿

            Python中下劃線的方法

              文章主要介紹了Python中下劃線的使用方法,是為python編程學習中的基本知識,需要的朋友可以參考下。

              單下劃線(_)

              通常情況下,會在以下3種場景中使用:

              1、在解釋器中:在這種情況下,“_”代表交互式解釋器會話中上一條執行的語句的結果。這種用法首先被標準CPython解釋器采用,然后其他類型的解釋器也先后采用。 _ Traceback (most recent call last):

              File "", line 1, in

              NameError: name _ is not defined

              42

              _

              42

              alright! if _ else :(

              alright!

              _

              alright!

              2、作為一個名稱:這與上面一點稍微有些聯系,此時“_”作為臨時性的名稱使用。這樣,當其他人閱讀你的代碼時將會知道,你分配了一個特定的名稱,但是并不會在后面再次用到該名稱。例如,下面的例子中,你可能對循環計數中的實際值并不感興趣,此時就可以使用“_”。

              3 n = 42

              for _ in range(n):

              do_something()

              3、國際化:也許你也曾看到”_“會被作為一個函數來使用。這種情況下,它通常用于實現國際化和本地化字符串之間翻譯查找的函數名稱,這似乎源自并遵循相應的C約定。例如,在Django文檔“轉換”章節中,你將能看到如下代碼:

              ?

              1

              2

              3

              4

              5 from django.utils.translation import ugettext as _

              from django.http import HttpResponse

              def my_view(request):

              output = _("Welcome to my site.")

              return HttpResponse(output)

              可以發現,場景二和場景三中的使用方法可能會相互沖突,所以我們需要避免在使用“_”作為國際化查找轉換功能的代碼塊中同時使用“_”作為臨時名稱。

              名稱前的單下劃線(如:_shahriar)

              程序員使用名稱前的單下劃線,用于指定該名稱屬性為“私有”。這有點類似于慣例,為了使其他人(或你自己)使用這些代碼時將會知道以“_”開頭的名稱只供內部使用。正如Python文檔中所述:

              以下劃線“_”為前綴的名稱(如_spam)應該被視為API中非公開的部分(不管是函數、方法還是數據成員)。此時,應該將它們看作是一種實現細節,在修改它們時無需對外部通知。

              正如上面所說,這確實類似一種慣例,因為它對解釋器來說確實有一定的意義,如果你寫了代碼“from <模塊> import *”,那么以“_”開頭的名稱都不會被導入,除非模塊或包中的“__all__”列表顯式地包含了它們。了解更多請查看“Importing * in Python”。

              名稱前的雙下劃線(如:__shahriar)

              名稱(具體為一個方法名)前雙下劃線(__)的用法并不是一種慣例,對解釋器來說它有特定的意義。Python中的這種用法是為了避免與子類定義的名稱沖突。Python文檔指出,“__spam”這種形式(至少兩個前導下劃線,最多一個后續下劃線)的任何標識符將會被“_classname__spam”這種形式原文取代,在這里“classname”是去掉前導下劃線的當前類名。例如下面的例子:

              8 class A(object):

              ... def _internal_use(self):

              ... pass

              ... def __method_name(self):

              ... pass

              ...

              dir(A())

              [_A__method_name, ..., _internal_use]

              正如所預料的,“_internal_use”并未改變,而“__method_name”卻被變成了“_ClassName__method_name”。此時,如果你創建A的一個子類B,那么你將不能輕易地覆寫A中的方法“__method_name”。

              6 class B(A):

              ... def __method_name(self):

              ... pass

              ...

              dir(B())

              [_A__method_name, _B__method_name, ..., _internal_use]

              這里的功能幾乎和Java中的final方法和C++類中標準方法(非虛方法)一樣。

              名稱前后的雙下劃線(如:__init__)

              這種用法表示Python中特殊的方法名。其實,這只是一種慣例,對Python系統來說,這將確保不會與用戶自定義的名稱沖突。通常,你將會覆寫這些方法,并在里面實現你所需要的功能,以便Python調用它們。例如,當定義一個類時,你經常會覆寫“__init__”方法。

              雖然你也可以編寫自己的特殊方法名,但不要這樣做。

              6 class C(object):

              ... def __mine__(self):

              ... pass

              ...

              dir(C)

              ... [..., __mine__, ...]

              其實,很容易擺脫這種類型的命名,而只讓Python內部定義的特殊名稱遵循這種約定。

              1. 解釋器中

              _符號是指交互解釋器中最后一次執行語句的返回結果。這種用法最初出現在CPython解釋器中,其他解釋器后來也都跟進了。

              復制代碼代碼如下:

              _

              Traceback (most recent call last):

              File "", line 1, in

              NameError: name _ is not defined

              alright! if _ else :(

              alright!

              alright!

              2.作為名稱使用

              這個跟上面有點類似。_用作被丟棄的名稱。按照慣例,這樣做可以讓閱讀你代碼的人知道,這是個不會被使用的特定名稱。舉個例子,你可能無所謂一個循環計數的值:

              復制代碼代碼如下:

              n = 42

              for _ in range(n):

              do_something()

              3. i18n

              還可以被用作函數名。這種情況,單下劃線經常被用作國際化和本地化字符串翻譯查詢的函數名。這種慣例好像起源于C語言。舉個例子,在Django documentation for translation中你可能會看到:

            【Python中下劃線的方法】相關文章:

            Python中下劃線的使用方法11-28

            分析Python中下劃線的使用方法02-23

            Python中下劃線的使用方法有哪些08-12

            Python中下劃線的使用方法經驗分享06-03

            Word中下劃線怎么打04-04

            python執行外部程序的常用方法12-17

            python執行外部程序的常用方法小結07-18

            在word中添加上劃線的 方法05-27

            python將數據插入到mongodb的方法介紹06-01

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看