《Python - 100天從新手到大師》Day01-07 筆記

https://github.com/jackfrued/Python-100-Days

Day02 語言元素

  • 可以使用 type 函數對變量的類型進行檢查
  • 可以使用Python中內置的函數對變量類型進行轉換
    在這裏插入圖片描述

Day03 分支結構

  • 構造分支結構可以使用 if、elif和else 關鍵字
  • 能使用 扁平化 的結構時就不要使用嵌套
  • 如果明確的知道循環執行的次數或者要對一個容器進行迭代,那麼推薦使用 for-in循環
sum = 0
for x in range(2,101,2):
	sum += x
print(sum)

在這裏插入圖片描述

Day04 循環結構

  • 如果要構造不知道具體循環次數的循環結構,推薦使用 while循環
  • break 關鍵字來提前終止循環
  • continue 用來放棄本次循環後續的代碼直接讓循環進入下一輪

Day06 函數和模塊的使用

  • 不確定參數個數時,用可變參數
def add(*args):
	total = 0
	for val in args:
		total += val
	return total
  • 只有被Python解釋器直接執行的模塊的名字纔是__main__
if __name__ == '__main__':
	print('yes')
  • Python查找一個變量時會按照“局部作用域”、“嵌套作用域”、“全局作用域”和“內置作用域”的順序進行搜索
  • 可以使用 global 關鍵字來指示變量來自於全局作用域
def foo():
    global a
    a = 200
    print(a)  # 200
    
if __name__ == '__main__':
    a = 100
    foo()
    print(a)  # 200
  • 可以使用 nonlocal 關鍵字來指示變量來自於嵌套作用域

Day07 字符串和常用數據結構

  • + 運算符來實現字符串的拼接
  • *運算符來重複一個字符串的內容
  • innot in 來判斷一個字符串是否包含另外一個字符串
s1 = 'hello ' * 3
print(s1) # hello hello hello 
  • 數值類型是標量類型,也就是說這種類型的對象沒有可以訪問的內部結構;而字符串類型是一種結構化的、非標量類型,所以纔會有一系列的屬性和方法
list1 = [1, 3, 5, 7, 100]
# 添加元素
list1.append(200)
list1.insert(1, 400)
# 合併兩個列表
# list1.extend([1000, 2000])
list1 += [1000, 2000]
print(list1) # [1, 400, 3, 5, 7, 100, 200, 1000, 2000]
print(len(list1)) # 9
# 先通過成員運算判斷元素是否在列表中,如果存在就刪除該元素
if 3 in list1:
	list1.remove(3)
if 1234 in list1:
    list1.remove(1234)
print(list1) # [1, 400, 5, 7, 100, 200, 1000, 2000]
# 從指定的位置刪除元素
list1.pop(0)
list1.pop(len(list1) - 1)
print(list1) # [400, 5, 7, 100, 200, 1000]
# 清空列表元素
list1.clear()
print(list1) # []
list2 = sorted(list1)
# sorted函數返回列表排序後的拷貝不會修改傳入的列表
# 函數的設計就應該像sorted函數一樣儘可能不產生副作用
list3 = sorted(list1, reverse=True)
# 通過key關鍵字參數指定根據字符串長度進行排序而不是默認的字母表順序
list4 = sorted(list1, key=len)
  • 元組 中的元素是無法修改的,可以轉換爲列表再修改;如果不需要對元素進行添加、刪除、修改的時候,可以考慮使用元組,當然如果一個方法要返回多個值,使用元組也是不錯的選擇
  • 元組在創建時間和佔用的空間上面都優於列表
  • Python中的 集合 跟數學上的集合是一致的,不允許有重複元素,而且可以進行交集、並集、差集等運算
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章