您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么掌握Python”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Python 基礎
1.變量
你可以把變量想象成一個用來存儲值的單詞。我們看個例子。
Python 中定義一個變量并為它賦值是很容易的。假如你想存儲數字 1 到變量 “one” ,讓我們試試看:
one = 1
超級簡單吧?你只需要把值 1 分配給變量 “one” 。
two = 2 some_number = 10000
只要你想,你可以把任意的 值 賦給任何其他的 變量 。正如你從上面看到的那樣,變量 “ two ” 存儲整型變量 2 , 變量 “ some_number ” 存儲 10000 。
除了整型,我們還可以使用布爾值(True/Flase)、字符串、浮點型和其他數據類型。
# booleanstrue_boolean = Truefalse_boolean = False# stringmy_name = "Leandro Tk"# floatbook_price = 15.80
2.控制流程:條件語句
“ If ” 使用一個表達式來判斷一個語句是 True 還是 False ,如果是 True ,那么執行 if 內的代碼,例子如下:
if True: print("Hello Python If")if 2 > 1: print("2 is greater than 1")
2 比 1 大,所以 print 代碼被執行。
當“ if ”里面的表達式是 false 時,“ else ” 語句將會執行。
if 1 > 2: print("1 is greater than 2")else: print("1 is not greater than 2")
1 比 2 小,所以 “ else ” 里面的代碼會執行。
你也可以使用 “ elif ” 語句:
if 1 > 2: print("1 is greater than 2")elif 2 > 1: print("1 is not greater than 2")else: print("1 is equal to 2")
3. 循環和迭代
在 Python 中,我們可以用不同的形式進行迭代。我會說下 while 和 for。
While 循環:當語句是 True 時,while 內部的代碼塊會執行。所以下面這段代碼會打印出 1 到 10 。
num = 1while num <= 10: print(num) num += 1
while 循環需要 循環條件 ,如果條件一直是 True ,它將會一直迭代,當 num 的值為 11 時,循環條件為 false 。
另一段代碼可以幫你更好的理解 while 語句的用法:
loop_condition = Truewhile loop_condition: print("Loop Condition keeps: %s" %(loop_condition)) loop_condition = False
循環條件是 True 所以會一直迭代,直到為 False 。
For 循環:你可以在代碼塊上應用變量 “ num ” ,而 “for” 語句將為你迭代它。此代碼將打印與 while 中相同的代碼:從 1 到 10 。
for i in range(1, 11): print(i)
瞧見沒?這太簡單了。i 的范圍從 1 開始一直到第 11 個元素(10是第十個元素)
List:集合 | 數組 | 數據結構
假如你想要在一個變量里存儲整數 1 ,但是你也要存儲 2 和 3 , 4 , 5 ...
不是用成百上千個變量,我有別的方法存儲這些我想要存儲的整數嗎?你已經猜到了,確實有別的存儲它們的方法。
列表是一個集合,它能夠存儲一列值(就像你想要存儲的這些),那么讓我們來用一下它:
my_integers = [1, 2, 3, 4, 5]
這真的很簡單。我們創建了一個叫做 my_integer 的數組并且把數據存到了里面。
也許你會問:“我要怎樣獲取數組里的值?”
問的好。列表有一個叫做索引的概念。***個元素的下表是索引0(0)。第二個的索引是1,以此類推,你應該明白的。
為了使它更加簡潔,我們可以用它的索引代表數組元素。我畫了出來:
用 Python 的語法,也很好去理解:
my_integers = [5, 7, 1, 3, 4] print(my_integers[0]) # 5print(my_integers[1]) # 7print(my_integers[4]) # 4
假如你不想存整數。你只想去存一些字符串,像你親戚名字的列表。我的看起來是類似這樣的:
relatives_names = [ "Toshiaki", "Juliana", "Yuji", "Bruno", "Kaio"] print(relatives_names[4]) # Kaio
它的原理跟存整數一樣,很友好。
我們只學習了列表的索引是如何工作的,我還需要告訴你如何向列表的數據結構中添加一個元素(向列表中添加一個項目)。
最常用的向列表中添加新數據的方法是拼接。我們來看一下它是如何使用的:
bookshelf = [] bookshelf.append("The Effective Engineer") bookshelf.append("The 4 Hour Work Week") print(bookshelf[0]) # The Effective Engineerprint(bookshelf[1]) # The 4 Hour Work W
拼接超級簡單,你僅需要把一個元素(比如“有效的機器”)作為拼接參數。
好了,關于列表的知識這些就夠了,讓我們來看一下其它的數據結構。
字典:Key-Value 數據結構
現在我們知道 List 是有索引的整型數字集合。但如果我們不像使用整型數字作為索引呢?我們可以用其他的一些數據結構,比如數字、字符串或者其他類型的索引。
讓我們學習下字典這種數據結構。字典是一個鍵值對的集合。字典差不多長這樣:
dictionary_example = { "key1": "value1", "key2": "value2", "key3": "value3" }
Key 是指向 value 的索引。我們如何訪問字典中的 value 呢?你應該猜到了,那就是使用 key 。 我們試一下:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian" } print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk print("And by the way I'm %s" %(dictionary_tk["nationality"])) # And by the way I'm Brazilian
我們有個 key (age) value (24),使用字符串作為 key 整型作為 value 。
我創建了一個關于我的字典,其中包含我的名字、昵稱和國籍。這些屬性是字典中的 key 。
就像我們學過的使用索引訪問 list 一樣,我們同樣使用索引(在字典中 key 就是索引)來訪問存儲在字典中的 value 。
正如我們使用 list 那樣,讓我們學習下如何向字典中添加元素。字典中主要是指向 value 的 key 。當我們添加元素的時候同樣如此:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk print("And by the way I'm %i and %s" %(dictionary_tk["age"], dictionary_tk["nationality"])) # And by the way I'm Brazilian
我們只需要將一個字典中的一個 key 指向一個 value 。沒什么難的,對吧?
迭代:通過數據結構進行循環
跟我們在 Python 基礎中學習的一樣,List 迭代十分簡單。我們 Python 開發者通常使用 For 循環。我們試試看:
bookshelf = [ "The Effective Engineer", "The 4 hours work week", "Zero to One", "Lean Startup", "Hooked" ] for book in bookshelf: print(book)
對于在書架上的每本書,我們打印( 可以做任何操作 )到控制臺上。超級簡單和直觀吧。這就是 Python 的美妙之處。
對于哈希數據結構,我們同樣可以使用 for 循環,不過我們需要使用 key 來進行:
dictionary = { "some_key": "some_value" } for key in dictionary: print("%s --> %s" %(key, dictionary[key])) # some_key --> some_value
上面是如何在字典中使用 For 循環的例子。對于字典中的每個 key ,我們打印出 key 和 key 所對應的 value 。
另一種方式是使用 iteritems 方法。
dictionary = { "some_key": "some_value" } for key, value in dictionary.items(): print("%s --> %s" %(key, value))# some_key --> some_value
我們命名兩個參數為 key 和 value ,但是這不是必要的。我們可以隨意命名。我們看下:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } for attribute, value in dictionary_tk.items(): print("My %s is %s" %(attribute, value)) # My name is Leandro # My nickname is Tk # My nationality is Brazilian # My age is 24
可以看到我們使用了 attribute 作為字典中 key 的參數,這與使用 key 命名具有同樣的效果。真是太棒了!
類&對象
一些理論:
對象是對現實世界實體的表示,如汽車、狗或自行車。 這些對象有兩個共同的主要特征: 數據 和 行為 。
汽車有 數據 ,如車輪的數量,車門的數量和座位的空間,并且它們可以表現出其行為:它們可以加速,停止,顯示剩余多少燃料,以及許多其他的事情。
我們將 數據 看作是面向對象編程中的屬性和行為。 又表示為:
數據→ 屬性和行為 → 方法
而 類 是創建單個對象的藍圖。 在現實世界中,我們經常發現許多相同類型的對象。 比如說汽車。 所有的汽車都有相同的構造和模型(都有一個引擎,輪子,門等)。每輛車都是由同一套藍圖構造成的,并具有相同的組件。
Python 面向對象編程模式:ON
Python,作為一種面向對象編程語言,存在這樣的概念: 類 和 對象 。
一個類是一個藍圖,是對象的模型。
那么,一個類是一個模型,或者是一種定義 屬性 和 行為 的方法(正如我們在理論部分討論的那樣)。舉例來說,一個車輛 類 有它自己的 屬性 來定義這個 對象 是個什么樣的車輛。一輛車的屬性有輪子數量,能源類型,座位容量和***時速這些。
考慮到這一點,讓我們來看看 Python 的 類 的語法:
class Vehicle: pass
上邊的代碼,我們使用 class 語句 來定義一個類。是不是很容易?
對象是一個 類 的實例化,我們可以通過類名來進行實例化。
car = Vehicle() print(car) # <__main__.Vehicle instance at 0x7fb1de6c2638>
在這里,car 是類 Vehicle 的對象(或者實例化)。
記得車輛 類 有四個 屬性 :輪子的數量,油箱類型,座位容量和***時速。當我們新建一個車輛 對象 時要設置所有的 屬性 。所以在這里,我們定義一個 類 在它初始化的時候接受參數:
class Vehicle: def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): self.number_of_wheels = number_of_wheels self.type_of_tank = type_of_tank self.seating_capacity = seating_capacity self.maximum_velocity = maximum_velocity
這個 init 方法 。我們稱之為構造函數。因此當我們在創建一個車輛 對象 時,可以定義這些 屬性 。想象一下,我們喜歡 Tesla Model S ,所以我們想創建一個這種類型的 對象。 它有四個輪子,使用電能源,五座并且***時時速是250千米(155英里)。我們開始創建這樣一個 對象 :
tesla_model_s = Vehicle(4, 'electric', 5, 250)
“怎么掌握Python”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。