華科python與人工智慧實踐(公選)教程

Losyi發表於2024-09-22

python基礎

軟體下載

1.python下載安裝

點選此連結進入官網windows下載地址
image
點選箭頭處連結下載最新版本,進入頁面後下拉
image
根據你的機器下載對應版本,一般人使用的是X86架構windos系統,下載箭頭所指即可
若是不知道CPU架構,可見檢視cpu架構,x86還是arm
下載後根據指引進行安裝即可

2.環境變數配置

3.IDE下載安裝(Pychram)

4.Conda下載安裝 包管理和環境管理系統

5.jupyter notebook 互動計算應用程式

一、基礎語法

1.行與縮排

Python 與 C/C++、Java 這些 C 類語言不同,Python 使用縮排來表示程式碼塊,而不是花括號,縮排的空格數量可以由個人習慣決定,但同一個程式碼塊的縮排空格數必須相同。

if True:
    print("true")
    print("true")
else:
 print("false")
 print("false");

上面程式的 if 部分和 else 部分縮排不相同,但是在各自的程式碼塊內縮排是相同的,所以是正確的程式。

if True:
   print("true")
  print("true")

這個程式的 if 部分縮排不相同,所以是錯誤的程式。

多行語句
Python 的程式碼一般是一行一條語句,語句之後的分號 ; 可加可不加。但如果要在一行中寫多條語句,則需要用分號 ; 隔開每條語句。

print("hello")
print("world");
print("hello");print("world")

以上三行(四條語句)都是正確的。

2.識別符號與保留字

(1)識別符號

識別符號就是程式中,使用的各種名稱,例如:變數名、常量名、類名等等。
在 Python 中,對識別符號格式的要求與 C/C++、Java 等差不多:

  1. 第一個字元必須是字母表中的字母或下劃線 _ ;
  2. 識別符號的其他的部分,由字母、數字和下劃線組成;
  3. 識別符號對大小寫敏感;
  4. 識別符號不能與保留字相同。
    比如:
num1 = 1
float1 = 0.5
true = True #這個 true 雖然字面上的意思與值“True”相同,但 python 對大小寫敏感,所以也是正確的
str1 = "hello"

這些都是正確的識別符號。

而:

1value = 1 #開頭不能是數字
value0.1 = 0.1 #識別符號中間只能是數字,字母,下劃線
if = True #與保留字if重名
都是不正確的識別符號。

(2)保留字

保留字即關鍵字,是 Python 語言中內部使用的單詞,代表一定語義。例如:and、class、if、else 等。保留字不能作為識別符號,用在變數名、常量名、類名等地方。
Python 的標準庫提供了一個 keyword 模組,可以輸出當前版本的所有關鍵字:

import keyword
print(keyword.kwlist)
輸出:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del','elif',
'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in','is', 'lambda', 'nonlocal'
, 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3.註釋

註釋是對程式程式碼的說明,一般是給程式設計師理解程式碼使用,不作為程式一部分。

Python 中單行註釋以 # 開頭:

#這是一個註釋1
print("python") 
#這是一個註釋2
#print("python2")

多行註釋可以使用多個#,也可以用一對'''(三個單引號)或者"""(三個雙引號)包裹要註釋的內容:

#使用多個#
#作註釋
'''
用三個單引號
作註釋
'''
"""
用三個雙引號
作註釋
"""

4.輸出輸出

(1)輸出

print的函式的基本使用,在之前的關卡中,已經出現過多次,將要輸出的內容放在print()的括號內,就可以輸出:

print("hello world")
得到的結果是:hello world

print函式可以同時輸出多個內容,只需要將它一起放在print的括號內,並用逗號隔開:

print("hello","world")
得到的結果:hello world

值得注意的是,同時輸出的多個內容之間,會有空格隔開。

類似於 C/C++ 的printf,Python 的print也能實現格式化輸出,方法是使用%運算子,它會將左邊的字串當做格式字串,將右邊的引數代入格式字串:

print("100 + 200 = %d" % 300) #左邊的%d被替換成右邊的300
print("A的小寫是%s" % "a") #左邊的%s被替換成右邊的a

得到的結果是:

100 + 200 = 300
A的小寫是a

如果要帶入多個引數,則需要用()包裹代入的多個引數,引數與引數之間用逗號隔開,引數的順序應該對應格式字串中的順序:

print("%d + %d = %d" % (100,200,300))
print("%s %s" % ("world","hello"))

得到的結果是:
100 + 200 = 300
world hello

格式字串中,不同佔位符的含義:

佔位符 含義
%s 作為字串
%d 作為有符號十進位制整數
%u 作為無符號十進位制整數
%o 作為無符號八進位制整數
%x 作為無符號十六進位制整數,a~f 採用小寫形式
%X 作為無符號十六進位制整數,A~F 採用大寫形式
%f 作為浮點數
%e/%E 作為浮點數,使用科學計數法
%g/%G 作為浮點數,使用最低有效數位

注意: print函式輸出資料後會換行,如果不想換行,需要指定end="":

print("hello" , end="")
print("world" , end="")

得到的結果:helloworld

(2)輸入

Iinput

使用input函式可以獲得使用者輸入,在控制檯視窗上,輸入的一行的字串,使用變數 = input()的形式將其賦值給一個變數:

