tft每日頭條

 > 生活

 > python簡單語法講解

python簡單語法講解

生活 更新时间:2024-11-11 12:59:49

這是機器未來的第6篇文章

寫在前面:

• 博客簡介:專注AIoT領域,追逐未來時代的脈搏,記錄路途中的技術成長!

• 專欄簡介:本專欄的核心就是:快!快!快!2周快速拿下Python,具備項目開發能力,為機器學習和深度學習做準備。

• 面向人群:零基礎編程愛好者

• 專欄計劃:接下來會逐步發布跨入人工智能的系列博文,敬請期待

• Python零基礎快速入門系列

• 快速入門Python數據科學系列

• 人工智能開發環境搭建系列

• 機器學習系列

• 物體檢測快速入門系列

• 自動駕駛物體檢測系列

• ......

@[toc]

1. Python概述

Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。

  • • 可以幹什麼?
    • • 數據分析、WEB開發、爬蟲、人工智能、科學計算、桌面軟件等...
  • • 膠水語言
    • • 可以調用其他語言庫, 适合搭框架,不适合構建核心
  • • 解釋型語言
    • • 無需編譯,邊解釋邊執行,适合數據分析,不适合開發大型項目,運行效率低
  • • 語法簡潔,代碼量小
  • • 動态類型語言,代碼量小
  • • 内存管理:有垃圾回收。代碼量小
  • • 開源,好處:庫豐富,出現問題有社區幫助解決或者遇到過。壞處:庫不一定成熟或者經過生産環境測試,bug多
  • • 跨平台

Python最核心的優勢就是:它是一個拉皮條的,自己不幹活(不具體實現,搭框架),讓别人幹活(Python非常容易調用其它語言的實現庫)。

python簡單語法講解(一文快速掌握Python基礎語法)1

2. Python版Hello World
  • • 啟動vs code 在工作區目錄(用于存儲編程學習文檔的目錄)下右鍵,選擇【通過VsCode打開】啟動VsCode。
  • • 啟動後,在左側文件欄,右鍵新建文件,輸入文件名note.ipynb,雙擊打開
  • • 在右側的單元格内輸入第一行python代碼print("hello world!"),點擊左側的三角按鈕或按下【CTRL ENTER】組合鍵,就會看到輸出hello world。首次運行會有點慢,後續速度就很快了。
3. 變量與常量
  • • 變量、常量的區别
    • • 變量:在程序運行過程中,值會發生變化的量。
    • • 常量:在程序運行過程中,值不會發生變化的量。
3.1. 變量的定義3.1.1 變量的構成

變量由變量名、變量值和變量類型構成。需要注意的是python中定義變量時不需要聲明類型。這是根據Python的動态語言特性而來。變量可以直接使用,而不需要提前聲明類型。

  • • 變量名類似于一個代号,指向具體的變量值。
  • 15
  • • 多個變量名可以綁定一個變量值。

a='Jack' b=a a='Tom' print(b) print(a)

python簡單語法講解(一文快速掌握Python基礎語法)2

python簡單語法講解(一文快速掌握Python基礎語法)3

請牢記:Python中的一切都是對象,變量是對象的引用!

3.1.2 變量的命名規範

标識符的命名規範:

  • • 數字,字母,下劃線,并且不可以數字開頭
  • • 不能使用關鍵字
  • • 區分大小寫
3.1.2.1 舉例:數字,字母,下劃線,并且不可以數字開頭
  • • 例子1以數字開頭,提示語法錯誤;
  • • 例子2、例子3以小寫字母、下劃線和數字構成,執行語法正确
  • • 例子4以大小寫字母、下劃線和數字構成,和name_2是不一樣的變量,因此打印輸出不一樣。
  • 183.1.2.2 舉例:不能使用關鍵字
  • 輸入下列2行代碼,可以查看Python的關鍵字列表,這些都不可以作為變量名使用。

importkeyword keyword.kwlist

python簡單語法講解(一文快速掌握Python基礎語法)4

19

3.1.2.3 舉例:區分大小寫

變量大寫X和小寫x是不同的變量

3.1.3 編碼規範
  • • 變量,函數名稱:小寫,如果需要分割用下劃線
  • • 常量:全大寫
  • • 類名:大駝峰

擴展閱讀:Python 編碼規範(Google)

3.2 常量

Python中其實沒有專門對常量的定義,對于常值一般采用全部大寫的字母來定義,例如

PI=3.14

