人工智能之編程基礎 Python 入門
第三章 基礎語法
前言
本章節主要介紹python的基礎語法,主要是對代碼格式相關的學習,後續會繼續學習條件、循環、數據類型相關的操作、模塊、包等的實踐。
一、基本語法
第一個程序
相信擁有一定編程基礎的都會打印helloword,對於 Python 而言,其優雅的語法讓這個入門程序變得異常簡單。只需一行代碼:
print("Hello,World")
現在我們可以使用vscode進行本章節的內容學習,通過交互式編程,更加方便我們對基礎語法的學習。
編碼
默認情況下python的源碼都是utf-8編碼格式,字符串都採用unicode形式。
標識符
在 Python 中,標識符(Identifier) 是開發者為變量、函數、類、模塊以及其他對象所起的名字。為了確保代碼的正確性和可讀性,Python 對標識符的命名有一套明確的規則和約定俗成的最佳實踐。
標識符的規範:
- 只能包含字母、數字和下劃線
- 不能以數字開頭
- 不能是 Python 的關鍵字(Keywords)
- 區分大小寫
關鍵字的查詢可以通過以下方式進行查詢
行與縮進
在 Python 中,行與縮進(Indentation) 是其語法的核心組成部分,這與其他大多數編程語言有着根本性的區別。Python 不使用大括號 {} 或 begin/end 關鍵字來劃分代碼塊,而是強制使用縮進來表示代碼的邏輯層次和結構。
if age >= 18:
print("You are an adult.")
can_vote = True
else:
print("You are a minor.")
can_vote = False
語句若過長則採用在行末尾加上
sum = num_one + \
num_two + \
num_three
註釋
Python 本身沒有像 /* ... */ 這樣的多行註釋語法,但有以下兩種方式實現多行註釋的效果:
- 使用多個
#號
# 這是一個多行註釋的示例
# 用於解釋一個複雜的算法步驟
# 步驟1:初始化變量
# 步驟2:循環處理數據
# 步驟3:返回最終結果
def complex_algorithm(data):
# ...
pass
2.使用三引號字符串(''' 或 """)
def calculate_area(length, width):
"""
計算矩形的面積。
這個函數接收矩形的長度和寬度,返回其面積。
它假設輸入的值是正數。
參數:
length (float): 矩形的長度
width (float): 矩形的寬度
返回:
float: 矩形的面積
"""
return length * width
class Person:
"""
一個表示人的簡單類。
屬性:
name (str): 姓名
age (int): 年齡
"""
def __init__(self, name, age):
self.name = name
self.age = age
運算符
在 Python 中,運算符(Operators) 是用於執行特定數學或邏輯操作的特殊符號。它們是構建表達式和實現程序邏輯的基礎工具。Python 提供了豐富多樣的運算符,可以分為以下幾大類:
一、算術運算符(Arithmetic Operators)
用於執行基本的數學運算。
| 運算符 | 名稱 | 示例 | 結果 |
|---|---|---|---|
+ |
加法 | 5 + 3 |
8 |
- |
減法 | 5 - 3 |
2 |
* |
乘法 | 5 * 3 |
15 |
/ |
除法(浮點) | 7 / 2 |
3.5 |
// |
整除(地板除) | 7 // 2 |
3 |
% |
取模(求餘) | 7 % 3 |
1 |
** |
冪運算 | 2 ** 3 |
8 |
⚠️ 注意:/總是返回浮點數,//返回向下取整的結果。
二、比較運算符(Comparison Operators)
用於比較兩個值,返回布爾值 True 或 False。
| 運算符 | 名稱 | 示例 | 結果 |
|---|---|---|---|
== |
等於 | 5 == 5 |
True |
!= |
不等於 | 5 != 3 |
True |
> |
大於 | 5 > 3 |
True |
< |
小於 | 5 < 3 |
False |
>= |
大於等於 | 5 >= 5 |
True |
<= |
小於等於 | 5 <= 3 |
False |
這些運算符常用於 if 條件判斷和循環中。
if age >= 18:
print("可以投票")
三、賦值運算符(Assignment Operators)
用於給變量賦值。除了基本的 =,還有複合賦值運算符。
| 運算符 | 示例 | 等價於 |
|---|---|---|
= |
x = 5 |
x = 5 |
+= |
x += 3 |
x = x + 3 |
-= |
x -= 3 |
x = x - 3 |
*= |
x *= 3 |
x = x * 3 |
/= |
x /= 3 |
x = x / 3 |
//= |
x //= 3 |
x = x // 3 |
%= |
x %= 3 |
x = x % 3 |
**= |
x **= 3 |
x = x ** 3 |
複合賦值運算符可以簡化代碼,提高可讀性。
四、邏輯運算符(Logical Operators)
用於組合或反轉布爾表達式,主要與比較運算符配合使用。
| 運算符 | 含義 | 示例 | 結果 |
|---|---|---|---|
and |
與(都為真才真) | True and False |
False |
or |
或(至少一個為真即真) | True or False |
True |
not |
非(取反) | not True |
False |
# 判斷是否為合法年齡
if age >= 0 and age <= 150:
print("年齡合理")
# 判斷是否為工作日
if day == "Saturday" or day == "Sunday":
is_weekend = True
📌 Python 的邏輯運算符支持短路求值:and在第一個為False時不再計算後面的;or在第一個為True時不再計算後面的。
五、位運算符(Bitwise Operators)
用於對整數的二進制位進行操作。
| 運算符 | 名稱 | 示例 | 説明 |
|---|---|---|---|
& |
按位與 | 5 & 3→1 |
二進制 101 & 011 = 001 |
| \` | \` | 按位或 | \`5 |
^ |
按位異或 | 5 ^ 3→6 |
相同為 0,不同為 1 |
~ |
按位取反 | ~5→-6 |
包括符號位 |
<< |
左移 | 5 << 1→10 |
相當於乘以 2 |
>> |
右移 | 5 >> 1→2 |
相當於除以 2(整除) |
位運算符常用於底層編程、性能優化或特定算法。
六、成員運算符(Membership Operators)
用於檢查某個值是否存在於序列(如字符串、列表、元組、字典等)中。
| 運算符 | 含義 | 示例 | 結果 |
|---|---|---|---|
in |
是否在...中 | 'a' in 'apple' |
True |
not in |
是否不在...中 | 'b' not in 'apple' |
True |
fruits = ['apple', 'banana', 'orange']
if 'banana' in fruits:
print("有香蕉!")
七、身份運算符(Identity Operators)
用於比較兩個對象是否是同一個對象(即是否引用同一塊內存地址),而不是值是否相等。
| 運算符 | 含義 | 示例 | 説明 |
|---|---|---|---|
is |
是同一個對象 | x is y |
比較 id(x) == id(y) |
is not |
不是同一個對象 | x is not y |
比較 id(x) != id(y) |
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b) # True,值相等
print(a is b) # False,是不同的列表對象
print(a is c) # True,c 是 a 的引用
⚠️ 注意:==比較值,is比較身份(內存地址)。通常用==判斷相等性,is常用於與None比較(if x is None:)。
八、運算符優先級(Operator Precedence)
當表達式中包含多個運算符時,Python 會按照優先級順序進行計算。優先級從高到低大致如下:
- 括號
() - 冪運算
** - 正負號
+x,-x - 乘、除、取模、整除
*,/,//,% - 加減
+,- - 比較運算符
<,<=,>,>=,==,!= notandor
✅ 建議:使用括號 () 明確表達運算順序,提高代碼可讀性,避免因優先級問題產生錯誤。
result = (a + b) * c # 清晰地表示先加後乘
總結
本文主要對python的基礎語法進行的相關的敍述,包括基礎的標識符、註釋、行與縮進等的學習筆記,後續將繼續學習更新。歡迎大家一起來學習人工智能編程基礎篇。
資料關注
相關資料全部免費獲取:
歡迎關注公眾號:咚咚王
《Python編程:從入門到實踐》
《利用Python進行數據分析》
《算法導論中文第三版》
《概率論與數理統計(第四版) (盛驟) 》
《程序員的數學》
《線性代數應該這樣學第3版》
《微積分和數學分析引論》
《(西瓜書)周志華-機器學習》
《TensorFlow機器學習實戰指南》
《Sklearn與TensorFlow機器學習實用指南》
《模式識別(第四版)》
《深度學習 deep learning》伊恩·古德費洛著 花書
《Python深度學習第二版(中文版)【純文本】 (登封大數據 (Francois Choliet)) (Z-Library)》
《深入淺出神經網絡與深度學習+(邁克爾·尼爾森(Michael+Nielsen) 》
《自然語言處理綜論 第2版》
《Natural-Language-Processing-with-PyTorch》
《計算機視覺-算法與應用(中文版)》
《Learning OpenCV 4》
《AIGC:智能創作時代》杜雨+&+張孜銘
《AIGC原理與實踐:零基礎學大語言模型、擴散模型和多模態模型》
《從零構建大語言模型(中文版)》
《實戰AI大模型》
《AI 3.0》