str1 = input()
print("輸入的是%s" % str1)

如果輸入hello然後回車,則輸出:輸入的是hello。

還可以在input()的括號內,加入一些提示資訊:

str1=input("請輸入:")
print("輸入的是%s" % str1)

執行之後,會先顯示請輸入:,輸入資料hello之後回車,則會得到輸出:輸入的是hello,控制檯上顯示的全部內容為:

請輸入:hello
輸入的是hello

II 字串轉換

input函式接收的是使用者輸入的字串,此時還不能作為整數或者小數進行數學運算,需要使用函式將字串轉換成想要的型別。
轉換成整數,使用int()函式:num1 = int(str)
轉換成小數,使用float()函式:f1 = float(str)

str = input()
num1 = int(str)
f1 = float(str)
print("整數%d,小數%f" % (num1,f1))```
如果輸入10,得到的輸出是:整數10,小數10.000000。
III f-string格式化字串

f-string是 Python 3.6 引入的一種格式化字串的方式,它比 % 運算子和 str.format() 更加簡潔和高效。f-string 允許直接在字串內嵌入表示式或變數。基本使用語法如下:
在字串前加上 f 或 F,並在字串內部使用 {} 包裹變數或表示式,例如:

name = "Alice"
age = 30
message = f"My name is {name} and I am {age} years old."
print(message)
#輸出
#My name is Alice and I am 30 years old.

f-string的特點和用法包括:

  1. 直接嵌入變數: 可以在 {} 中放置任何變數,它會直接替換為該變數的值。
  2. 支援表示式: 不僅可以放入變數,還可以放入任意表示式,Python 會計算表示式的值並插入。
  3. 呼叫函式: 你可以直接在 {} 中呼叫函式並輸出結果。
  4. 格式化數字: 可以在 {} 中使用格式化指令,比如浮點數保留小數位、百分比格式等,例如:
pi = 3.1415926535
print(f"Pi to 3 decimal places: {pi:.3f}")

二、字串處理

1.字串拼接

Python 中使用+來合併兩個字串,這種合併字串的方法叫做拼接。其基本語法如下:

result_string = source_string1 + source_string2
其中:

  1. source_string1:待合併的第一個字串;
  2. source_string2:待合併的第二個字串;
  3. result_string:合併後的字串。

注意:如果需要,在兩個字串之間可以增加相應的空格,具體見下面的例子。例如,將姓氏和名字拼接成全名:

# coding=utf-8
# 將姓氏和名字分別儲存在兩個變數中
first_name = 'Zhang'
last_name = 'san'
# 將姓氏和名字拼接,將結果儲存在full_name變數中
full_name = first_name + " " + last_name
print(full_name)
#輸出結果:
#Zhang san

2.字元轉換

3.字串查詢與替換

(1)字串查詢

Python 提供了內建的字串查詢方法find(),利用該方法可以在一個較長的字串中查詢子字串。如果該字串中,有一個或者多個子字串,則該方法返回第一個子串所在位置的最左端索引,若沒有找到符合條件的子串,則返回-1。find()方法的基本使用語法如下:

source_string.find(sub_string)
其中:

  1. source_string:源字串;
  2. sub_string:待查的目標子字串;
  3. find:字串查詢方法的語法關鍵字。

例如,在一個字串中,查詢兩個單詞的位置:

# coding=utf-8
# 建立一個字串
source_string = 'The past is gone and static'
# 檢視"past"在source_string字串中的位置
print(source_string.find('past'))
# 檢視"love"在source_string字串中的位置
print(source_string.find('love'))
#輸出結果:
#4
#-1

(2)字串替換

Python 提供了replace()方法,用以替換給定字串中的子串。其基本使用語法如下:
source_string.replace(old_string, new_string)
其中:

  1. source_string:待處理的源字串;
  2. old_string:被替換的舊字串;
  3. new_string:替換的新字串;
  4. replace:字串替換方法的語法關鍵詞。

該操作返回值為轉換後的新串,若要直接對原串修改,應寫source_string=source_string.replace(old_string, new_string)
例如,在如下字串中,用small子串替換big子串:

# coding = utf-8
# 建立一個字串circle
source_string = 'The world is big'
# 利用replace()方法用子串"small"代替子串"big"
print(source_string.replace('big','small'))
#輸出結果:
#The world is small

(3)字串分割

Python 提供了split()()方法實現字串分割。該方法根據提供的分隔符,將一個字串分割為字元列表,如果不提供分隔符,則程式會預設把空格(製表、換行等)作為分隔符。其基本使用語法如下:

source_string.split(separator)
其中:

  1. source_string:待處理的源字串;
  2. parator:分隔符;
  3. split:字串分割方法的關鍵詞。

例如,用+、/還有空格作為分隔符,分割字串:

# coding = utf-8
# 待處理字串source_string
source_string = '1+2+3+4+5'
# 利用split()方法,按照`+`和`/`對source_string字串進行分割
print(source_string.split('+'))
print(source_string.split('/'))
#輸出結果:
#['1', '2', '3', '4', '5']
#['1+2+3+4+5']

三、玩轉列表

四、元組與字典

相關文章