1. 程式人生 > 其它 >Python入門-變數使用和常見運算子介紹與簡單使用

Python入門-變數使用和常見運算子介紹與簡單使用

技術標籤:python

目錄

一.變數
1.1Python是弱型別語言
1.2使用print函式輸出變數
1.3變數的命名規則
1.4Python的關鍵字
二.運算子
2.1 賦值運算子
2.2 算術運算子
2.3 位運算子
2.4 擴充套件後的賦值運算子
2.5 索引運算子
2.6 比較運算子與bool型別
2.7 邏輯運算子
2.8 三目運算子
2.9 in 運算子
2.10 運算子的結合性和優先順序

1、變數
1.1Python是弱型別語言
Python是弱型別語言,弱型別語言有兩個典型特徵。

變數無須宣告即可直接賦值:對一個不存在的變數賦值就相當於定義了一個新變數
變數的資料型別可以動態改變:同一個變數可以一會兒被賦值為整數值,一會兒被賦值為字串

在互動式直譯器中輸入:
在這裡插入圖片描述
如果想檢視此時 a 的型別,可以使用Python的type()函式。
在互動式直譯器中輸入:
在這裡插入圖片描述
此時可以看到 a 的型別是str。
轉換成真正的 Python 程式

#定義一個數值型別變數
a = 5
print(a)
print("第一個a的型別是%s"%type(a))
a = "Hello Python!!!"
print(a)
print("第二個a的型別是%s"%type(a))

執行上面的程式,沒有任何的問題,可以看到如下輸出結果。
在這裡插入圖片描述
1.2使用print函式輸出變數
前面使用的print()函式時都只輸出了一個變數,但實際上它完全可以同時輸出多個變數,而且它還具有豐富的功能。來,我們一起來看看吧:

userName = 'Jake'
userAge = 18
#同時輸出多個變數和字串
print("姓名:",userName,"年齡:",userAge)

執行上面程式碼,可以看到如下輸出結果。
在這裡插入圖片描述

1.3變數的命名規則
Python 需要使用識別符號給變數命名,其實識別符號就是用於給程式中變數、類、方法命名的符號(簡單來說,識別符號就是合法的名字)。Python語言的識別符號必須以字母、下劃線開頭,後面可以跟任意數目的字母、數字和下劃線。此處的字母並不侷限於26個英文字母,可以包含中文字元等等。
由於Python3支援UTF-8字符集,因此Python3的識別符號可以使用UTF-8所能標識的多種語言的字元,Python言語是區分大小寫的因此abc和ABC是兩個不同的識別符號。

在使用識別符號時,需要注意如下規則:

識別符號可以由字母、數字、下劃線組成,其中數字不能打頭。
識別符號不能是Python關鍵字,但可以包含關鍵字。
識別符號不能包含空格。

1.4Python的關鍵字
Python還包含一系列關鍵字和內建函式,一般不建議使用它們作為變數名。

如果開發者嘗試使用關鍵字作為變數名,Python直譯器會報錯。
如果開發者使用內建函式的名字作為變數名,Python直譯器是不報錯的,只是該內建函式就被這個變數給覆蓋了,該內建函式就不能使用了。

實際上Python非常方便,開發者可以通過Python程式來檢視它所包含的關鍵字。例如:
在這裡插入圖片描述
從上面可以看出,程式只要先匯入keyword模組,然後再呼叫keyword.kwlist即可檢視Python包含的所有關鍵字。執行上面的程式,可以看到如圖結果。
上面的這些關鍵字都不能作為變數名。
二、常用運算子
運算子是一種特殊的符號,用來表示資料的運算、賦值和比較等。Python 語言使用運算子將一個或多個運算元連結成可執行語句,用來實現特定功能。
Python 語言中的運算子可分為如下幾種:賦值運算子、算術運算子、位運算子、索引運算子、比較運算子、邏輯運算子。
2.1 賦值運算子
賦值運算子用於為變數或常量指定值,Python 使用 “=” 作為賦值運算子。通常,使用賦值運算子將表示式的值賦給另外一個變數。例如如下程式碼。

#為變數a賦值為11
a = 11
#為變數b賦值為11.23
b = 11.23
#為變數book賦值為True
book = True

除此之外,也可使用賦值運算子將一個變數的值符給另一個變數,例如,如下程式碼也是正確的:

#將變數a 的值符給 a2
a = a2
print(a2)

也可一像這樣子賦值

a = b = c = 20

還可以將表示式的值賦給變數:

d1 = 12.34
#將表示式的值賦給d2
d2 = d1 + 5
#輸出 d2 的值
print("d2 的值為: %d"%d2 )   #17.34

2.1 賦值運算子
Pytohn 支援所有的基本算術運算子,這些算術運算子用於執行基本的數學運算,如加、減、乘、除和求餘等。下面用程式碼演示。
+:加法運算子

a = 5.2
b = 3.1
sum = a + b
# sum的值為8.3
print("sum 的值為:%g"%sum)

除此之外,“+”嗨可以作為字串的連結運算子。例如:

s1 = "Hello "
s2 = "Python !"
#使用+連線兩個字串
print(s1 + s2)

‘-’: 減法運算子。例如:

c = 5.2
d = 3.1
sub = c - d
#sub的值為2.1
print("sub 的值為:%g"%sub)

‘*’:乘法運算子。例如:

e = 5.2
f = 3.1
multiply = e * f
print("multiply 的值為:%g"%multiply)

此外,“ * ”還可以作為覅富川的連線運算子,表示將N個字串連線在一起。例如:

s3 = "Python"
#將5個字串連線在一起
print(s3 * 5)

“/ 或 //”:除法運算子。“ / ”表示普通除法,使用它除出來的結果與平常數學計算的結果是相同的;而“ // ”表示整除,使用它除出來的結果只有整數部分,小數部分將會被捨棄。例如:

