python(2)- python程式的編寫簡單介紹

來源:互聯網
上載者:User

標籤:系統變數   src   ble   highlight   remove   此刻   劃線   串連   image   

一.語句和文法
1234567891011 #  注釋 \    轉譯斷行符號,繼續上一行,在一行語句較長的情況下可以使用其來切分成多行,因其可讀性差所以不建議使用 ;  將兩個語句串連到一行,可讀性差,不建議使用 :  將代碼的頭和體分開 語句(代碼塊)用縮排方式體現不同的代碼層級,建議採用4個空格(不要使用tab),因為不同程式設計語言環境下tab所代表的空格數不一定是4 python檔案以模組的方式組織,編寫一個.py結尾的檔案實際上就寫了一個模組

  

 

二.變數定義與賦值
1234567891011 a=11為記憶體變數存放於記憶體中,a為變數的引用,python為動態語言,變數及其類型均無需事先宣告類型 與C語言和C++的區別:a=1無傳回值 註:1.c語言變數聲明必須位於代碼最開始,而且要在所有語句之前   2.c++,java可以隨時隨地聲明變數,但是必須聲明變數名字和類型   3.python也可以隨時隨地聲明變數,但是變數在被定義時,解譯器會根據等式右側的值來決定其類型   4.變數必須先賦值,才可使用

  

 

三.記憶體管理記憶體管理:
1234567 1.變數無須指定類型 2.程式員無須關心記憶體管理 3.變數沒有指向被賦予的值時會被自動回收 4.del能夠直接釋放記憶體對象(減少對象的引用計數)

  

引用計數:

增加引用計數:

1234567 1.對象被建立並將其引用賦值給變數,引用計數加1(例a=1 2.同一個對象的引用又賦值給其它變數,引用計數加1(例b=a) 3.對象作為參數被函數調用,引用計數加1(例int(a)) 4.對象成為容器物件中的一個元素,引用計數加1(例list_test=[‘xuyaping‘,‘z‘,a])

  

減少引用計數:

123456789 1.a作為被函數調用的參數,在函數運行結束後,包括a在內的所有局部變數均會被銷毀,引用計數減1 2.變數被賦值給另外一個對象,原對象引用計數減1(例b=21這一記憶體對象的引用只剩a) 3.使用del刪除對象的引用,引用計數減1(例del a) 4.a作為容器list_test中的一個元素,被清除,引用計數減少(例list_test.remove(a)) 5.容器本身被銷毀(例del list_test)

  

123 注意:python記憶體回收交給一段獨立的代碼即記憶體回收行程(包含引用計數器和迴圈垃圾收集器),引用計數在歸零時並不會立即清除(可能有迴圈調用)    不必糾結循環參考收集,只需記住記憶體回收行程幫你自動清理記憶體。

  

簡單例子
1234567 x=1 #建立記憶體變數1,將變數1的引用傳給x,此刻1的引用計數為1y=x #1的引用計數增加到2  y=2 #建立新的記憶體變數2,將變數2的引用傳給y,原本指向1的y,此刻給了2,所以1的引用計數減少到了1 del x #刪除了記憶體對象1的引用x,此刻1再無引用,此刻它就成了python解譯器回收的目標

 

四.python對象
python中使用物件模型來儲存資料,用來產生資料類型的工廠函數本質上是類,建立資料的結果本質是執行個體化一個對象對象有三種特性:
1.身份:記憶體位址,可以用id()確認,id相同的就是同一個對象2.類型:可以用type()查看,傳回值的type也是對象3.值

 

 

五.標識符
123456789101112131415 定義:允許作為名字的有效字串集合 1.名字必須有實際意義,可讀性好 2.首字母必須是字母或底線(_) 3.剩下的字元可以是字母和數字或者底線 4.大小寫敏感 5.兩種風格:conn_obj或ConnObj 6.不能使用關鍵字,不能使用內建 內建:由解譯器自動匯入(提供準系統),可以看作全域變數,

  

 

六.專用底線標識符
1234567891011121314151617181920212223242526272829 _xxx:不能用from module import *匯入 __xxx__:系統定義名字 __xxx:類中私人變數 底線對於解譯器來說有特殊意義,而且是內建標識符所使用符號,不建議自訂變數以底線開頭 但是如果是類中的私人變數,__xxx將會是一個好習慣    系統變數__name__會根據python檔案被載入方式的不同得出不同的值。     python檔案被當作模組匯入:__name__=模組名或者檔案名稱     python檔案被執行:__name__=‘__main__‘    在我們使用python編寫一個軟體時,應該只有一個主程式中包含大量頂級代碼(就是沒有縮排的代碼,python解譯器讀取到頂級代碼會立即執行),其他.py檔案應    該只有少量頂級代碼,所有功能都應該封裝在函數或類中。    通常在檔案結尾結合__name__變數,編寫測試代碼 。

  

 

七.編寫模組基本風格
12345678 1.標題2.文檔注釋3.模組匯入4.變數定義5.類定義語句6.函數定義語句7.主程式8.測試代碼

  

 

八.示範
1234567891011121314151617181920212223242526 #_*_coding:utf-8_*_#!/usr/bin/env python ‘‘‘This is an example module‘‘‘ import sys,os debug=True class Test:    ‘‘‘    test class    ‘‘‘    pass def main():    ‘‘‘    test func    :return:    ‘‘‘    pass if __name__ == ‘__main__‘:    main()

  

python(2)- python程式的編寫簡單介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.