快速介紹 Python 語法、變量賦值和數(shù)字!
這門課程涵蓋了你在使用Python進(jìn)行數(shù)據(jù)科學(xué)時(shí)所需的關(guān)鍵Python技能。該課程適合有一些先前編碼經(jīng)驗(yàn)的人,希望將Python添加到他們的技能庫中。(如果您是第一次編碼,建議您查看我們的編程入門課程,該課程專為完全初學(xué)者設(shè)計(jì),希望開始使用Python。)
我們將從Python語法、變量賦值和算術(shù)運(yùn)算符的簡(jiǎn)要概述開始。
-
1.你好, Python!
-
1.1數(shù)字和Python中的算術(shù)操作
- 1.1.1運(yùn)算順序
- 1.1.2處理數(shù)字的內(nèi)置函數(shù)
-
1.1數(shù)字和Python中的算術(shù)操作
1.你好, Python!
Python的名字來源于英國(guó)喜劇團(tuán)Monty Python,因此我們將把我們的第一個(gè)Python程序致敬給他們關(guān)于Spam的小品。
只是為了好玩,試著閱讀下面的代碼,并預(yù)測(cè)在運(yùn)行時(shí)它將執(zhí)行什么操作。(如果你一點(diǎn)都不知道,也沒關(guān)系?。?/p>
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)
output
0
But I don't want ANY spam!
Spam Spam Spam Spam
這里有很多內(nèi)容需要理解!這個(gè)簡(jiǎn)單的程序展示了Python代碼的許多重要方面以及它的工作原理。讓我們從上到下逐步審查代碼。
In [2]:
spam_amount = 0
變量賦值: 在這里,我們創(chuàng)建了一個(gè)名為 spam_amount
的變量,并使用 =
賦予它值為 0,=
被稱為賦值運(yùn)算符。
注意: 如果你之前在某些其他語言中編程過(比如Java或C++),你可能會(huì)注意到Python在這里不需要我們做一些事情:
- 我們不需要在賦值之前“聲明”
spam_amount
- 我們不需要告訴Python
spam_amount
將引用的值的類型。實(shí)際上,我們甚至可以重新將spam_amount
賦值為引用不同類型的東西,比如字符串或布爾值。
In [3]:
print(spam_amount)
0
函數(shù)調(diào)用: print
是一個(gè)Python函數(shù),它在屏幕上顯示傳遞給它的值。我們通過在函數(shù)名后面加括號(hào),并在括號(hào)中放入函數(shù)的輸入(或參數(shù))來調(diào)用函數(shù)。
In [4]:
# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4
上面的第一行是一個(gè)注釋。在Python中,注釋以 #
符號(hào)開始。
接下來我們看到一個(gè)重新賦值的例子。重新賦值給現(xiàn)有變量的值看起來與創(chuàng)建變量一樣 - 仍然使用 =
賦值運(yùn)算符。
在這種情況下,我們賦給 spam_amount
的值涉及到對(duì)其先前值進(jìn)行一些簡(jiǎn)單的算術(shù)運(yùn)算。當(dāng)遇到這行時(shí),Python計(jì)算 =
右側(cè)的表達(dá)式(0 + 4 = 4),然后將該值賦給左側(cè)的變量。
In [5]:
if spam_amount > 0:
print("But I don't want ANY spam!")
viking_song = "Spam Spam Spam"
print(viking_song)
But I don't want ANY spam!
Spam Spam Spam
我們?cè)诤竺娌粫?huì)過多討論"條件語句",但即使你以前沒有編程經(jīng)驗(yàn),你也可以猜到這是做什么的。Python以其可讀性和簡(jiǎn)潔性而受到贊賞。
請(qǐng)注意,我們指示哪些代碼屬于 if
。只有在 spam_amount
是正數(shù)時(shí),才應(yīng)該打印出 "But I don't want ANY spam!"
。但是稍后的代碼(比如 print(viking_song)
)應(yīng)該無論如何都會(huì)執(zhí)行。我們(以及Python)如何知道呢?
在 if
行的末尾的冒號(hào)(:
)表示一個(gè)新的代碼塊正在開始。縮進(jìn)的后續(xù)行是該代碼塊的一部分。
注意: 如果你之前有編程經(jīng)驗(yàn),你可能知道其他一些語言使用
{花括號(hào)}
來標(biāo)記代碼塊的開始和結(jié)束。Python對(duì)有意義的空格的使用可能會(huì)讓習(xí)慣于其他語言的程序員感到驚訝,但實(shí)際上它可以產(chǎn)生比不強(qiáng)制縮進(jìn)代碼塊的語言更一致和可讀的代碼。
稍后處理 viking_song
的行沒有額外縮進(jìn),因此它們不是 if
的代碼塊的一部分。當(dāng)我們定義函數(shù)和使用循環(huán)時(shí),我們將看到更多縮進(jìn)代碼塊的示例。
這段代碼片段還是我們?cè)?Python 中第一次看到的字符串:
"But I don't want ANY spam!"
字符串可以用雙引號(hào)或單引號(hào)括起來。(但是,由于此特定字符串包含單引號(hào)字符,除非我們小心,否則用單引號(hào)括起來可能會(huì)讓 Python 感到困惑。)
In [6]:
viking_song = "Spam " * spam_amount
print(viking_song)
Spam Spam Spam Spam
*
運(yùn)算符可用于兩個(gè)數(shù)字的乘法(3 * 3
的值為 9),但我們還可以將一個(gè)字符串乘以一個(gè)數(shù)字,以獲得重復(fù)了那么多次的版本。Python 提供了許多類似的巧妙的小技巧,其中運(yùn)算符如 *
和 +
根據(jù)它們應(yīng)用于的對(duì)象類型而具有不同的含義。 (這個(gè)技術(shù)術(shù)語稱為運(yùn)算符重載。)
1.1數(shù)字和Python中的算術(shù)操作
我們已經(jīng)在上面看到了一個(gè)包含數(shù)字的變量:
In [7]:
spam_amount = 0
"Number"是一個(gè)很好的非正式名稱,但如果我們想更加技術(shù)化,我們可以詢問Python如何描述spam_amount
的類型:
In [8]:
type(spam_amount)
Out[8]:
int
這是一個(gè)int
- 表示整數(shù)。在Python中,我們常常遇到另一種數(shù)字:
In [9]:
type(19.95)
Out[9]:
float
float
是帶有小數(shù)點(diǎn)的數(shù)字 - 用于表示重量或比例等非整數(shù)值非常有用。
type()
是我們看到的第二個(gè)內(nèi)置函數(shù)(在print()
之后),也是另一個(gè)很好記住的函數(shù)。詢問Python“這是什么類型的東西”非常有用。
對(duì)數(shù)字的自然操作之一是執(zhí)行算術(shù)運(yùn)算。我們已經(jīng)看到了用于加法的+
運(yùn)算符和用于乘法的*
運(yùn)算符。對(duì)于計(jì)算器上的其他基本按鈕,Python也有相應(yīng)的運(yùn)算符:
Operator | Name | Description |
---|---|---|
a + b |
Addition | Sum of a and b
|
a - b |
Subtraction | Difference of a and b
|
a * b |
Multiplication | Product of a and b
|
a / b |
True division | Quotient of a and b
|
a // b |
Floor division | Quotient of a and b , removing fractional parts |
a % b |
Modulus | Integer remainder after division of a by b
|
a ** b |
Exponentiation |
a raised to the power of b
|
-a |
Negation | The negative of a
|
這里的一個(gè)有趣觀察是,盡管您的計(jì)算器可能只有一個(gè)除法按鈕,但Python可以執(zhí)行兩種類型的除法。“真除法”基本上就是您的計(jì)算器所做的:
In [10]:
print(5 / 2)
print(6 / 2)
2.5
3.0
它總是給我們一個(gè)float
。
//
運(yùn)算符給我們一個(gè)向下取整到下一個(gè)整數(shù)的結(jié)果。
In [11]:
print(5 // 2)
print(6 // 2)
2
3
您能想到這在哪里可能有用嗎?您很快將在編碼挑戰(zhàn)中看到一個(gè)例子。
1.1.1運(yùn)算順序
我們?cè)谛W(xué)學(xué)到的算術(shù)有關(guān)操作的順序有一些慣例。有些人通過諸如 PEMDAS 的記憶口訣來記住這些規(guī)則 - Parentheses(括號(hào)), Exponents(指數(shù),例如冪運(yùn)算和平方根等), Multiplication(乘法)/Division(除法), Addition(加法)/Subtraction(減法)。
Python遵循類似的規(guī)則來決定首先執(zhí)行哪些計(jì)算。它們大多數(shù)情況下都相當(dāng)直觀。
In [12]:
8 - 3 + 2
Out[12]:
7
In [13]:
-3 + 4 * 2
Out[13]:
5
有時(shí),默認(rèn)的操作順序不是我們想要的:
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 ?
括號(hào)在這里很有用。您可以添加括號(hào)以強(qiáng)制 Python 以您想要的任何順序評(píng)估子表達(dá)式。
In [15]:
total_height_meters = (hat_height_cm + my_height_cm) / 100
print("Height in meters =", total_height_meters)
Height in meters = 2.15
1.1.2處理數(shù)字的內(nèi)置函數(shù)
min
和max
分別返回它們的參數(shù)的最小值和最大值...
In [16]:
print(min(1, 2, 3))
print(max(1, 2, 3))
1
3
abs
返回參數(shù)的絕對(duì)值:
In [17]:
print(abs(32))
print(abs(-32))
32
32
除了作為 Python 的兩種主要數(shù)值類型的名稱之外,int
和 float
也可以作為函數(shù)調(diào)用,將其參數(shù)轉(zhuǎn)換為相應(yīng)的類型:
In [18]:文章來源:http://www.zghlxwxcb.cn/news/detail-844403.html
print(float(10))
print(int(3.33))
# They can even be called on strings!
print(int('807') + 1)
10.0
3
808
本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!文章來源地址http://www.zghlxwxcb.cn/news/detail-844403.html
到了這里,關(guān)于1、你好,Python的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!