Python入門及進階
Python入門及進階
一、python是什么?
二、python基礎知識
三、python面向對象
四、文件處理
一、python是什么?
python是一種跨平臺、解釋性、面向對象的高級編程語言。設計哲學是:優雅 明確 簡單
適合領域:web網站和各種網絡服務、系統工具和腳本、包裝其他語言開發的模塊
不適合領域:偏硬件驅動程序代碼、移動開發、游戲開發
python與其他語言相比:
編譯型語言:需要經過編譯、鏈接兩個步驟。編譯是把源代碼翻譯成機器碼,鏈接是把各個模塊的機器碼和依賴庫串連起來生成可執行文件。
解釋型語言:程序不需要編譯,在運行程序的時候才逐行翻譯。
二、python基礎知識
python變量不需要聲明,變量在使用前必須賦值,只有賦值后該變量才會被創建
六個標準的數據類型:數字,字符串,列表list,元組tuple,集合set,字典dictionary
不可變數據:數字,字符串,元組
可變數據:列表,集合,字典
可變和不可變的實質是指內存中那塊內容是否可以被改變。
python支持中文 表示為u‘中文’ 字符串前面加個u 當然編碼也需要設置為utf-8
切片表達 [i : i+n : m]
切片的基本含義是:從序列的第i位索引起,向右取到后n位元素為止,按m間隔過濾 。
列表:列表可以完成大多數集合類的數據結構的實現,列表中元素類型可以不相同,支持數字,字符串,列表等
字典:另一種可變容器模型,可存儲任意類型的數據對象。每個鍵值用冒號分割,每個對用逗號分隔。鍵必須是唯一的,但值不必。值可取任意數據類型,鍵必須是不可變的。
字典遍歷技巧:在字典中遍歷時,關鍵字和對應的值可以使用 items() 方法同時解讀出來
函數:能提高應用的模塊性,和代碼的重復利用率。以def xxx()開始,return結束
在 python 中,類型屬于對象,變量是沒有類型的。
不可變類型:變量賦值 a=5 后再賦值 a=10,這里實際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當于新生成了a。
可變類型:變量賦值 la=[1,2,3,4] 后再賦值 la[2]=5 則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。
模塊和包
模塊就是.py文件,包含你定義的函數和變量。模塊可被其他程序引入,以使用該模塊中的函數等功能。
from … import 語句
Python 的 from 語句讓你從模塊中導入一個指定的部分到當前命名空間中
Import模塊后,python解釋器如何找到?這就涉及到Python的搜索路徑,搜索路徑是由一系列目錄名組成的,Python解釋器就依次從這些目錄中去尋找所引入的模塊
包是一個分層次的文件目錄結構,它定義了一個由模塊及子包,和子包下的子包等組成的 Python 的應用環境
包就是文件夾,但該文件夾下必須存在 init.py 文件, 該文件的內容可以為空。init.py 用于標識當前文件夾是一個包
一般引用包下的模塊,需要給python解釋器加上路徑:sys.path.extend([’…/’,’…/common’]),不然可能找不到這個包
三、python面向對象
類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
方法:類中定義的函數。
類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。
實例變量:在類的聲明中,屬性是用變量來表示的,這種變量就稱為實例變量,實例變量就是一個用 self 修飾的變量。
局部變量:定義在方法中的變量,只作用于當前實例的類。
繼承:類的繼承機制允許多個基類,派生類可以覆蓋基類中的任何方法,方法中可以調用基類中的同名方法。
私有方法和私有變量:兩個下劃線開頭,外部無法調用
self代表類的實例,而非類。類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱, 按照慣例它的名稱是 self。
實例變量的來由:類的成員變量無需聲明,想到即用,這樣動態添加的屬性只屬于實例,不屬于類
區別:類變量是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結果;而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象
四、文件處理
f=open(filename,mode)
‘rb’,’wb’等是以二進制方式打開
區別是r+讀寫不存在的文件會報錯,w+在文件不存在的情況下會自動創建文件。其他無區別
Python偏移量:
設置文件當前位置 file.seek(offset[, whence])
返回文件當前位置 file.tell()
利用迭代器遍歷read:
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。