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所標示的記憶體空間儲存資料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。
在下一篇中可樂會留下答案。