1. 程式人生 > 實用技巧 >Python基礎(上篇)

Python基礎(上篇)

本篇文章主要內容:變數、註釋、運算子、關鍵字、資料型別

在入手變數之前我們先來看看經典的程式設計語句 → hello world

在python3中輸出到控制檯的函式是print()

print("hello world")

一、變數

1.1 語法

變數名 = 變數值
注:每一個變數在使用之前都必須賦值

1.2 示例

 a = 20
 b = "可樂"

1.3 本質

在 a = 20 中,python直譯器一共進行了兩步操作:
① 在記憶體中開闢一片記憶體地址用來存放資料 20;
② 在記憶體中建立一個一個變數名為a的物件,並把它指向了資料 20。

如圖:

  • 在python中變數是記憶體地址的別名
    ,也就是說a就代表了0x1002,python沒有指標;
  • 變數a所標示的記憶體空間儲存資料20所在記憶體地址的過程稱為引用

二、註釋

2.1 語法

單行註釋:以 開頭
多行註釋:用三個單引號 ''' 或者三個雙引號 """ 將註釋括起來
注:python直譯器不會執行被註釋的程式碼塊

2.2 示例

 # 這是一個單行註釋
 '''
 這是用三個單引號的多行註釋
 這是用三個單引號的多行註釋
 這是用三個單引號的多行註釋
 '''
 """
 這是用三個雙引號的多行註釋
 這是用三個雙引號的多行註釋
 這是用三個雙引號的多行註釋
 """

三、運算子

運算子包括以下內容:

  • 算數運算子
  • 比較運算子
  • 賦值運算子
  • 邏輯運算子
  • 身份運算子
  • 成員運算子

3.1 算數運算子

前提:a = 20 ; b = 10

運算子 描述 示例
+ 加法 a+b 輸出 30
- 減法 a-b 輸出 10
* 乘法 a*b 輸出 200
/ 除法 a/b 輸出 2
% 取模(返回除法的餘數) a%b 輸出 0
** a**b 輸出 20的10次方
// ​取整(向下取整) a//b 輸出 2

3.2 比較運算子

前提:a = 20 ; b = 10

運算子 描述 示例
== 等於(比較兩個數是否相等) a==b 輸出 False
!= 不等於(比較兩個數是否不等) a!=b 輸出 True
> 大於 a>b 輸出 True
< 小於 a<b 輸出 False
>= 大於等於 a>=b 輸出 False
<= 小於等於 a<=b 輸出 False

3.3 賦值運算子

前提:a = 20 ; b = 10

運算子 描述 示例
= 賦值 a=b 將b賦值給a
+= 加等於 a+=b 等效 a = a + b
-= 減等於 a-=b 等效 a = a - b
*= 乘等於 a*=b 等效 a = a * b
/= 除等於 a/=b 等效 a = a / b
%= 模等於 a%=b 等效 a = a % b
**= 冪等於 a**=b 等效 a = a ** b
//= 取整等於 a//=b 等效 a = a // b

3.4 邏輯運算子

前提:a = True ; b = False

運算子 描述 示例
and 兩者都為true,才是True a and b 輸出 False
or 兩者其中一個為True,就是True a or b 輸出 True
not 值的反義 not a 輸出 False

3.5 身份運算子

前提:a = True ; b = False

運算子 描述 示例
is 判斷兩者的記憶體地址是否一樣 a is b 輸出 False
is not 判斷兩者的記憶體地址是否不一樣 a is not b 輸出 True

3.6 成員運算子

前提:a = "可" ; b = "可樂"

運算子 描述 示例
in 判斷值是否在序列中 a in b 輸出 True
not in 判斷值是否不在序列中 a not in b 輸出 False

3.7 運算子優先順序

從高到低

運算子 描述
** 指數 (最高優先順序)
* / % // 乘,除,取模和取整除
+ - 加法減法
<= < > >= 比較運算子
== != 等於運算子
= %= /= //= -= += *= **= 賦值運算子
is is not 身份運算子
in not in 成員運算子
not and or 邏輯運算子

四、關鍵字

關鍵字指的是被python內建預設的一些變數名,由於他有特殊的含義,所以我們在定義變數的時候,不能使用關鍵字作為變數名,python中一共33個關鍵字,後面絕大部分都會用到。

and as assert break class
continue def del elif else
except finally for from False
global if import in is
lambda nonlocal not None or
pass raise return try True
while with yield

五、資料型別

通過type()函式來知曉資料的型別,或者通過isinstance()來判斷資料的型別。

5.1 字串(String)

​5.1.1 語法

單引號雙引號多引號括起來。

​5.1.2 示例

a = '可樂'
b = "可樂"
c = """可樂"""

5.2 數字型(Number)

整型浮點型都是屬於數字型。

​5.2.1 語法

整型:a = 10
浮點型:b = 1.1

​5.2.2 示例

a = 10  --> 整型
b = 1.1  --> 浮點型
print(type(a))  --> True
print(type(b))  --> False

5.3 布林型(Bool)

Bool型其實也是數字型的一種,在這裡可樂單獨拿出來。

​5.3.1 語法

Bool型有兩個關鍵字:
① True (真)
② False(假)

​5.3.2 示例

a = True
b = False

5.4 列表(List)

列表是有序的。

​5.4.1 語法

列表用方括號逗號隔開來表示。

​5.4.2 示例

a = [2,3,4,5,6]
b = [1]

​5.4.3 列表索引

如圖:

在python中索引會有正序索引負序索引正序索引是從0開始的,負序索引是從-1開始的,例如列表a中數值2所對應的正序索引是0,負序索引是-4。

5.5 元祖(Tuple)

元祖是有序的。

​5.5.1 語法

元祖用小括號逗號隔開來表示。
注:如果元祖只有一個值,那麼一定要用" ,"結尾 !!!

​5.5.2 示例

a = (2,3,4,5,6)
b = (1,)

​​5.5.3 元祖索引

如圖:

元祖和列表的索引表示方式是一樣的。

5.6 字典(Dict)

字典是無序的。

​5.6.1 語法

① 字典用大括號的鍵值對表示,每個鍵值對之間用逗號分開,鍵是唯一的(否則後面的會覆蓋前面的),值可以不唯一。
② 鍵必須是不可變型別,值可以取任何型別。

​5.6.2 示例

a = { "name": "可樂", "age": 18 }
b = { "name": "kele是可樂呀" }

字典是無序的,所以沒有索引的概念。

5.7 集合(Set)

集合Set是無序的不重複的資料型別。

​5.7.1 語法

大括號或者set()建立,但是沒有鍵值對的概念。
注:如果建立一個空集合用set()建立,{}表示建立一個字典

​5.7.2 示例

a = { "可樂", 18 }
b = set()

集合是無序的,所以沒有索引的概念。

5.8 說明

  • 可變型別:包含列表字典
    本質:改變原變數的值,不會改變原有的記憶體地址。
  • 不可變型別字串數字元祖
    本質:改變原變數的值,改變原有的記憶體地址。

到此我們在本篇當中就已經學習了python當中的變數、註釋、運算子、關鍵字以及資料型別。下一篇可樂將和大家一起來看看資料型別的常用方法,條件語句和迴圈語句

在結尾呢,可樂給大家準備了一個思考題用來鞏固本篇的內容:

定義一個字典a,有兩個鍵值對:一個鍵值對key是可樂,value是18;另一個鍵值對key是python,value是列表形式的1,2,3,4,5。

在下一篇中可樂會留下答案。

< END>