4. 輸入與輸出4.1 輸出print

print("hellopython")

python簡單語法講解(一文快速掌握Python基礎語法)5

20

4.2 格式化輸出

本文均以python3為基礎。

三種方式

name="Joe" sex="man" #方法一,使用format格式化函數來實現 print("Mynameis{},mysexis{}".format(name,sex)) 或 print("Mynameis{0},mysexis{1}".format(name,sex)) #方法二:format的簡寫形式 print(f"Mynameis{name},mysexis{sex}") #方法三:逗号分隔,這種方式輸出格式會淩亂一些,推薦方法二 print(f"Mynameis“,{name},"mysexis",sex)

python簡單語法講解(一文快速掌握Python基礎語法)6

21

4.3 輸入input

input的輸入參數是提示字符串,返回值為輸入的信息:

python簡單語法講解(一文快速掌握Python基礎語法)7

22

4.4. python對象的三闆斧
  • • print print打印對象的内容
  • • type type輸出對象的類型
  • • dir dir輸出對象支持的方法和屬性

python簡單語法講解(一文快速掌握Python基礎語法)8

23

5. 注釋規則

注釋用于描述代碼段的功能及使用說明之用。

Python的注釋有2種:

  • • 井号注釋# #注釋常用來給代碼行或代碼塊進行注釋說明,常出現在代碼上方或末尾

#單行注釋 print("#注釋")

  • • 三引号注釋 三引号注釋常用來給函數或類做注釋使用,因為涉及到多行。

三引号注釋可分為單引号注釋和雙引号注釋

defdata_analyze(dat): """ 函數描述:用于數據分析 參數描述: - dat:輸入的參數 """ return defdata-analyze2(dat): ''' 函數描述:用于數據分析 參數描述: - dat:輸入的參數 ''' return

以上2個函數的注釋功能上是一樣的,單引号或雙引号其本質上是一個字符串常量。

#注釋和三引号注釋總體區分就是單行注釋歸#,多行注釋歸三引号注釋。

6. 基礎數據類型

Python中的基礎數據類型包括:

  • • 數值類型:整數類型,浮點類型,複數類型,布爾類型、空值
  • • 字符串
  • • 容器類型:列表,元組,字典,集合
6.1. 數值類型6.1.1 整數類型

常見的整數

a=101

6.1.1.1 整數有四種進制類型
  • • 二進制:定義需要使用0b或者0B作為前綴,每位取值範圍0~1

x1=0b0001#十進制1 x2=0b1010#十進制10=1*2^3 0*2^2 1*2^1 0=10 print(x1,type(x1),x2,type(x2))

1 <class 'int'> 10 <class 'int'>

  • • 八進制:定義需要使用0o或者0O作為前綴,每位取值範圍0~7

x1=0o17#十進制15=1*8 7=15 print(x1,type(x1))

15 <class 'int'>

  • • 十進制:默認定義的是十進制

x1=15 print(x1,type(x1))

15 <class 'int'>

  • • 十六進制:定義需要使用0x或者0X作為前綴,每位取值範圍0~9 a/A-f/F

x1=0x59#十進制89=5*16 9=89 print(x1,type(x1))

89 <class 'int'>

6.1.1.2 進制轉換
  • • bin(x):将x轉換成二進制,返回值是str

x=15 x2=bin(x) print(x2,type(x2))

0b1111 <class 'str'>

  • • oct(x):将x轉換成八進制,返回值是str

x=15 oct(x) print(x2,type(x2))

0b1111 <class 'str'>

  • • int(x):将x轉換成十進制,返回值是int,可以将字符串類型的整數轉換成int類型

x=0x0f x2=int(x) print(x2,type(x2))

15 <class 'int'>

  • • hex(x):将x轉換成十六進制,返回值是str

x=15 x2=hex(x) print(x2,type(x2))

0xf <class 'str'>

6.1.2 浮點類型

浮點類型是數學中的小數,浮點數在計算機中隻能做到近似存儲,這是浮點的不确定性。

f1=1.2 f2=1.4 f3=f1 f2 print(f3) f3==2.6#f3竟然不等于2.6,神奇吧

2.5999999999999996

False

從圖中示例可知,在計算機中1.2 1.4不一定等于2.6,因為計算機中存儲數據底層都是二進制存儲,在轉換過程中存在轉換誤差,因此避免使用浮點數做等值或不等值運算,如果必須使用,則使用如下函數形式。

