Python筆記1 基本內容:字元串、數字、判斷、循環

Python筆記1 基本內容:字元串、數字、判斷、循環

來自專欄 就是愛學習

1.文章內容:

筆記2 內容:數據容器:列表、元組、集合、字典

筆記3 內容:代碼容器:函數、對象、模塊

筆記4 內容:數據結構、文件輸入和輸出

2.使用書籍、教程:《父與子的變成之旅》、《菜鳥教程》Python3 教程 | 菜鳥教程,此文為學習筆記直接引用部分不另做標註;

3.本文完整網路圖請戳:Python學習網路圖


1.1 變數

什麼是變數

相當於是一個名字,在Python中並不是把值存在變數中而更像是把名字放在值上。

我們建立三個變數First、Second和Third並分別給它們賦值為5、3和8,這就像給5、3、8三個數值加上了三個標籤,之後可以直接通過標籤使用對應的值,也可以把標籤從值上取下來再掛到其他值上

變數就像是掛在值上的標籤

並且同一個東西可以有多個標籤

#定義一個變數MyTeacherMyTeacher="Mrs.Goodyear" #給變數賦值為"Mrs.Goodyear"YourTeacher=MyTeacher #再定義一個變數YourTeacher,讓兩個變數相等print(MyTeacher)print(YourTeacher)

輸出結果

"Mrs.Goodyear""Mrs.Goodyear"

一個東西上可以掛兩個標籤

變數命名規則

  • 可以由字母、數字、下劃線組成;
  • 區分大小寫;
  • 必須以字母或下劃線開頭,不能以數字開頭;
  • 不能有空格;

1.2 操作符

會對兩邊的東西有影響或「操作」的符號

基本操作符:

=:賦值操作符

+:加或連接操作符

*:乘或重複操作符


Python3 字元串 | 菜鳥教程

使用引號(』』或「」)來創建

teacher="Mr.Morton"

2.1 字元串的規則

  • 單引號和雙引號(』』或「」)在創建的字元串時完全相同;
  • 三引號(『『『 』』』或「「「 」」」)可創建多行字元串,也可作為注釋使用;
  • 字元串不可改變。

2.2 字元串的運算

拼接:用+號實現

print("cat"+"dog")

輸出結果

Catdog

重複:用*號實現

print("Holle "*6)

輸出結果

Holle Holle Holle Holle Holle Holle

2.3 字元串的索引

用索引訪問字元串中單個元素,相當於複製了這個元素

var1="Holle world"nvar1= var1[0] #用索引0訪問字元串第1個元素print (nvar1)

輸出結果

H

用索引訪問字元串中的一部分,相當於創建一個原字元串的部分副本

var2="abcdefg" #定義變數賦值為字元串nvar2=var2[1:5] #用索引1:5,訪問字元串第2到5個元素print (nvar2)

輸出結果

bcde

2.4 轉義符

需要使用特殊字元時用『』來轉義符;

常見轉義符有:』表示單引號;」表示雙引號;\表示反斜杠;
表示換行;
表示回車等

print(asd
fgh)

輸出結果

asdfgh

2.5 自然字元串

在字元串第一個引號前加R或r,字元串內容將按字面意思列印,有轉義符也不會發生轉義

print(rasd
fgh
)n

輸出結果

asdnfgh

2.6 從其他類型轉化為字元串

使用函數str()從一個數字(或其他任何類型)創建一個新的字元串;

數字加上引號就變為字元串

c=38.99d=str(c) #將浮點數轉化為整數c,d

輸出結果

(38.99, 38.99)


Python3 數字(Number) | 菜鳥教程

3.1 操作符

+、-、*、/、=等都是操作符,他們會處理(賦值、檢查或改變)符號兩邊的東西,所操作的東西叫操作數:

加+;減-;乘*;除/,與數學中四則運算相同,不做贅述

=等號為賦值操作

指數

用雙星號**表示直指數,3**5= 3^{5}

print(3**5)

輸出結果

234

取余

用%來計算整數相除的餘數

print(7%2)

輸出結果

1

整除

用//來進行整除運算,整除運算的結果為向下取整,即僅有整數部分,小數部分不進行四捨五入,而是直接捨去

