Python基礎語法(上)
- 一、基知
- 二、基本數據類型
- (一)標準數據類型
- (二)數據類型轉換
- 三、字符串基本操作
- (一)字符串的索引和切片
- (二)字符串的拼接
- 三、運算符
- 四、復合數據類型
- (一)列表 [ ]
- (二)元組 ()
- (三)字典 { }
- (四)運算符在復合數據類型中的運用
- 五、條件語句和循環語句
- (一)if條件判斷
- (二)for循環
- (三)while循環
一、基知
- 標識符
- 第一個字符必須是字母表中字母或下劃線_。標識符的其他的部分由字母、數字和下劃線組成。
- 標識符對大小寫敏感
- 保留字
‘False’、‘None’、‘True’、‘and’、‘as’、‘assert’、‘break’、‘class’、‘continue’、‘def’、‘del’、‘elif’、‘else’、‘except’、‘finally’、‘for’、‘from’、‘global’、‘if’、‘import’、‘in’、‘is’、‘lambda’、‘nonlocal’、‘not’、‘or’、‘pass’、‘raise’、‘return’、‘try’、‘while’、 ‘with’、‘yield’
- 注釋
- 單行注釋以
#
開頭- 多行注釋可以用多個#號,或
'''
/"""
(三個單引號/三個雙引號)
# 第一個注釋'''
使用 3 個單引號分別作為注釋的開頭和結尾
可以一次性注釋多行內容
這里面的內容全部是注釋內容
'''"""
使用 3 個雙引號分別作為注釋的開頭和結尾
可以一次性注釋多行內容
這里面的內容全部是注釋內容
"""
- 縮進
- 使用縮進來表示代碼塊,不需要使用大括號 { }
- 縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數,對比以下輸出結果
- 保留字
- print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上
end=" "
- input 用的比較少
二、基本數據類型
(一)標準數據類型
- Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量
賦值以后該變量才會被創建
。 - 在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型
# 整形變量
counter = 100
print(type(counter))
# 浮點型變量
miles = 1000.0
print(type(miles))
# 布爾型變量
Var = True
print(type(Var))
# 字符串
a = 'a'
b = "b"
c = "run"
print(type(a))
print(type(b))
print(type(c))
# 復數
d = 1+2j
print(type(d))counter = False # 允許
(二)數據類型轉換
有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,一般情況下只需要將數據類型作為函數名即可。Python 數據類型轉換可以分為兩種
- 隱式類型轉換-自動完成
- 顯式類型轉換-需要使用類型函數來轉換
a = 100
b = 100.0
ab = a + b
print("ab的數據類型",type(ab)) # 可多段內容拼接
ab = a + int(b)
print("ab的數據類型",type(ab))
ab = int(a + b)
print("ab的數據類型",type(ab))d = '0'
# 不強制類型轉換,會報錯
# unsupported operand type(s) for +: 'int' and 'str'
ad = a + int(d)
print(ad)
print("str(a)=",str(a))
ad = str(a) + d # 字符串的拼接
print(ad)h = "100.5"
bh = b + float(h)
三、字符串基本操作
(一)字符串的索引和切片
什么是字符串?
字符串是由字符組成的序列,可以使用單引號 ' 或雙引號 "
括起來。例如:name =‘Alice’
- 字符串中的每個字符都有一個索引,可以使用索引訪問特定位置的字符,索引從0開始。例如:print(name[0])將輸出第一個字符A
- 切片是指通過指定起始索引和結束索引來提取子字符串。例如:print(name[1:3])將輸出 ‘li’
注:從起始位置開始取,結束位置不取
,最終輸出的長度為結束索引 - 起始索引
name = "Alice"
print(name[0])
print(name[1:4])
# -1?
print(name[-1]) # 負的會從后往前輸,相當于一個循環
print(name[-4:-2])
(二)字符串的拼接
什么是字符串?
字符串是由字符組成的序列,可以使用單引號 ' 或雙引號 "
括起來。例如:name='Alice’
字符串的拼接:
使用加號可以將兩個字符串拼接在一起。例如:greeting= “Hello”+ name
name = "Alice"
greeting = "Hello"
print(greeting + " " + name)print("1" + "1")
print("1" * 2)
print("Alice" * 5)str = "iloveu"
print(str[-3:-1]*2 + str[2:4])
三、運算符
(1)算數運算符
a = 2
b = 5
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
print("a ** b =", a ** b)
print("a // b =", a // b)
print("a % b =", a % b)
(2)比較運算符
所有比較運算符,返回1表示T rue,0表示F alse(注意首字母要大寫)
a = 2
b = 2.0
print("a > b :", a > b)
print("a < b :", a < b)
print("a >= b :", a >= b)
print("a <= b :", a <= b)
print("a == b :", a == b) # 即使數據類型不同,數值一樣,就是一樣
print("a != b :", a != b)
另:
浮點數存儲的有效位數有限,小數部分只能存儲一部分,在存儲范圍內a也是等于b的
(3)賦值運算符
(4)邏輯運算符
a = 1
b = 2
print(a == 1 and b == 3)
print(a == 1 or b == 3)
print(not b == 3)print(1 and 0)
print(1 or 0)
print(not 0)
(5)成員運算符
string = "hello alice"
char = "o a"
print(char in string)
練習:加法器
# a,b 得到的結果應該是字符串
a = input("請輸入第一個數字")
b = input("請輸入第二個數字")print("輸入的兩個數字之和是:", a + b)
print("輸入的兩個數字之和是:", int(a) + int(b))
四、復合數據類型
(一)列表 [ ]
列表是最常用的 Python 數據類型,它可以作為一個方括號內的逗號分隔值出現。列表的數據項不需
要具有相同的類型。創建一個列表只要把 逗號 分隔的不同的數據項使用方括號括起來可
ist0 = [1, '2', 3.0, True, "大家好"]
print(list0)
print(list0[1])
print(list0[1:4]) #index2 - index1 = 3
list0[2] = 5.0
print(list0)
(二)元組 ()
Python 的元組與列表類似,不同之處在于元組的元素不能修改
。元組使用小括號(),列表使用方括號[ ]。元組創建很簡單,只需要在括號中添加元素,并使用逗號隔開即可
(三)字典 { }
字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值 key=>value 對用冒號分割,每個對之間用逗號分割,整個字典包括在花括號中(key值必須唯一)
dict0 = {"第一個元素": 1, "第二個元素": '2', "第三個元素": 3.0, "第四個元素": True, "第五個元素": "大家好"}
print(dict0)
#字典中不可以通過索引序號來索引,只能通過key來索引
print(dict0["第二個元素"]) #print(dict0[1]) KeyError: 1
dict0["第三個元素"] = 5.0
print(dict0)dict0 = {"第一個元素": 1, "第二個元素": 1, "第三個元素": 3.0, "第四個元素": True, "第五個元素": "大家好"}
# 字典中如果出現重復的key,以第二次賦值為最后的賦值 --> key值必須唯一
dict0 = {"第一個元素": 1, "第一個元素": '2', "第三個元素": 3.0, "第四個元素": True, "第五個元素": "大家好"}
另:數組 { }(value值必須唯一)
#集合: 不允許重復的元素出現 True == 1 --> value值必須唯一
set0 = {1,2,3.0,True,"大家好"}
print(type(set0))
print(set0)
(四)運算符在復合數據類型中的運用
(1)
a = "hello"
b = "alice"
print(a + b)
a = [1,3,4,"2","alice"]
b = [100.0,"23",True]
print(a + b)
print(a * 2)
a = (1,3,4,"2","alice")
b = (100.0,"23",True)
print(a + b)
print(a * 2)
#a = {"第一個元素": 1, "第二個元素": 1, "第三個元素": 3.0, "第四個元素": True, "第五個元素": "大家好"}
#b = {"第一個元素": 1, "第二個元素": '2', "第三個元素": 3.0, "第四個元素": True, "第五個元素": "大家好"}
#print(a + b) 不允許
#print(a * 2) 不允許
(2)
a = [1,3,4,"2","alice"]
b = 1
print(b in a)
c = "li"
print(c in a) # 最后執行的判斷 c == "alice"
d = [4,"2"]
print(d in a) # a 中要有[4,"2"]此子列表才會返回True
(3)列表的快速去重
五、條件語句和循環語句
(一)if條件判斷
(二)for循環
for i in range(5): # ==range[0,1,2,3,4]print(i)for i in ["red","blue","green","black"]:print("當前的顏色是",i)num = 0
for i in range(5):for j in range(5):num += 1print("這是第",num,"次循環",i,j,i*j)
(三)while循環
target = 99
predict = 0
# 字符串的數字可以進行不相等的比較,可以一直不相等 --> 不加int(),循環就永遠不可能結束
while not int(predict) == target: # 相當于 while predict != target:predict = input("請進行一次猜測:")if int(predict) > target: # 注:input 得到的是字符!!!print("猜大了!")elif int(predict) < target:print("猜小了!")else:print("兩者相等")
print("恭喜猜中!")
完