91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python自動化運維開發中的Python變量指的是什么

發布時間:2021-12-04 09:03:40 來源:億速云 閱讀:95 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關Python自動化運維開發中的Python變量指的是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Python自動化運維開發實戰Python變量.

python學習過程中會用到許多數據,那為了方便操作,需要把這些數據分別用一個簡單的名字代表,方便在接下來的程序中引用。

變量就是代表某個數據(值)的名稱。簡單點說變量就是給數據起個名字

變量名稱的命名:

由字母數字下劃線組成的,且不能以數字開頭,不能使用關鍵字,區分大小寫。

命名慣例:

1. 以單一下劃線開頭的變量名(_X)不會被 from module import *語句導入

2. 前后有下劃線的變量名(_X_)是系統定義的變量名,對解釋器有特殊意義

3. 以雙下劃線開頭,但結尾沒有雙下劃線的變量名(__X)是類的本地變量

4. 通過交互模式運行時,只有單個下劃線的變量名(_)會保存最后表達式的結果

python命名規范總結:

模塊名:小寫字母,單詞之間用_分割,比如ad_stats.py

包名:和模塊名一樣

類名:單詞首字母大寫,比如AdStats ConfigUtil

全局變量名:大寫字母,單詞之間用_分割,比如UMBER  COLOR_WRITE

普通變量:小寫字母,單詞之間用_分割,比如this_is_a_var

實例變量:以_開頭,其他和普通變量一樣,比如_price    _instance_var

私有實例變量(外部訪問會報錯):以__開頭(2個下劃線),其他和普通變量一樣

__private_var

專有變量: __開頭,__結尾,一般為python的自有變量,不要以這種方式命名

__doc__         __class_

變量賦值:

是變量聲明和定義的過程

單個變量賦值:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

counter = 100  # 賦值整型變量

miles = 1000.0 # 浮點型

name = "John"  # 字符串

print counter

print miles

print name

多個變量賦值:

Python允許你同時為多個變量賦值。

例如:

a = b = c = 1

以上實例,創建一個整型對象,值為1,三個變量被分配到相同的內存空間上。

同時為多個變量賦不同的值。

例如:

a, b, c = 1, 2, "john"

以上實例,兩個整型對象1和2的分配給變量a和b,字符串對象"john"分配給變量c。

變量存儲數據的方式:

一般編程語言變量存儲數據的方式:

變量是計算機內存中的一塊區域,變量可以存儲規定范圍內的值,而且值是可變的。

在創建變量時會在內存中開辟一個空間。基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。

比如c語言在聲明一個變量a之后,會在內存中開辟出一塊兒對應的空間,在此空間中可以存儲不同的值,也就是給變量賦予不同的值

python變量在內存中存儲值得方式和其他編程語言不同:

在Python中,變量名沒有類型,但對象有

變量名只是對對象的引用(內部實現為指針)

python中是以數據為主,變量a只是相當于一個內存空間的標簽,a=1開辟一塊空間存儲1,之后重新復制a=2是重新開辟出新的空間存儲2,變量名稱a換了個位置指向新空間中的2

同樣的地址空間可以有兩個或多個標簽,比如a=1,b=1實際上是a和b指向同一個地址空間

查看變量指向地址空間的地址:使用id(變量名稱)函數

>>> a=1

>>> id(a)

19882304

>>> b=1

>>> id(b)

19882304

上例發現同一個值賦值給不同變量,實際地址空間未發生變化,只是標簽發生了變化

PYTHON內部的引用計數(SYS.GETREFCOUNT):

什么是引用計數器:

Python內部記錄著所有使用中的對象有多少引用。一個內部跟蹤變量,稱為一個引用計數器。當對象被創建時,就創建了一個引用計數,當這個對象不再需要時,也就是說,這個對象的引用計數變為0時,它被垃圾回收。(這個只是形象的說一下,并不是嚴格的100%正確,但是通俗的理解往往是最好的學習方式)

增加引用計數:

當對象被創建并(將其引用)賦值給變量時,該對象的引用技術就是被設置為1。 當同一個對象的應用或者是對象又被賦值給其他變量時,或者作為參數傳遞給函數,方法或類實例時,或者被賦值為一個窗口對象的成員時,該對象的一個新的引用,或者稱作別名,就被創建(則該對象的引用計數自動加1)

減少引用計數:

當對象的引用被銷毀時,引用計數會減少。最明顯的例子就是當引用離開其作用范圍時,這種情況最經常出現在函數運行結束時,所有局部變量都被自動銷毀,對象的引用計數也就隨之減少。

當變量被賦值給另外一個對象時,源對象的引用技術也會自動減1

其他造成對象的引用計數減少的方式包括使用del語句刪除一個變量,或者當一個對象的引用計數在以下情況會減少:

1. 一個本地引用離開了其作用范圍,比如函數結束

2. 對象的別名被顯示的銷毀

3. 對象的一個別名被賦值給其他的對象

4. 對象被從一個窗口對象中移除

5. 窗口對象本身被銷毀

例子:

>>> import sys

>>> a="ab"

>>> sys.getrefcount("ab")

3            第一次結果為3

>>> b="ab"

>>> sys.getrefcount("ab")

4             第二次結果+1

>>> b=0   b引用了其他的對象(0),對于"ab"來講就取消了一個引用

>>> sys.getrefcount("ab")

3             結果在上次引用的基礎上-1

注意:在交互式解釋器中帶空格的對象引用次數永遠為3,但是在腳本中回歸正常,例如: #!/usr/bin/env python # coding=utf8 fdaf import sys print sys.getrefcount("ab cd") a="ab cd" print sys.getrefcount("ab cd") b="ab cd" print sys.getrefcount("ab cd") c=b print sys.getrefcount("ab cd")

垃圾收集:

不再被使用的內存會被一種稱為垃圾收集的機制釋放。像上面說的,雖然解釋器跟蹤對象的引用計數,但是垃圾收集器負責釋放內存。垃圾收集器是一塊獨立的代碼,它用來尋找引用計數為0的對象,他也負責檢查那些雖然引用計數大于0但也該被銷毀的對象。特定情形會導致循環引用。

一個循環引用發生在當你有至少兩個對象互相引用時,也就是所說的引用都消失時,這些引用仍然存在,這說明只靠引用計數是不夠的。Python的垃圾收集器實際上是一個引用計數器和一個循環垃圾收集器。當一個對象的引用計數變為0,解釋器會暫停,釋放掉這個對象和僅有這個對象可訪問的其他對象,作為引用計數的補充,垃圾收集器也會留心被分配的總量很大(以及未通過引用計數銷毀的那些)  的對象。在這種情況下,解釋器會暫停下來,試圖清理所有為引用的循環。

以上就是Python自動化運維開發中的Python變量指的是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨边| 海门市| 亚东县| 隆林| 乐至县| 尼玛县| 沂水县| 崇礼县| 前郭尔| 孙吴县| 蓬安县| 冀州市| 芦溪县| 加查县| 丰原市| 如皋市| 石狮市| 钦州市| 新竹市| 呼和浩特市| 徐水县| 介休市| 射阳县| 辽源市| 苏尼特左旗| 准格尔旗| 繁峙县| 三河市| 秦安县| 囊谦县| 仪陇县| 阳新县| 扎鲁特旗| 河北省| 舞钢市| 义乌市| 类乌齐县| 竹山县| 皋兰县| 云南省| 巴林右旗|