kaggle官方學習資源之python(1)
學習地址:
學習目錄:
1. Hello, Python
- 簡單介紹python的常量、變數賦值以及算術運算
2. 練習: Syntax, Variables, and Numbers
3. Functions and Getting Help
- 函式定義及呼叫, 並使用python內建文件
4. 練習: Functions and Getting Help
5. Booleans and Conditionals
- 使用布林代數進行分支邏輯
6. 練習: Booleans and Conditionals
7. Lists
- 列表操作,包括下標、切片和轉變
8. 練習: Lists
9. Loops and List Comprehensions
- while迴圈
10. 練習: Loops and List Comprehensions
11. Strings and Dictionaries
- 使用字串和字典s
12. 練習: Strings and Dictionaries
13. Working with External Libraries
- 匯入擴充套件庫
14. 練習: Working with External Libraries
詳細資訊:
歡迎來到Kaggle學習之Python課程。本課程將涵蓋在使用Python進行資料科學之前需要用到的基本Python技能。這些課程是針對那些具有某些先前編碼經驗的人,他們希望將Python新增到他們的程式集或者提高他們的Python技能。 這一課將簡要介紹Python語法、變數賦值和算術運算子。如果你有以前的Python經驗,你可以直接跳過練習。
Hello, Python!
注:本文在原網站是使用Jupyter notebook實現,互動性強,並支援實時執行,本文只展示對應的內容,其中ln表示輸入,output表示輸出。
In [1]:
spam_amount = 0
print(spam_amount)
# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4
if spam_amount > 0:
print("But I don't want ANY spam!" )
viking_song = "Spam " * spam_amount
print(viking_song)
上述程式碼有很多內容需要拆開講,該程式演示了Python程式碼的語法及其工作原理,下面讓我們從上到下執行程式碼。 In [2]:
spam_amount = 0
變數賦值!在這裡,建立了一個名為spam_amount
的變數,並使用=
Python的賦值運算子賦值為0。
旁白:如果你已經用某些其他語言程式設計(比如Java或C++),你可能會注意到Python在賦值之前不需要做的一些事情有:
- 在分配值給它之前,我們不需要“宣告”
spam_amount
變數;- 我們不需要告訴Python將引用什麼型別的
spam_amount
值。事實上,我們甚至可以重新分配spam_amount
表示不同型別的內容,比如字串或布林值。
In [3]:
print(spam_amount)
輸出:
0
函式呼叫。print
是一個非常有用的內建Python函式,它顯示在螢幕上傳遞給它的值。我們通過呼叫括號後面的函式來呼叫函式,函式的輸入(或引數)在它們之間。
In [4]:
# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4
上面的第一行是註釋。在Python中,註釋開始於符號#
。
接下來我們看到一個重新賦值的例子。重新賦值現有變數的值看起來就像建立變數一樣——它仍然使用=
賦值運算子。
在這種情況下,我們分配給spam_amount
量的值涉及到它以前的值的一個簡單的算術。當遇到這一行時,Python計算=(0+4=4)右側的表示式,然後將該值分配給左側的變數。
In [5]:
if spam_amount > 0:
print("But I don't want ANY spam!")
輸出:
But I don't want ANY spam!
條件語句是之後討論的內容,但即使你以前從未編碼過,你也可以猜出這是什麼。Python因其可讀性和語法的簡單性而受到重視。
請注意,我們指出了哪些程式碼屬於if。如果spam_amount
值是正的,則列印。若不滿足該條件,if後的語句都不執行。
在if行結尾的冒號(:)指示一個新的“程式碼塊”即將出現。隨後縮排的行(從額外的4個空間開始)是程式碼塊的一部分。你可能熟悉其他使用{括號}來標記程式碼塊的開始和結束的語言。Python對有意義的空白空間的使用對於習慣於其他語言的程式設計師來說常常是令人驚訝的,但是在實踐中,它可能導致比不強制程式碼塊縮排的語言更加一致和可讀的程式碼。
處理VijiSang-Toug的後期行沒有額外的4個空格,因此它們不是IF的程式碼塊的一部分。稍後,當我們開始定義函式和使用迴圈時,我們會看到更多縮排程式碼塊的例子。
這個程式碼片段也是我們在Python中第一次看到一個字串:
"But I don't want ANY spam!"
字串可以用雙引號或單引號標記。 In [6]:
viking_song = "Spam " * spam_amount
print(viking_song)
輸出:
Spam Spam Spam Spam
運算子可以用來乘兩個數字(3x3得9),但有趣的是,我們還可以將字串乘以一個數字,以得到重複多次的版本。
Python中的數字和算術
我們已經看到了一個包含一個以上變數的變數的例子: In [7]:
spam_amount = 0
“Number”是一個很好的非正式名稱,但是如果我們想要更具技術性,我們可以問Python它將如何描述spam_.: In [8]:
type(spam_amount)
輸出
int
它是整數的int型別。在Python中我們遇到了另一種數字: In [9]:
type(19.95)
輸出
float
浮點數是一個小數位數的數字,非常有用,用來表示重量或比例等事物。 Type()是我們已經看到的第二個內建函式,能夠問Python“這是什麼樣的東西”是非常有用的. 一個與數字有關的自然事物是執行算術。我們已經看到了+運算子的加法,以及運算子乘法(排序)。Python也包含其他基本操作: In [10]:
print(5 / 2)
print(6 / 2)
輸出
2.5
3.0
/
總是給我們一個浮點數。
//
操作符給出一個舍入到下一個整數的結果。
In [11]:
print(5 // 2)
print(6 // 2)
輸出
2
3
你可能會在編碼問題中看到一個例子——操作順序。 我們在小學學習的算術有關於操作評估順序的約定,有些人用助記符來記憶這些單詞,如PMEDAS括號、指數、乘法、除法、加減法。Python遵循類似的規則,首先執行計算。它們大多是很直觀的。 In [12]:
8 - 3 + 2
輸出
7
In [13]:
-3 + 4 * 2
輸出
5
有時,預設的操作順序不是我們想要的: In [14]:
hat_height_cm = 25
my_height_cm = 190
# How tall am I, in meters, when wearing my hat?
total_height_meters = hat_height_cm + my_height_cm / 100
print("Height in meters =", total_height_meters, "?")
輸出:
Height in meters = 26.9?
括號操作是你的王牌,你可以新增它們以強制Python以不同的順序來評估子表示式(或者只是為了使程式碼更易於閱讀)。 In [15]:
total_height_meters = (hat_height_cm + my_height_cm) / 100
print("Height in meters =", total_height_meters)
輸出:
Height in meters = 2.15
內建函式的工作:最小和最大收益和最大值分別為 In [16]:
print(min(1, 2, 3))
print(max(1, 2, 3))
輸出:
1
3
abs返回其引數的絕對值: In [17]:
print(abs(32))
print(abs(-32))
輸出:
32
32
除了作為Python的兩種主要數值型別的名稱之外,int和float還可以被呼叫為將其引數轉換為對應型別的函式: In [18]:
print(float(10))
print(int(3.33))
# They can even be called on strings!
print(int('807') + 1)
輸出:
10.0
3
808