print("19/4的結果是:"19/4)
print("19//4的結果是:"19//4)
aa = 5.2
bb = 3.1
print("aa/bb 的值是:", aa/bb)
print("aa//bb 的值是:", aa//bb)

此外,Python不允許0作為除數,否則將會引發ZeroDivisionError錯誤。
“ % ”:求餘運算子。Python 不要求求餘運算子的兩個運算元都是整數,P櫻桃紅的求餘運算子完全支援對浮點數求餘,求餘運算子的結果不一定總是整數,它是使用第一個運算元來除以第二個運算元,得到一個整數的結果後剩下的值就是餘數。
由於求餘運算子也需要進行除法運算,因此求餘運算的第二個運算元為0,否則程式會報出ZeroDivisionError錯誤。例如如下程式:

print("5%3 的值為:",5 % 3)
print("5.2%3.1 的值為:",5.2%3.1)
print("-5.2%-3.1 的值為:"-5.2%-3.1)
print("5.2%-2.9 的值為:",5.2%-2.9)
print("5.2%-1.5 的值為:",5.2%-1.5)
print("-5.2%1.5 的值為:",-5.2%1.5)
print("5對0的求餘結果為:",5%0) #導致錯誤

" ** "乘方運算子。Python 支援使用“ ** ”作為乘方運算子,這是一個使用非常方便的運算子。由於開方其實事乘方的逆運算,因此實際上使用“ ** ”也可進行開方運算。例如下程式碼:

print("4 的2次方:",4 ** 2)
print("5 的3次方:",5 ** 3)
print("4 的開平方:",4 ** 0.5)
print("27 的開三次方:",27 ** (1 / 3))

2.3位運算子

2.4 擴充套件後的賦值運算子
賦值運算子可以與算術運算子等結合,擴充套件成功更加強大的運算子。擴充套件後的賦值運算子如下。
+= :對於 x += y ,即對應於x = x + y
-= :對於 x -= y ,即對應於x = x - y
*= :對於 x *= y ,即對應於x = x * y
/= :對於 x /= y ,即對應於x = x / y
//= :對於 x //= y ,即對應於x = x // y
%= :對於 x %= y ,即對應於x = x % y
**= :對於 x **= y ,即對應於x = x ** y
&= :對於 x &= y ,即對應於x = x & y
|= :對於 x |= y ,即對應於x = x | y
^= :對於 x ^= y ,即對應於x = x ^ y
<= :對於 x <= y ,即對應於x = x < y
>= :對於 x >= y ,即對應於x = x > y
只要能使用擴充套件後的賦值運算子,通常都推薦使用這種賦值運算子。
2.5 索引運算子

2.6比較運算子與bool型別
比較運算子用於判斷兩個值之間的大小,比較運算的結果事bool值(True代表真,Fales代表假)。如下:
>:大於,如果運算子前面的值大於後面的值,則返回True;否則返回False。
>=:大於等於,如果運算子前面的值大於或等於後面的值,則返回True;否則返回False。
<:小於,如果運算子前面的值小於後面的值,則返回True;否則返回False。
<=:小於等於,如果運算子前面的值小於或等於後面的值,則返回True;否則返回False。
==:等於,如果運算子前面的值等於後面的值,則返回True;否則返回False。
!=:不等於,如果運算子全面的值不等於後面的值,則返回True;否則返回False。
is:判斷兩個變數所引用的物件是否相同,如果相同則返回True。
is not:判斷兩個變數所引用的物件是否不相同,如果不相同則返回True。

#輸出True
print("5是否大於4:"5 > 4)
#輸出False
print("5是否大於6:"5 > 6)
#輸出True
print("20是否大於等於20.0:"20 >= 20.0)
#輸出True
print("5是否等於5.0:"5 = 5.0)
#輸出False
print("True 和 False 是否相等:"True == False)

2.7 邏輯運算子
邏輯運算子用於操作 bool 型別的變數、常量或表示式,邏輯運算的返回值也是 bool 值。
Python 的邏輯運算子有如下三個:
and:與,前後兩個運算元必須都是 True 才返回 True;否則返回 False。
or:或,只要兩個運算元中有一個是 True,就可以返回 True;否則返回 False。
not:非,只需要一個運算元,如果運算元為 True ,則返回 False;如果運算元為 False,則返回 True。
例如:

#直接對 False 求非運算,將返回True
print("not False")
#5>3返回True,20.0大於10,因此返回 True
print("5 > 3 and 20.0 > 10")
#4>=5返回False,"c" > "a" 返回 True,求或後返回 True
print("4 >= 5 or "c" > "a" ")

2.8 三目運算子
Python 可通過 if 語句來實現三目運算子的功能,因此可以近似地把這種 if 語句當成三目運算子。
舉例:

a = 5
b = 3
if a > b:
	print("a大於b")
else:
	print("a不大於b")

2.9 in 運算子
Python提供了 in 運算子,用於判斷某個成員是否位於序列中。
除 in 運算子外,Python 也提供了 in 的反義詞: not in 。
例如如下程式碼:

s = "openlab"	
print("'open' in s")	#True
print("'open' not in s")	#False
print("'openo' in s")	#False
print("'openo' not in s")	#True

2.10 運算子的結合性和優先性
所有的數學運算都是從左向右進行的,Python 語言中的大部分運算子也是從左向右結合的,只有單目運算子、賦值運算子和三目運算子例外,他們是從右向左結合的,也就是說,它們是從右向左運算的。
乘法和加法是兩個可結合的運算子,也就是說,這兩個運算子左右兩邊的運算元可以互換位置而不會影響結果。
運算子有不同的優先順序,所謂優先順序就是在表示式中的運算順序。