Python基礎語法

徐-天赐發表於2024-03-17

Python


目錄-基礎語法

  • 註釋
  • 資料型別
  • 資料型別準換
  • 字面量
  • 變數
  • 資料輸出
  • 資料輸入
  • 識別符號
  • 運算子
  • 判斷語句
  • 迴圈語句

註釋

  • 單行註釋
# 以#號開頭,#號和註釋內容建議以一個空格隔開
  • 多行註釋
"""
以三個雙引號引起來
三個雙訊號之中寫註釋內容
"""

資料型別

Python中常用的有6種資料型別

型別 描述 說明
數字(Number) 整形(int)浮點數(float)複數(complex)布林(bool) 整數:
字串(String) 描述文字的一種資料型別 True本質為1,False為0
列表(List) 有序的可變序列 任意數量的字元組成
元組(Tuple) 有序的不可變序列
集合(Set) 無序的不重複集合
字典(Dictionary) 無序的Key-Value集合

資料型別轉換

語句 說明
int(x) 將x轉換為一個整數
float(x) 將x轉換為一個浮點數
str(x) 將x轉換為字串

1.任何型別,都可以透過str(),轉換成字串

2.字串必須為數字類字元,才可以轉換為數字

浮點數轉整數會丟失小數部分

字面量

在程式碼中,被寫下來的固定的值,稱之為字面量

變數

變數用於儲存資料,每一個變數都有變數名,變數的值可以發生改變。

定義格式:變數名=變數值

使用type(被檢視型別的資料)來得到資料的型別,資料有型別而變數無型別

print(type(123))				#結果為int
print(type(1.23))				#結果為float
print(type("Hello,world!"))		#結果為str
#str是string的縮寫

type(語句)也可以檢視變數中儲存的資料型別

a=1
aType=type(a)
print(aType)	#結果為int

字串型別的3種定義方法

text1='單引號定義字串'
text2="雙引號定義字串"
text3="""
三引號定義字串
三個引號的範圍內
均是字串
"""
#注意:三引號定義的範圍是從三引號開始到下一個三引號結束

資料輸出

print(字面量)

print(內容1,內容2,......,內容N)

print(字串字面量/字串變數+字串字面量/字串變數+......字串字面量/字串變數)

print(f“內容{變數/表示式}”)

print(123)
print(1.23)
print("Hello,world!")
print(123,1.23,"Hello,world!")
a="Hello,"
print(a+"world!")	#字串拼接
b="%s world!" % a	#%s佔位
print(b)			#字串格式化,輸出:Hello,world
"""
多個變數佔位,用括號括起來,按順序填入
%s,將內容轉換為字串
%d,將內容轉換為整數
%m.nf將內容轉換為浮點數
注:m為數字的位數;n為小數點的位數,按四捨五入處理。
"""
print(f"{a}world!")	#快速格式化字串
"""
不做精度控制
不理會型別
"""

資料輸入

使用input()語句從鍵盤獲取輸入,在括號內可以填入提示內容

a=input("Hello,")
print(a)
#控制檯會顯示Hello,然後等待使用者輸入,把輸入的資料以字串的型別儲存在a中,然後可以用print語句列印出來

識別符號命名規則

  • 只允許出現字母、數字(不可以開頭)、下劃線、中文(不推薦)
  • 大小寫敏感
  • 不可以使用關鍵字
  • 下劃線命名法、英文字母全小寫

運算子

算數運算子:

  • 加+

  • 減-

  • 乘*

  • 除/

  • 取餘數%

  • 取整除// 返回商的整數部分

    3//2=1,3.0//2.0=1.0

  • 取指數**

    2**3=8,即2的三次方

賦值運算子:

  • =

