Python學習(一) python3基礎

2021-07-10 16:01:36 字數 3225 閱讀 7123

主要參考廖雪峰的python教程

不斷的學習才能不斷發現好東西!

富而不驕易,窮而不怨難

整數(int)、浮點數(float)、字串(str)、布林值(bool)、空值(nonetype)、變數、常量

list:是一種有序的集合,可以隨時新增和刪除其中的元素;用索引來訪問list中每乙個位置的元素,記得索引是從0開始的;如果要取最後乙個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後乙個元素;當索引超出了範圍時,python會報乙個indexerror錯誤;用len()函式可以獲得list元素的個數;如果乙個list中乙個元素也沒有,就是乙個空的list,它的長度為0,如。unhashable type: 『list』,故不可以放入set和dict中。

tuple:tuple和list非常類似,也為有序集合,但是tuple一旦初始化就不能修改;因為tuple不可變,所以**更安全。如果可能,能用tuple代替list就盡量用tuple;tuple的陷阱:當你定義乙個tuple時,在定義的時候,tuple的元素就必須被確定下來;如果要定義乙個空的tuple,可以寫成();只有1個元素的tuple定義時必須加乙個逗號,來消除歧義,如(1,),這是因為括號()既可以表示tuple,又可以表示數學公式中的小括號,這就產生了歧義。

dict:全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度;dict內部存放的順序和key放入的順序是沒有關係的。

和list比較,dict有以下幾個特點:

查詢和插入的速度極快,不會隨著key的增加而變慢;

需要占用大量的記憶體,記憶體浪費多。

而list相反:

查詢和插入的時間隨著元素的增加而增加;

占用空間小,浪費記憶體很少。

所以,dict是用空間來換取時間的一種方法。

正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key。由於乙個key只能對應乙個value,所以,多次對乙個key放入value,後面的值會把前面的值沖掉,也就是說

key不重複。

set:和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key,重複元素在set中自動被過濾。要建立乙個set,需要提供乙個list作為輸入集合。set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集&、並集』等操作。set的原理和dict一樣,所以,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部「不會有重複元素」,因此,不能把list放入set中,可以把tuple放入set中,但是tuple中若是含有list元素,則不能放入set中。

range:不可變數字序列型別;str,不可變的字串物件,即不可變的文字序列

frozenset:是凍結的集合,它是不可變的,存在雜湊值,好處是它可以作為字典的key,也可以作為其它集合的元素。缺點是一旦建立便不能更改,沒有add,remove方法。set是可變的,有add(),remove()等方法。既然是可變的,所以它不存在雜湊值。

baseexception

+– systemexit

+– keyboardinterrupt

+– generatorexit

+– exception

+– stopiteration

+– arithmeticerror

| +– floatingpointerror

| +– overflowerror

| +– zerodivisionerror

+– assertionerror

+– attributeerror

+– buffererror

+– eoferror

+– importerror

+– lookuperror

| +– indexerror

| +– keyerror

+– memoryerror

+– nameerror

| +– unboundlocalerror

+– oserror

| +– blockingioerror

| +– childprocesserror

| +– connectionerror

| | +– brokenpipeerror

| | +– connectionabortederror

| | +– connectionrefusederror

| | +– connectionreseterror

| +– fileexistserror

| +– filenotfounderror

| +– interruptederror

| +– isadirectoryerror

| +– notadirectoryerror

| +– permissionerror

| +– processlookuperror

| +– timeouterror

+– referenceerror

+– runtimeerror

| +– notimplementederror

+– syntaxerror

| +– indentationerror

| +– taberror

+– systemerror

+– typeerror

+– valueerror

| +– unicodeerror

| +– unicodedecodeerror

| +– unicodeencodeerror

| +– unicodetranslateerror

+– warning

+– deprecationwarning

+– pendingdeprecationwarning

+– runtimewarning

+– syntaxwarning

+– userwarning

+– futurewarning

+– importwarning

+– unicodewarning

+– byteswarning

+– resourcewarning

學習 Python學習(一) Python問答

一.為什麼要使用python?python的主要特點有 1 軟體質量,python 具有很強的可讀性,因此在重用和維護方面就比較方便 2 編碼效率,python沒有編譯和鏈結庫的過程 3 程式移植性,不做任何修改,python可執行在windows和linux系統 4 豐富的支撐庫,python既可...

python學習筆記 一 python簡介

python是一種計算機程式語言。python是一種什麼樣的語言?優雅,簡單,明確 執行速度慢,和c相比非常慢,因為python是解釋型語言,你的 在執行時會一行一行的翻譯成cpu能理解的機器碼,這個翻譯過程十分耗時,所以很慢 而c程式在允許前直接編譯成機器能識別的機器碼,所以執行起來速度非常快。不...

python學習之一 python安裝

python學習之一 python安裝 一 在linux系統 在linux上很可能已經自帶了python 這可能和你在安裝linux時的包的選擇有關係 測試方法是在linux環境下開啟shell然後輸入 pyton v python 2.6.6 注意這裡的命令 v的v是大寫的,我的系統中返回的是2....