條件判斷
????????條件判斷使用if
、elif
和else
關鍵字。它們用于根據條件執行不同的代碼塊。
# 條件判斷
age = 18
if age < 18:print("你還是個孩子!")
elif age == 18:print("永遠十八歲!")
else:print("你還年輕!")
循環
????????Python中有兩種主要的循環結構:for
循環和while
循環。
for
循環
? ?for
循環用于遍歷序列(如列表、元組、字符串等)中的每個元素。
# for循環 遍歷序列
array = ['test',1,[1,2,3,4,5]]
for arr in array:# 使用type函數判斷類型 類似于java的判斷類型instanceof 多進行類比if type(arr)==list:for a in arr:print('我是第二層循環:',a)else: print(arr)
# 循環字典 實例
disc = [{'name':'python','age':18},{'name':'java','age':18}]
for arr in disc:# 使用type函數判斷類型 類似于java的判斷類型instanceof 多進行類比if arr.get('name')=='python':print('我是python')else:print('我是java')
while循環
???????while
循環在條件為True
時重復執行代碼塊。
# while循環 比如累加計算
count = 0
total = 0
while count <= 100:count += 1total = total + count
print(total)
循環內部操作
關鍵字 | 作用 | 適用場景 |
---|---|---|
pass | 空操作,什么都不做,僅占位。 | 當語法上需要語句但邏輯上不需要操作時。在編寫代碼時,如果某些邏輯暫時不需要實現,但需要保持語法正確性,可以使用?pass(簡單來說就是保證語法的正確性) 。 |
continue | 跳過當前迭代的剩余代碼,直接進入下一次循環。 | 當需要跳過某些特定條件的迭代時。 |
break | 立即終止整個循環,不再執行后續迭代。 | 當滿足某個條件時需要提前退出循環時。 |
else | 當循環正常結束(未被?break ?中斷)時執行?else ?塊中的代碼。 | 當需要在循環正常結束后執行某些操作時。 |
# pass使用 當語法上需要語句但邏輯上不需要操作時 在編寫代碼時,如果某些邏輯暫時不需要實現,但需要保持語法正確性,可以使用 pass。可以點到range里看下 很多用到了pass
for i in range(10):if i == 2:passprint(f" i == {i} ")else:print(i)if i == 3:# 保證代碼的完整性 如果有復雜的代碼 需要待實現的部分就可以使用了pass
# continue跳過本次循環
for i in range(10):if i == 3:continueelse:print(i) # 打印結果 0-9 不含3
# break結束本次循環
for i in range(10):if i == 3:breakelse:print(i) # 打印結果 0 - 2
# else 除了break 不執行else外 其他的都會執行
for i in range(10):break
else:print("循環正常結束") # 因為break 不會被執行
for i in range(10):continue
else:print("循環正常結束") # 正常打印
for i in range(10):pass
else:print("循環正常結束") # 正常打印
列表操作
? ? ? ? 學到了循環,就要學習關于列表的元素的操作,其中包括查詢、修改、插入、刪除、排序等操作(實例:animal = ['dog','cat','elephant','rabbit']也可以看下面的查詢修改中的實例)。
操作 | 方法/語法 | 描述 | 示例 |
---|---|---|---|
查詢 | list[index] | 通過索引訪問元素,索引從?0 ?開始。 | animal[0] ?返回?" dog" |
list[-1]或者list[len(list)-1] | 訪問最后一個元素。 | animal[-1] ?或者animal[len(animal)-1]返回?"rabbit" | |
list[start:end] | 切片操作,獲取從?start ?到?end-1 ?的子列表。左開右閉區間。 | animal[0:2] ?返回?[" dog", "cat"] | |
list.index(value) | 返回第一個匹配元素的索引。 | animal.index("cat") ?返回?1 | |
value in list | 檢查元素是否在列表中。 | "monkey" in animal 返回?False | |
修改 | list[index] = value | 修改指定索引處的元素。 | animal[1] = "monkey" ?將?"cat" ?修改為?"monkey" |
list[start:end] = [values] | 修改切片范圍內的元素。 | animal[0:2] = ['giraffe','ant'] ?替換?"dog" ?和?"cat" | |
刪除 | del list[index] | 刪除指定索引處的元素。 | del animal[1] ?刪除?"cat" |
list.remove(value) | 刪除第一個匹配的元素。 | animal.remove(" elephant") ?刪除?" elephant" | |
list.pop(index) | 刪除并返回指定索引處的元素(默認刪除最后一個元素)。 | animal.pop(1) ?刪除并返回?"dog" | |
list.clear() | 清空列表中的所有元素。 | animal.clear() ?清空列表并返回?[] | |
插入 | list.append(value) | 在列表末尾添加一個元素。 | animal.append("rat") ?添加"rat" |
list.insert(index, value) | 在指定索引處插入一個元素。 | animal.insert(2, "lion") ?在索引?2 ?處插入?"lion" | |
list.extend(iterable) | 將另一個可迭代對象的所有元素添加到列表末尾。 | animal.extend(["fish", "shrimp"]) ?添加?"fish" ?和?"shrimp" | |
其他操作 | len(list) | 返回列表的長度。 | len(animal) ?返回?4 |
list.sort() | 對列表進行排序(默認升序)。 | animal.sort() ?排序列表 | |
list.reverse() | 反轉列表中的元素順序。 | animal.reverse() ?反轉列表 | |
list.copy() | 返回列表的淺拷貝。深拷貝方法為deepcopy() | new_animal = animal.copy() ?創建?animal 的副本 | |
list.count(value) | 返回列表中匹配元素的個數。 | animal.count("cat") ?返回?1 |
查詢
# 列表查詢操作 通過索引訪問元素,索引從0開始。
animal = ['dog','cat','elephant','rabbit']
# 獲取cat
print(animal[1]) # 輸出:cat
# list[-1] 函數訪問最后一個函數 或者 list[len()-1]
print(animal[len(animal)-1]) # 輸出:rabbit
# list[start:end] 切片操作,獲取從start到end-1的子列表。左閉右開
print(animal[0:2]) # 輸出:['dog', 'cat']
# list.index(value) 返回第一個匹配元素的索引。
print(animal.index('cat')) #輸出:1
# in 是否在集合中
print('monkey' in animal) #輸出:false
修改
# 列表修改操作
animal = ['dog','cat','elephant','rabbit']
# cat修改為monkey
animal[1]= 'monkey'
print(animal) # 輸出: ['dog', 'monkey', 'elephant', 'rabbit']
# list[start:end] = [values] 修改切片范圍內的元素。 dog和monkey修改為giraffe和ant 注意使用[1,2]會變成添加['dog', 'giraffe', 'ant', 'elephant', 'rabbit']考慮為什么
animal[0:2]= ['giraffe','ant']
print(animal) # 輸出: ['dog','monkey','giraffe','ant']
刪除
# 列表刪除操作
animal = ['dog','cat','elephant','rabbit']
# del list[index] 刪除指定索引處的元素。
del animal[1]
print(animal) # 輸出: ['dog', 'elephant', 'rabbit']
# list.remove(value) 刪除第一個匹配的元素。
animal.remove('elephant')
print(animal) # 輸出: ['dog', 'rabbit']
# list.pop(index) 刪除并返回指定索引處的元素(默認刪除最后一個元素)。
animal.pop()
print(animal) # 輸出: ['dog']
# list.clear() 清空列表中的所有元素。 animal.clear()清空列表
animal.clear()
print(animal) # 輸出: []
插入
# 列表添加操作
animal = ['dog','cat','elephant','rabbit']
# list.append(value) 在列表末尾添加一個元素
animal.append('rat')
print(animal) # 輸出: ['dog','cat','elephant','rabbit','rat']
# list.insert(index, value) 在指定索引處插入一個元素。
animal.insert(2,'lion')
print(animal) # 輸出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat']
# list.extend(iterable) 將另一個可迭代對象的所有元素添加到列表末尾。 shrimp蝦
animal.extend(['fish','shrimp'])
print(animal) # 輸出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat', 'fish', 'shrimp']
??其他操作
# 列表其他操作
animal = ['dog','cat','elephant','rabbit']
# len(list) 返回列表的長度。
print(len(animal)) # 4
# list.sort() 對列表進行排序(默認升序)。
animal.sort()
print(animal) # ['cat', 'dog', 'elephant', 'rabbit']
# list.reverse() 反轉列表中的元素順序。
animal.reverse()
print(animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.copy() 返回列表的淺拷貝。
new_animal = animal.copy()
print(new_animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.count(value) 返回列表中匹配元素的個數。
print(animal.count('cat')) # 1
代碼塊
????????在Python中,代碼塊是通過縮進來定義的。通常使用4個空格或一個Tab鍵(跟java不同的是使用代碼縮進來完成java代表是以{開始或者以}結束為一個代碼塊)來縮進。代碼塊用于組織代碼,使其在邏輯上成為一個整體。
# 這是一個代碼塊 input函數式輸入框 類似與java的system.in輸入 系統輸入
s = int(input('請輸入一個數字:'))
if s > 0: # 也可以寫if(s >0 )但是沒必要 因為python給個提示建議去掉 保證代碼的按照縮進來進行更加規范print("這個數字是大于0的數字!") # 這行代碼屬于if語句的代碼塊
elif s == 0:print("這個數字是等于0的數字!") # 這行代碼屬于elif語句的代碼塊
else:print("這個數字是小于0的數字!") # 這行代碼屬于else語句的代碼塊
方法塊
????????在Python中,使用def
關鍵字來定義函數。函數是一段可重用的代碼,可以接受參數并返回結果。
# def來定義方法
def method1(name,age):print('姓名:'+name,'年齡:'+age)
input(method1('python','18'))