複合賦值運算子

  • +=

  • -=

  • *=

  • /=

  • %=

  • //=

  • **=

    判斷語句

    if 條件 :

    ​ 被執行的語句1

    ​ 被執行的語句2

    else:

    ​ 被執行的語句3

    與if語句塊無關的語句4

    注:

    1. if和else末尾的英文冒號不可省略
    2. if後面跟要判斷的條件,條件成立則返回布林值True,執行語句1和語句2,否則為False,執行語句3
    3. 若無else語句及語句3,則條件不成立if語句塊無操作
    4. Python透過縮排(Tab鍵/4個空格)判斷程式碼塊的歸屬關係,所以語句1、2、3屬於if語句塊,而語句4與if無關
    a=1						#把1賦值給a
    if a==1:				#條件成立,布林值為True
    	print("a==1")		#語句被執行
    else:
        print("a!=1")
    print("Hello,world!")	#與if無關,同樣會被執行
    """
    控制檯列印結果:
    a==1
    Hello,World!
    """
    

    if 條件1:

    ​ 一條或多條語句(條件1為True則執行)

    elif 條件2:

    ​ 一條或多條語句(條件2為True則執行)

    elif 條件n:

    ​ 一條或多條語句(條件n為True則執行)

    else:

    ​ 一條或多條語句(所有條件都為False則執行)

    注:

    1. if elif else語句用於完成多個條件的判斷
    2. 條件之間應該為互斥關係,如果有一個條件為True則後面的條件不會再進行判斷
    3. if else語句和if elif else語句之間可以巢狀使用,即if判斷語句可以作為判斷語句的條件為True後執行的語句塊。
    a=int(input("請輸入一個範圍在1~1000之內的數字"))
    #int強制把input語句返回的字串型別轉換為整型
    if a>1 && a<10:
    	print("a是個位數")
    elif a>=10 && a<100:
        print("a是十位數")
    elif a>=100 && a<1000:
        print("a是百位數")	#此語句也可改寫成如下語句塊
    """
    可以進一步巢狀if判斷語句
    	if a<500:
    		print("a是小於500的百位數")
    	else:
    		print("a是大於等於500的百位數")
    """
    else
    	print("輸入的數字不在範圍內”)
    

    迴圈語句

while 條件:

​ 一條或多條語句

注:

  1. 先判斷條件,若條件為True則執行語句
  2. 語句執行完繼續判斷條件,重複此流程直到條件不成立
  3. 在語句中應使條件逐步接近不成立的範圍,否則while語句會一直迴圈重複執行下去,使程式陷入死迴圈
  4. while語句也可以巢狀,若巢狀並執行到了內部巢狀的迴圈語句則執行完內迴圈再重複外迴圈
#猜數字遊戲程式碼實現
import random
num=random.randint(1,1000)		#生成一個1~1000內的隨機數
flags=True						#建立標記變數flags
while flags:					#若沒有猜對則不斷迴圈
    a=input("請輸入您要猜的數字\n")
    if a>num:
    	print("猜大了!\n")
    elif a<num:
        print("猜小了!\n")
    else:
        print("恭喜你,猜對了\n");
        flags=False				#猜對則把False賦值給flags,結束此迴圈

for 臨時變數 in 多個資料:

​ 對臨時變數的操作

注:

  1. 多個資料常常是字串、列表、元組等形式
  2. 將多個資料按順序逐個放入臨時變數,臨時變數的作用是為了開闢一塊空間便於逐個處理資料
  3. for迴圈的作用是為了遍歷資料,所以也被稱為遍歷迴圈
  4. for語句也可以巢狀
a="Hello!"		#定義字串a		
for x in a:		#記x為迴圈變數的名字,名字可以隨便填寫
	print(x)	#把字串a中的每個字元依次取出放入變數x列印出來
控制檯結果:
H
e
l
l
o
!

range語句

range(num1,num2,step)

注:

  1. range語句用於獲取一個"從num1開始,以step為間隔,到num2且不包括num2本身"簡單的數字序列

  2. 在Python2中獲取的是列表,Python3之後獲取的是可迭代物件,用於節約記憶體空間

  3. range語句的括號內,num1若沒有則預設為0,step若沒有則預設為1

  4. for迴圈可以直接遍歷range()取得的數字序列,如果要列印則需要使用list()強制轉換資料型別為列表

    range(5)		#取得資料[0,1,2,3,4]
    range(1,5)		#取得資料[1,2,3,4]
    range(1,5,2)	#取得資料[1,3]
    
    print(range(3)) 		#range(3)的型別是可迭代物件
    #列印結果:range(0,3)
    print(list(range(3)))	#使用list()強制型別轉換為列表	
    #列印結果:[0,1,2]
    

continue和break

  1. continue用於結束本次迴圈,break用於結束迴圈
  2. continue結束本次迴圈只會結束在continue之後的程式碼
  3. break結束迴圈在巢狀迴圈中位於內層迴圈的break只會結束內迴圈,不結束外迴圈
  4. 迴圈的作用是對批次資料進行相同操作,可以用if語句搭配continue實現對批次資料中的特殊資料進行操作的更改
  5. 當迴圈滿足了目的,不再需要繼續迴圈下去的時候,使用break結束迴圈
判斷使用者輸入演示
a="\0"
while True:
    a=input("*****是否開始遊戲?*****是:yes 否:no")
    if a="yes"
    	print("祝你玩得愉快!")
    	break;
    elif a="no"
    	print("歡迎再次光臨!")
        break;
    else 
    	print("輸入錯誤,請重新輸入!")
"""
while的條件設為True,使程式陷入死迴圈
直到使用者輸入正確使用break結束迴圈
注:此程式碼僅用於演示,一般情況判斷使用者輸入應使用正規表示式
"""
    

相關文章