importmath defis_float_equal(a,b,precision):#第三個參數為精度 ''' a-輸入比較的浮點數1 b-輸入比較的浮點數2 precision-可允許的浮點數誤差 ''' returnmath.fabs(a-b)<precision result=is_float_equal(f3,2.6,1e-3) print(result)

True

float數據類型可表示的數據範圍:

importsys print(sys.float_info.max,sys.float_info.min)

1.7976931348623157e 308 2.2250738585072014e-308

超出浮點數表示範圍上限,數據會表示為inf,低于浮點數表示範圍下限,則直接表示為0.0

print(2.3e 400,2.3e-400)

inf 0.0

python簡單語法講解(一文快速掌握Python基礎語法)9

在這裡插入圖片描述

6.1.3 複數類型

x1=3 4j print(x1,type(x1))

(3 4j) <class 'complex'>

x1.real,x1.imag#訪問複數的實部和虛部

(3.0, 4.0)

#求複數的模長 abs(x1)#c=sqrt(a^2 b^2)

5.0

6.1.4 布爾類型

布爾類型:True 和 False

6.1.4.1 常見的邏輯表達式
  • • and 與 兩個為真才為真,一個為假則為假

TrueandTrue

True

TrueandFalse

False

FalseandFalse

False

  • • or 或 一個為真則為真,兩個為假則為假

TrueorTrue#兩個均為真,則為真

True

TrueorFalse#一個為真,則為真

True

FalseorFalse#兩個為假,則為假

False

  • • not 非 非假為真,非真為假

notFalse

True

notTrue

False

6.1.5 空值類型

None

6.2. 字符串6.2.1 創建
  • • 字符串有三種創建方式:單引号、雙引号、三引号

x1='python' x2="python" x3="""python""" x4='''python''' print(f"x1:{x1},x2:{x2},x3:{x3},x4:{x4}")

python簡單語法講解(一文快速掌握Python基礎語法)10

image-20220523000516457

  • • 其中三引号還有定義格式的能力,舉例
  • image-20220523000537978
  • • 字符串定義時,單引号、雙引号出現在内容中的用法:
  • image-20220523000626870
    • • 使用轉義字符\
    • • 錯位使用:内容包含單引号時,使用雙引号定義;内容包含雙引号時,使用單引号定義
6.3 容器類型

容器類型将在數據結構中描述。

7. 運算符7.1 算術運算符

(加)、 -(減)、 *(乘)、 /(除)、//(除法取整)、%(取模)等。

python簡單語法講解(一文快速掌握Python基礎語法)11

image-20220523000642102

7.2 比較運算符

>(大于)、 <(小于)、==(等于)、 <=(小于等于), >=(大于等于), !=(不等于)等

python簡單語法講解(一文快速掌握Python基礎語法)12

28

7.3 賦值運算符=(賦值)、 =(加法賦值)、-=(減法賦值)、*=(乘法賦值)、/=(除法賦值)、//=(除法取整賦值)、%=(取模賦值)等

python簡單語法講解(一文快速掌握Python基礎語法)13

29

7.4 位運算符
  • • 與(&),按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

x1=0b0001 x2=0b0001 x3=0b0010 #與運算&:對應位均為1,則為1;否則為0 x4=x1&x2 print(f"x4:{bin(x4)}")

python簡單語法講解(一文快速掌握Python基礎語法)14

30

  • • 或(|),按位或運算符:隻要對應的兩個二進位有一個為1時,結果位就為1

x1=0b0001 x2=0b0001 x3=0b0010 #或運算|:對應位均為0,則為0;否則為1 x5=x2|x3 print(f"x5:{bin(x5)}")

python簡單語法講解(一文快速掌握Python基礎語法)15

31

  • • 異或(^),按位異或運算符:當兩對應的二進位相異時,結果為1

x1=0b0001 x2=0b0001 x3=0b0010 #異或運算^:對應位不同,則為1;否則為0 x6=x1^x2#x6=0b1^0b1=0 x7=x2^x3#x7=0b01^0b10=0b11 print(f"x6:{bin(x6)},x7:{bin(x7)}")

python簡單語法講解(一文快速掌握Python基礎語法)16

32

  • • 取反(~),按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1

x1=0b0001 #異或運算^:對應位不同,則為1;否則為0 x4=~x1# x4 =~0b1=0b1111110(補碼表示:最高位為1,為負數,負數取反 1)=-0b10 print(f"x4:{bin(x4)}")