print(7//2)

輸出結果

3

自增和自減

用+=表示自增1,用-=表示自減1

number=7number+=1print("自增結果: ",number)number-=1print("自減結果: ",number)

輸出結果

自增結果: 8自減結果: 7

E 記法

對於極大和極小的數字Python用E記法顯示;

3.8E16等同於 3.8	imes10^{16} ;

1.752E-13等同於1.752× 10^{-13}

3.2 運算順序

和數學運算順序一致,指數最優先再乘除後加減,改變運算順序就用括弧()

3.3 數值類型

整數(int)沒有小數點;

將浮點數轉化為整數:使用int(),從一個字元串或浮點數創建一個新的整數,int()總是向下取整,實際上就是直接去掉小數部分

c=38.99d=int(c) #將浮點數轉化為整數c,d

輸出結果

(38.99, 38)

浮點數(float)包含整數位小數點小數位;

將字元串或整數轉化為浮點數:使用float(),從一個字元串或整數創建一個新的浮點數

a=24b=76.3c=float(a)d=float(b)a,c,b,d #不用print()可以直接顯示變數的值

輸出結果

(24, 24.0, 76.3, 76.3)

這裡只介紹了字元串轉化為浮點數而沒有介紹字元串轉化為整數,是因為int()在使用中非常容易報錯,例如字元串76.3用int()轉化就會報錯字元串76則不會報錯。

複數(complex)包含實部和虛部。

3.4 type():可以知道變數的類型

a=44.2b=44.3c=44type(a),type(b),type(b)

輸出結果

(str, float, int)


Python3 條件控制 | 菜鳥教程

4.1 測試

決策時,程序要做出測試,查看某個條件是否為真。而每個測試只有兩個可能的答案:真(True)或者假(False)

使用 if 關鍵字來測試條件

if timsAnswer==correctAnswer: #if行末尾有冒號 print("You got it right!") #冒號告訴程序接下來將是一個代碼塊 score=score+1 #代碼塊整體縮進4個空格 print("Tanks for playing") #條件為真時執行代碼塊


4.2 比較操作符

條件測試語句相當於一個疑問句,a是否等於b?a是否大於b?這種疑問句用比較操作符(條件測試操作符)表示

比較操作符有:

==等於,>大於,<小於,!=不等於,>=大於等於,<=小於等於

num1=float(input("Enter the first number:")) #將輸入的數值轉化為浮點數num2=float(input("Enter the second number:"))if num1<num2: print(num1,"is less than ",num2)if num1>num2: print(num1,"is greater than ",num2)if num1==num2: print(num1,"is equal to ",num2)if num1!=num2: print(num1,"is not equal to",num2)

輸出結果

Enter the first number:9Enter the second number:59.0 is greater than 5.09.0 is not equal to 5.0


4.3 測試為假時會怎麼樣

測試為真時會執行接下來的代碼塊,測試為假時有3種可能:

做另一個測試,使用關鍵字 elif (else if 的簡寫)讓程序再執行另一個測試,if 後面 elif 想要多少就可以有多少

answer=flaot(input("Enter the number from 1 to 15:"))if answer>=10: print("You got at least 10!")elif answer>=5: print("You got at least 5!")elif answer>=3: print("You got at least 3!")

輸出結果

Enter the number:5You got at least 5!

做其他工作,使用關鍵字 else ,else總是出現在 if 和所有 elif 之後,即所有測試都為假時將要執行的工作

answer=flaot(input("Enter the number from 1 to 15:"))if answer>=10: print("You got at least 10!")elif answer>=5: print("You got at least 5!")elif answer>=3: print("You got at least 3!")else: print("You got less than 3.")

輸出結果

Enter the number:2You got less than 3.

繼續,if 塊後沒有放任何東西程序會執行下一個行代碼(如果有)或者結束(如果沒有更多代碼)


4.4 測試多個條件

使用嵌套判斷

測試遊戲玩家年齡和年級必須年滿8歲且三年級以上才能玩

age=float(input("Enter your age:"))grade=int(input("Enter your grade:"))if age>=8: if grade>=3: #年級測試語句嵌套在年級測試語句中 print("You can play this game.")else : print("Sorry ,you cant play the game.")

輸出結果

Enter your age:18Enter your grade:3You can play this game.

使用and ,同時滿足幾個條件時為真

同樣使用上面的例子

age=float(input("Enter your age:"))grade=int(input("Enter your grade:"))if age>=8 and grade>=3: #使用and比嵌套更加簡潔 print("You can play the game.")else: print("You cant play the game.")

輸出結果

Enter your age:18Enter your grade:3You can play this game.

使用 or ,只要滿足任意條件就為真

#喜歡的顏色為紅、藍、綠中之一的人才能玩的遊戲color=input("Enter your favorite color:")if color=="rad" or color=="blue" or color=="green": print("You are a llowed to play this game.")else: print("Sorry,you cant paly the game.")

輸出結果

Enter your favorite color:yellowSorry,you cant paly the game.

使用not,把比較反過來表示反向邏輯

if not (age<8):

與下面的代碼:

if age >=8:

含義相同


Python3 循環語句 | 菜鳥教程

循環就是讓計算機做重複的事

循環主要有兩種類型:

  • 重複一定次數的循環:稱為計數循環即for循環
  • 重複直至發生某種情況時結束,稱為條件循環即while循環

5.1 for循環

5.1.1 循環的執行

for循環會執行一定的次數

for i in [1,2,3,4,5]: print(i)

輸出結果

12345

循環如何執行

  • 變數 i 的值從1開始所以第一次執行print語句列印的變數值為1;
  • 對應列表中的每一個值,這個循環會把接下來的指令塊中的工作完成一次;
  • 每次執行循環時,變數 i 會賦為列表中的下一個值。

循環變數名

可以隨意取,但約定俗成使用i、j、k

5.1.2 range()函數的功能

給循環變數賦值的列表可以使用range()函數來代替,只需輸入起始值和結束值,它就會創建一個可迭代的東西,你可以使用循環來遍歷它,其工作方式與使用列表相同,

range()會在結束值之前停止,所以循環變數不會被賦予結束值

for i in range(1,5): print(i,"times 8 =",i*8)

輸出結果

1 times 8 = 82 times 8 = 163 times 8 = 244 times 8 = 32

5.1.3 range()函數的參數

共有三個參數(起始值=0,結束值,步長=1)

只有一個參數時:傳遞的是結束值,起始值使用默認值0 ,步長使用默認值1

for i in range(5): print(i)

輸出結果

12345

第三個參數:步長

for i in range(1,10,2): print(i)

輸出結果

13579

如果步長為複數則表示反向計數

for i in range(10,1,-1): print(i)

輸出結果

1098765432


5.2 while循環

條件循環用一個測試來確定什麼時候停止循環,會在滿足某個條件時一直保持循環

print("type 3 to continue,anything else to quit.")someInput=input()while someInput==3: print("Thank you for the 3,Very kind of you.") print("Type 3 to continue,anything else to quit.") someInput=input()print("Thats not 3,so Im quitting now.")

輸出結果

type 3 to continue,anything else to quit.3Thank you for the 3,Very kind of you.Type 3 to continue,anything else to quit.6Thats not 3,so Im quitting now.


5.3 跳出循環

5.3.1 continue 跳出當前迭代,提前進入下次迭代,在for循環和while循環中使用方法相同

for i in range(1,6): print() print(i =,i,end="") print(" Holle ,how ",end="") if i==3: continue print("are you today?")

輸出結果

i = 1 Holle ,how are you today?i = 2 Holle ,how are you today?i = 3 Holle ,how i = 4 Holle ,how are you today?i = 5 Holle ,how are you today?

5.3.2 break 終止循環,直接跳出循環不再計數或放棄等待結束條件

for i in range(1,6): print() print(i =,i,end="") print(" Holle ,how ",end="") if i==3: break print("are you today?")

輸出結果

i = 1 Holle ,how are you today?i = 2 Holle ,how are you today?i = 3 Holle ,how


—完—

筆記2 內容:數據容器:列表、元組、集合、字典

筆記3 內容:代碼容器:函數、對象、模塊

筆記4 內容:數據結構、文件輸入和輸出


推薦閱讀:

【食品藥品行業】配方調整以後,用等價檢驗比較混合特性是否相同?
數據分析師入門
如何運用數據精細化運營
胖胖狗的2017年上半年數據分析學習計劃
MySQL基礎練習2

TAG:數據分析 | Python入門 |