前言:在Python的程式設計世界中,運算子以及基本輸入和輸出是構建程式的重要組成部分。熟練掌握它們,能讓你更自如地編寫各類Python程式。本章,我們將深入對其進行探討,助力你的Python學習程序。
在本章中,我們將逐步揭開以下主題的神秘面紗:
-
運算子:學習Python中的算術、比較、邏輯等運算子,掌握它們在表示式中的使用規則以及優先順序順序,明白不同運算子在不同場景下該如何合理運用,以此準確構建各種所需的表示式。
- 算術運算子:包括加法(
+
)、減法(-
)、乘法(*
)、除法(/
)、整除(//
)、取模(%
)、冪運算(**
)、正號(+x
)和負號(-x
)。 - 比較運算子:包括等於(
==
)、不等於(!=
)、大於(>
)、小於(<
)、大於等於(>=
)和小於等於(<=
)。 - 邏輯運算子:包括邏輯與(
and
)、邏輯或(or
)和邏輯非(not
)。 - 位運算子:包括位與(
&
)、位或(|
)、位異或(^
)、位取反(~
)、左移(<<
)和右移(>>
)。 - 賦值運算子:包括簡單的賦值(
=
)和複合賦值如加法賦值(+=
)、減法賦值(-=
)等。 - 運算子優先順序:瞭解不同運算子的執行順序,如冪運算優先順序高於乘法和除法。
- 算術運算子:包括加法(
-
基本輸入和輸出:深入瞭解如何藉助Python的內建函式達成使用者輸入和螢幕輸出的操作,知曉怎樣讓程式可以順利地與使用者展開基本的互動,使程式不再是單向執行,而是能根據使用者的輸入做出相應反饋。
- 輸入:使用
input()
函式從使用者那裡獲取輸入,該函式會暫停程式執行,直到使用者輸入一些內容並按下Enter鍵。 - 輸出:使用
print()
函式將資訊輸出到螢幕,可以輸出文字、變數值等。 - 格式化輸出:學習如何使用字串格式化方法(如
%
運算子、str.format()
方法、f-string)
來控制輸出格式,使輸出更加清晰和易於閱讀。
- 輸入:使用
一、運算子
1、算術運算子
運算子 | 描述 | 例子 | 結果 |
---|---|---|---|
+ |
加法 | 4 + 5 |
9 |
- |
減法 | 4 - 5 |
-1 |
* |
乘法 | 4 * 5 |
20 |
/ |
除法 | 4 / 5 |
0.8 |
// |
整除 | 4 // 5 |
0 |
% |
取模 | 4 % 5 |
4 |
** |
冪運算 | 4 ** 5 |
1024 |
+x |
正號 | +4 |
4 |
-x |
負號 | -4 |
-4 |
例項訓練03 -計算學生成績的平均分
某學員3門課程成績:python:95分;java:96分;C語言:88分;
python = 95
java = 96
C = 88
sub = python - C
avg = (python + java + C) / 3
print("python課程和C語言課程分數之差: " + str(sub) + " 分\n")
print("3門課程的平均分: " + str(avg) + " 分")
2、賦值運算子
運算子 | 描述 | 例子 | 結果 |
---|---|---|---|
= |
賦值 | x = 5 |
x 現在是 5 |
+= |
加法賦值 | x += 5 |
x 現在是 10 (x = x + 5) |
-= |
減法賦值 | x -= 5 |
x 現在是 5 (x = x - 5) |
*= |
乘法賦值 | x *= 5 |
x 現在是 25 (x = x * 5) |
/= |
除法賦值 | x /= 5 |
x 現在是 1.0 (x = x / 5) |
//= |
整除賦值 | x //= 5 |
x 現在是 0 (x = x // 5) |
%= |
取模賦值 | x %= 5 |
x 現在是 4 (x = x % 5) |
**= |
冪運算賦值 | x **= 5 |
x 現在是 1024 (x = x ** 5) |
3、比較運算子
比較運算子也叫“關係運算”,用於對變數和表示式的結果進行大小、真假等比較,如果比較結果為真,則返回True
,如果為假,則返回`False。一般比較運算子通常用在條件語句中作為判斷的依據。
運算子 | 描述 | 例子 | 結果 |
---|---|---|---|
== |
等於 | 4 == 5 |
False |
!= |
不等於 | 4 != 5 |
True |
> |
大於 | 4 > 5 |
False |
< |
小於 | 4 < 5 |
True |
>= |
大於等於 | 4 >= 5 |
False |
<= |
小於等於 | 4 <= 5 |
True |
例項訓練04 -使用比較運算子比較大小關係
python = 95 #定義變數,儲存Python課程的分數
java = 92 #定義變數,儲存java課程的分數
C= 89 #定義變數,儲存C語言課程的分數
print("python = " + str(python) + " java = " + str(java) + " C = " +str(C) + "\n") #輸出3個變數的值
print("python < java的結果: " + str(python < java)) #小於操作
print("python > java的結果: " + str(python > java)) #大於操作
print("python == java的結果: " + str(python == java)) #等於操作
print("python != java的結果: " + str(python != java)) #不等於操作
print("python <= java的結果: " + str(python <= java)) #小於或等於操作
print("python >= C的結果: " + str(python >= C)) #大於或等於操作
4、邏輯運算子
運算子 | 描述 | 例子 | 結果 | 結合方向 |
---|---|---|---|---|
and |
邏輯與 | True and False |
False | 從左到右 |
or |
邏輯或 | True or False |
True | 從左到右 |
not |
邏輯非 | not True |
False | 從右到左 |
5、邏輯運算結果表
① 邏輯與(and
)
表示式1 | 表示式2 | 表示式1 and 表示式2 |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
② 邏輯或(or
)
表示式1 | 表示式2 | 表示式1 or 表示式2 |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
③ 邏輯非(not
)
表示式1 | not 表示式1 |
---|---|
True |
False |
False |
True |
例項訓練05 -參加手機店的打折活動
print("\n手機店正在打折,活動進行中......") #輸出提示資訊
strweek = input("請輸入星期: ") #輸入具體星期幾
intTime = int(input("請輸入參與時間(範圍: 0~23) : ")) #輸入時間
#判斷是否滿足活動參與條件
if (strweek == "星期三" and (intTime >= 10 and intTime <= 11)) or (strweek == "星期五" and (intTime >= 14 and intTime <=15)):
print("恭喜您,獲得了折扣活動參與資格!") #輸出提示資訊
else:
print("對不起,您來晚一步,期待下次活動開始......") #輸出提示資訊
6、位運算子
運算子 | 描述 | 例子 | 結果 |
---|---|---|---|
& |
位與 | 4 & 5 (二進位制 100 & 101) |
4 |
` | ` | 位或 | `4 |
^ |
位異或 | 4 ^ 5 (二進位制 100 ^ 101) |
3 |
~ |
位取反 | ~4 (二進位制 ~100) |
-5 |
<< |
左移 | 4 << 2 (二進位制 100 << 2) |
16 |
>> |
右移 | 4 >> 2 (二進位制 100 >> 2) |
1 |
7、運算子優先順序表
Python 中運算子的優先順序如下(從高到低):
**
(冪運算)~
,+x
,-x
(位取反和正負號)*
,/
,//
,%
(乘法、除法、整除、取模)+
,-
(加法、減法)<<
,>>
(左移、右移)&
(位與)^
(位異或)|
(位或)==
,!=
,<
,>
,<=
,>=
(比較運算子)is
,is not
(身份運算子)in
,not in
(成員運算子)not
,or
,and
(邏輯運算子)=
,+=
,-=
,*=
,/=
,//=
,%=
,**=
,<<=
,>>=
,&=
,^=
,|=
(賦值運算子)
請注意,實際程式設計時,為了提高程式碼的可讀性,建議使用括號來明確指定運算的順序。
二、基本輸入和輸出
在Python中,基本的輸入和輸出是程式與使用者進行互動的基礎。以下是Python中實現基本輸入和輸出的方法:
1、基本輸入
在Python中,input()
函式用於獲取使用者輸入。當input()
函式被呼叫時,程式會暫停執行,等待使用者在控制檯輸入文字並按下Enter鍵。使用者輸入的內容將作為字串返回。
# 獲取使用者輸入
user_input = input("請輸入一些內容: ")
print("您輸入的內容是: " + user_input)
在這個例子中,程式會列印出 "請輸入一些內容:" 並等待使用者輸入。使用者輸入的文字在按下Enter鍵後會被賦值給變數 user_input
,然後程式會繼續執行並列印出使用者輸入的內容。
2、基本輸出
在Python中,print()
函式用於將資訊輸出到控制檯。print()
函式可以接受一個或多個引數,並將它們轉換為字串後輸出。
# 輸出字串
print("Hello, World!")
# 輸出多個引數
name = "Alice"
age = 30
print("姓名:", name, "年齡:", age)
在這個例子中,程式會輸出 "Hello, World!" 以及 "姓名: Alice 年齡: 30"。
3、格式化輸出
Python提供了多種方式來格式化輸出,使輸出的文字更加清晰和易於閱讀。
-
百分號格式化(
%
):name = "Bob" age = 25 print("%s 是 %d 歲。" % (name, age))
-
str.format()
方法:name = "Alice" age = 30 print("{} 是 {} 歲。".format(name, age))
-
f-string(格式化字串字面量,Python 3.6+):
name = "Charlie" age = 35 print(f"{name} 是 {age} 歲。")
f-string是最新的字串格式化方法,它提供了一種簡潔且易讀的方式來嵌入表示式到字串字面量中。
4、錯誤處理
在進行輸入操作時,有時需要處理使用者輸入的非法資料。例如,如果期望使用者輸入一個數字,但使用者輸入了非數字的字串,可以嘗試使用try-except
塊來捕獲ValueError
異常。
try:
number = int(input("請輸入一個數字: "))
print("您輸入的數字是:", number)
except ValueError:
print("錯誤:請輸入一個有效的數字。")
在這個例子中,如果使用者輸入的不是數字,程式會捕獲ValueError
異常,並列印出錯誤資訊。
透過這些基本的輸入和輸出操作,Python程式能夠與使用者進行互動,獲取必要的輸入資料,並提供反饋資訊。