python簡單語法講解(一文快速掌握Python基礎語法)17

33

  • • 左位移(<<),運算數的各二進位全部左移若幹位,由<<右邊的數字指定了移動的位數,高位溢出舍棄,低位補0

x1=0b0001 #異或運算^:對應位不同,則為1;否則為0 x4=x1<<1#x4=0b1<<1=0b10 print(f"x4:{bin(x4)}")

python簡單語法講解(一文快速掌握Python基礎語法)18

34

  • • 右位移(>>),把‘>>’左邊的運算數的各二進制位全部右移若幹位,>>右邊的數字指定了移動的位數,低位溢出舍棄,高位補

x1=0b1110 #異或運算^:對應位不同,則為1;否則為0 x4=x1>>1#x4=0b1110>>1=0b111 print(f"x4:{bin(x4)}")

python簡單語法講解(一文快速掌握Python基礎語法)19

35

7.5 邏輯運算符

and布爾與、or布爾或、not布爾非

  • • and:表達式:x and y,即布爾的“與”,如果 x 或 y 任意一個值為 False,則返回為False的值,否則返回 y 的值。

x1=5 x2=6 x3=7 #x1>x2=>5>6為False,所以整個表達式為False x4=x1>x2andx3>x2 print(f"x4:{x4}") #x2>x1andx3>x2=>6>5and7>6, #第一個表達式的值為True,所以返回第二個表達式的值,第二個表達式的值為True x5=x2>x1andx3>x2 print(f"x5:{x5}") #x2>x1and2=>6>5and2, #第一個表達式的值為True,所以返回第二個表達式的值,第二個表達式的值為2 x6=x2>x1and2 print(f"x6:{x6}")

python簡單語法講解(一文快速掌握Python基礎語法)20

36

  • • or:表達式:x or y,即布爾的“或”,如果 x 或 y 任意一個值為 True,則返回為True的值,否則返回 x 的值。

x1=5 x2=6 x3=7 #x2>x1orx2>x3=>6>5and6>7 #第一個表達式的值為True,所以返回True x5=x2>x1orx2>x3 print(f"x5:{x5}") #x1>x2orx2>x3=>5>6or6>7,兩個表達式均為False,所以整個表達式為False x4=x1>x2orx2>x3 print(f"x4:{x4}") #x1>x2or0=>5>6or0, #第一個表達式的值為False,所以返回第二個表達式的值,第二個表達式的值為0 x6=x1>x2or0#非0均為True print(f"x6:{x6}")#注意不是返回False喔

python簡單語法講解(一文快速掌握Python基礎語法)21

37

  • • not:表達式:not x,即布爾的“非”,如果 x 值為 True,則返回為False,否則返回True。

x1=5 x2=6 x4=not(x1>x2)#note(x1>x2)=>not(5>6)=>notFalse=>True print(f"x4:{x4}") x5=not(x2>x1)#note(x2>x1)=>not(6>5)=>notTrue=>False print(f"x5:{x5}")

python簡單語法講解(一文快速掌握Python基礎語法)22

38

7.6 成員運算符
  • • in:判斷指定對象是否在序列中找到,是返回True,否返回False
  • • not in:與in相反,判斷指定對象是否不在序列中找到,是返回True,否返回False。

x=[1,2,4,5,8] x1=5 x2=6 x3=x1inx#x1=5,是列表x中的元素,所以為真,True print(f"x3:{x3}") x4=x2notinx#x2=6,不是列表x中的元素,為假,not假,所以為真,True print(f"x4:{x4}")

python簡單語法講解(一文快速掌握Python基礎語法)23

39

7.7 身份運算符
  • • is:判斷指定對象是否引用自同一對象,即是否具有相同的id地址,是返回True,否返回False。
  • • is not:與is相反,判斷指定對象是否引用自不同的對象,即是否具有不同的id地址,是返回True,否返回False。
  • 40
  • 備注:其實is或is not 與 == 或 != 類似,區别在于:is或is not判斷的是指定對象id地址是否相等,而== 或 !=判斷的是指定對象的值是否相等。
8. 控制語句

流程控制有三種結構:順序結構、分支結構、循環結構。

  • • 順序結構:按部就班執行
  • • 分支結構:根據條件不同執行
  • • 循環結構:重複執行
8.1 分支語句(條件語句)

兩種分支結構:

  • • 二分支

ifcondition1: statement1 else: statement2

舉例:

score=85 ifscore>=60.0: print("你的成績:及格") else: print("你的成績:不及格")

