基礎Python(一) | 神經網絡與深度學習 | Tensorflow 2.0 系列 (2) | AI入門

認識Python


熱門編程語言 Python

Python的熱門趨勢在很大程度上是由大量可用的資源庫推動的,尤其是在人工智能領域,例如Keras庫在深度學習領域中的舉足輕重:Keras提供了TensorFlow、CNTK和Theano深度學習deep learning框架和工具等界面。當Python在1991年首次发布時,人們並沒有預料到它會產生如此大的影響,深度學習並不是唯一的領域。微電腦計算能力的顯著提高意味著Python的嵌入式版本,如circuit itpython和MicroPython,在制造商中將越來越受歡迎

IEEE 2019 Top Programming Languages Ranking

Python的特性

1)語法簡介,結構清晰,簡單易學,可以從簡單打印一句字串看出Python與C及Java編程語言的分別:

1
print("Hello World!")
1
2
3
4
5
#include<studio.h>
int main() {
printf("Hello World! !\n")
return 0;
}
1
2
3
4
5
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hellow World!")
}
}

2)功能強大,資源豐富
- 豐富的標準函式庫:機器學習、網頁、GUI、crawler、加密等
- 龐大的第三方資源庫 (> 12萬):Numpy、Pandas、SciPy、Matplotib、wordcloud
- 開源體系:世上最大的針對單一編程語言的計算生態

3)可擴展性及可移植性:對作業系統的良好兼容性



第一個python程式


判斷變量num是否為正數

以下程式的執行思路:如果 num>0,輸出: num是正數;否則,輸出:num可能是0,num也可能是負數

1
2
3
4
5
6
7
# 判斷變量num是否是正數
num = 0
if sum > 0:
print("num是正數")
else:
print("num可能是0")
print("num也可能是負數")

注釋 & 指定敘述(賦值)語句

注釋 comment:以”#”符號作為開首的語句,是對程序進行說明,在程式運行過程中不被執行

指定敘述(賦值)語句 assignment statement:將某一數值賦給某個變量的過程,所賦“值”可以是數字,也可以是字符等


條件語句 & 打印語句

條件語句 conditional statement:利用if-else以及num>0作為條件判定

打印語句:使用print statement打印所要顯示的資料,當中包括了自動換行,因此使用時會每次打印一行

縮排特性

以C語言為例:C編譯器是忽略縮進, 按照就近原則配對

Python語句是直接通過程式碼的的縮排indentation(按一下tab鍵)來表示,在PEP8規範中, 規定語句塊的縮排為4個空格
按照縮進來識別語句塊,可以有效的避免其他語言中可能出現的錯誤配對問題:

常見的程式碼縮錯誤:使用了鍵盤上的tab鍵和空格鍵,造成縮排不一致:


Tips

Python語句可以以分號結尾,不同的語句可以寫在同一行上,以分號隔開,因此以下的語句都是正確的



輸入和輸出


輸入function


接收使用者輸入


注意數據類型是否一致

利用數據轉換函數轉換輸入的數據類型,從string字符轉換成integer整數,可解決問題



格式化輸出



常用的格式化參數


數據類型、常量、變量

Python中支持6種標準的數據類型:
數字(numbers)、字符串(string)、串列(list)、元組(tuple)、集合(set)、字典(dictionary),我們先介紹基本的數字和字符串類型

數字數據類型

在數字(numbers)方面,常見的有:整數(integer)、浮點數(float)、布林(boolean)、複數(complex)

1
2
3
4
int_num = 10    #int value
float_num = 10.2 #float value
complex_num = 3.14j #complex value
bool_num = True #boolean value: True = 1, False = 0

字符串數據類型

字符串被標識為引號中表示的連續字符集。 Python允許使用單引號或雙引號。字符串是不可變的序列數據類型,即每次對字符串進行任何更改時,都會創建全新的字符串對象

1
2
3
4
a_str = 'Hello World'
print(a_str) #output will be whole string. Hello World
print(a_str[0]) #output will be first character. H
print(a_str[0:5]) #output will be first five characters. Hello

標識符

標識符(Identifier)是指:變量、函數、數組、文件、對象等的名稱
1)標識符的第1個字符必須是字母或下劃線,其他字符可以由字母、下劃線、或數字組成,標識符長度任意

2)標識符是Case sensitive的:score和Score是不同的
3)在Python3中,標識符支持非英語字符,只要是Unicode字符集支持,的字符都可以,但建議盡量使用英文的標識符
4)在給標識符命名時,應該盡量采用有意義的標識符,方便閱讀及理解

常量

常量(constant)可以為數字、字符串、布爾值、空值等(2,-10086,3.5, “Python” ,True、False,None )
但Python中沒有命名常量,所以不能給常量起一個名字

變量

Python的變量(variable)不需要聲明(declare),
其數據類型由所賦的值來決定,不同類型的數字型數據運算時,會自動的進行類型轉換
bool<int<float<complex (自動的類型轉換,僅存在於數字型數據之間)


運算符和表達式

運算符(Operator): 完成不同類型的常量、變量之間的運算
表達式(Expression): 由常量、變量和運算符組成

算數運算符

Python的算數運算符:

邏輯運算符

Python的邏輯運算符:

比較運算符

Python的比較運算符:

成員運算符

Python的成員運算符:


程式控制流程


條件式語句

Python的if else運作示範:


循環語句

循環結構:

while語句

1
2
3
4
5
6
7
# 計算1至100的和
i = 1 #計數器的初值
sum = 0 #累加和初值
while i < 101: #complex value
sum = i + sum #累加
i = i + 1 #計數器+1
print(sum) #輸出累加和

執行結果:

1
5050

for語句


range()函數


使用range()函數及for loop執行1-100的累加和:

1
2
3
4
5
# 計算1至100的和
sum = 0 #累加初值
for i in range(101): #循環條件
sum = i + sum #累加
print(sum) #輸出累加和

使用range()函數及for loop執行1-100的累加奇數和:

1
2
3
4
5
# 計算1至100的奇數和
sum = 0 #累加初值
for i in range(1,101,2): #循環條件
sum = i + sum #累加
print(sum) #輸出累加和

continue語句

continue可以終止本次循環,開始下一次循環,例如以下計算1-100之間的所有單數(奇數)之和:

1
2
3
4
5
6
7
# 計算1至100的奇數和
sum = 0 #累加初值
for i in range(1,101): #循環條件
if i % 2 == 0: #如果是雙數(偶數),則跳過本次循環,不進行累加
continue
sum = i + sum #累加
print(sum) #輸出累加和

執行結果:

1
2500

break語句

break可以用來跳出循環體,結束循環。以下例子計算了1-100的累加和。若累計和超過3000,則終止計算,並輸出當前結果

1
2
3
4
5
6
7
8
9
i = 1		#計數器數值
sum = 0 #累加初值
while i < 101:
if sum <= 3000: #循環條件
sum = i + sum #累加
i = i + 1
else#累計和>3000,跳出循環
break
print(sum) #輸出累加和
文章作者: icthk
文章鏈接: https://icthk.github.io/9_Tensorflow2_Python.html
版權聲明: 本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 ICTHK Blog