python簡介和基礎
Python 簡介
Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向物件的指令碼語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
- Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
- Python 是互動式語言: 這意味著,您可以在一個Python提示符,直接互動執行寫你的程式。
- Python 是面嚮物件語言: 這意味著Python支援面向物件的風格或程式碼封裝在物件的程式設計技術。
- Python 是初學者的語言:Python 對初級程式設計師而言,是一種偉大的語言,它支援廣泛的應用程式開發,從簡單的文書處理到 WWW瀏覽器再到遊戲.
Python 發展歷史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和電腦科學研究所設計出來的。
Python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的指令碼語言等等。
像 Perl 語言一樣,Python 原始碼同樣遵循 GPL(GNU General Public License)協議。
現在 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然佔據著至關重要的作用,指導其進展。
Python 特點
- 1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
- 2.易於閱讀:Python程式碼定義的更清晰。
- 3.易於維護:Python的成功在於它的原始碼是相當容易維護的。
- 4.一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。
- 5.互動模式:互動模式的支援,您可以從終端輸入執行程式碼並獲得結果的語言,互動的測試和除錯程式碼片斷。
- 6.可移植:基於其開放原始碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
- 7.可擴充套件:如果你需要一段執行很快的關鍵程式碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中呼叫。
- 8.資料庫:Python提供所有主要的商業資料庫的介面。
- 9.GUI程式設計:Python支援GUI可以建立和移植到許多系統呼叫。
- 10.可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的使用者獲得”指令碼化”的能力。
Python 變數
變數儲存在記憶體中的值。這就意味著在建立變數時會在記憶體中開闢一個空間。
基於變數的資料型別,直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中。
因此,變數可以指定不同的資料型別,這些變數可以儲存整數,小數或字元。
變數的命名規則
- 名字要:見名知意
可以由字母,下劃線和數字組成
不能以數字開頭
不能和關鍵字重明 - 駝峰命名法
1.大駝峰:每一個單詞的首字母都大寫
FirstName LastName
2.小駝峰:第一個單詞以小寫字母開始,後續單詞的首字母大寫
firstName lastName
變數的型別
在 python 中定義變數是不需要指定型別(在其他很多高階語言中都需要)
資料類新可以分為數字型和非數字型
-
數字型
- 整型(int)
- 浮點型(float)
- 布林型(bool)真 True 非 0 數 — 非 0 即真
- 非數字型
- 字串
- 列表
- 元組
- 字典
格式化輸出
格式化字串 | 含義 |
---|---|
%s | 字串 |
%d | 有符號十進位制整數 |
%06d | 表示輸出的整數顯示位數字,不足的地方使用0填充 |
%f | 浮點數,%.02f 表示小數點後只顯示兩位 |
%% |
輸出% |
字串操作
字串定義與轉義字元
字串的定義有三種方式:
1:str1 = 'our company'
2:str2 = "our company"
3:str3 = """our company"""
轉義字元:
一個反斜線加一個單一字元可以表示一個特殊字元,通常是不可列印的字元\n
代表換行符\"
代表雙引號本身\t
代表tab符\'
代表單引號本身
其中三重引號可以作為塊註釋(多行程式碼註釋),也可以作為函式的doc文件,也可以作為字串格式化
字串的特性
- 索引
s = "hello"
>>> s = "hello"
# 正向索引
>>> s[1]
'e'
>>> s[0]
'h'
>>> s[4]
'o'# 反向索引
>>> s = "hello world"
>>> s[-1]
'd'
>>> s[-2]
'l'
>>> s[-3]
'r - 切片
[start:end:step] # 從start開始到end-1結束, 步長為step;
- 如果start省略, 則從頭開始切片;
- 如果end省略, 一直切片到字串最後;
s[1:]
s[:-1]
s[::-1] # 對於字串進行反轉
s[:] # 對於字串拷貝 - 成員操作符
-
>>> s = "hello"
>>> 'h' in s
True
>>> 'hel' in s
True
>>> 'oo' in s
False
>>> 'h' not in s
False
>>> 'oo' not in s
True - 字串連線
-
>>> a = "hello"
>>> b = "python"
>>> print("%s %s" %(a, b))
hello python
>>> a + b
'hellopython'
>>> a + " " +b
'hello python' - 字串的重複
- >>> "*"*10 + "學生管理系統" + "*"*10
'**********\xe5\xad\xa6\xe7\x94\x9f\xe7\xae\xa1\xe7\x90\x86\xe7\xb3\xbb\xe7\xbb\x9f**********'
>>> print("*"*10 + "學生管理系統" + "*"*10) - 字串的常用方法
-
'isalnum' 是否為字母,數字 'isalpha' 是否由字母組成 'isdecimal' 是否由十進位制數字組成 'isdigit' 十進位制數字判斷 'isidentifier' 是否字串是否以字母開頭 'islower' 小寫字母判斷 'isnumeric' 檢測變數是否為數字或數字串 'isprintable' 是否可輸出判斷 'isspace' 空格判斷 'istitle' 標題判斷 'isupper' 大寫字母判斷 'lower' 將字串變為小寫 'upper' 將字串變為大寫 'title' 變為title格式 'swapcase' 大寫變小寫,小寫變大寫
- 字串的開頭和結尾匹配 filename.endswith filename.startwith
- 字串的搜尋和替換 find 查詢 replace 替換 count 計數
- 字串的分離與拼接 spilt 變數名.spilt('指定分割符') join ''.join(變數名)