python簡單語法講解(一文快速掌握Python基礎語法)24

41

簡寫:三元運算符

exp1ifconditionelseexp2

對應

ifcondition: exp1 else: exp2

舉例:

#求最大值 x1=50 x2=30 max_num=x1ifx1>x2elsex2 max_num

python簡單語法講解(一文快速掌握Python基礎語法)25

snipaste20220523_001136

  • • 多分支

ifcondition1: statement1 elifcondition2: statement2 ... else: statement3

舉例:

score=85 ifscore>=90.0: print("你的績效為:A") elifscore>=80.0: print("你的績效為:B ") elifscore>=60.0: print("你的績效為:B") else: print("你的績效為:C")

python簡單語法講解(一文快速掌握Python基礎語法)26

注:python3.10以下版本不支持switch-case語句。

8.2 循環語句

兩種循環語句:while和for循環

8.2.1 while循環
  • • 适用場景 不清楚循環的具體次數,或者當條件一直為真的時候一般用while
8.2.1 while循環典型結構

whilecycle_condition: statement condition_change_statement

  • • while表達式以冒号作為行的結束
  • • while循環體代碼塊縮進4個字節

舉例:

#以神經網絡模型的訓練叠代次數舉例 MAX_EPOCHS_COUNT=10 epoch=0 whileepoch<MAX_EPOCHS_COUNT: print(f"traintimes{epoch}") epoch =1 print("trainfinish!")

python簡單語法講解(一文快速掌握Python基礎語法)27

image-20220523001217473

8.2.2 while的特殊用法

while...else...語句,在while退出時執行

whilecycle_condition: statement condition_change_statement else: exit_statement

舉例:

#以神經網絡模型的訓練叠代次數舉例 MAX_EPOCHS_COUNT=10 epoch=0 whileepoch<MAX_EPOCHS_COUNT: print(f"traintimes{epoch}") epoch =1 else: print("trainfinish!")

python簡單語法講解(一文快速掌握Python基礎語法)28

image-20220523001228174

8.2.2 for循環
  • • 使用場景:遍曆序列中的元素或已知循環次數
  • • 典型結構for ... in ...

foriteminsets: statement

舉例:

x=[-1,4,6,7,9,-10,-13] foriinx: print(i)

python簡單語法講解(一文快速掌握Python基礎語法)29

image-20220523001741324

  • • range可叠代對象 range(start,end,step):返回的是一個可叠代對象可叠代對象的優勢是占用内存少,邊使用邊分配内存,不會一下子全部分配内存,在數據集較大時會特别便于使用。
    • • start:表示開始,包含,默認是0
    • • end:表示結束,不包含
    • • step:表示步長,默認是1

X=range(1,10,1) print(type(X)) forxinrange(1,10,1): print(x,end=',') print("")

<class 'range'> 1, 2, 3, 4, 5, 6, 7, 8, 9,

  • • enumerate()索引序列 函數用于将一個可遍曆的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下标,一般用在 for 循環當中。

适用場景:在需要提取數據結構對象索引的時候非常有用。

x=[-1,4,6,7,9,-10,-13] #原始列表輸出 foriinx: print(i,end=',') print("") #将原始列表的輸出轉換為索引-值的元組 foriinenumerate(x): print(i,end=',') print("")

-1, 4, 6, 7, 9, -10, -13, (0, -1), (1, 4), (2, 6), (3, 7), (4, 9), (5, -10), (6, -13),

8.2.3 break與continue:循環的跳出和繼續執行
  • • break 退出循環,使用場合:在某些條件滿足後跳出循環

#以神經網絡模型的訓練叠代次數舉例 MAX_EPOCHS_COUNT=10 epoch=0 whileTrue: if(epoch>=MAX_EPOCHS_COUNT): break#執行後,從此處跳出循環 print(f"traintimes{epoch}") epoch =1

python簡單語法講解(一文快速掌握Python基礎語法)30

image-20220523002128727

  • • continue 跳過循環體後面的語句,直接開始下一回循環

#求列表中大于0的數值的和 x=[-1,4,6,7,9,-10,-13] sum=0 foriteminx: ifitem<0: continue#執行continue後,本次循環,後面的代碼塊不再執行 sum =item print(f"sum:{sum}")

python簡單語法講解(一文快速掌握Python基礎語法)31

image-20220523002148157

python簡單語法講解(一文快速掌握Python基礎語法)32

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved