iT邦幫忙

2024 iThome 鐵人賽

DAY 3
1
自我挑戰組

從零開始的Python到Django應用開發系列 第 3

Day 03. 常用 Function and Methods 1-1

  • 分享至 

  • xImage
  •  

Dear All:

身為船長的你只要把控這艘船的目的地是否正確,其餘雜事就交給其他夥伴來解決,就是Function and Methods。

函數(Functions):船上的「萬能水手」

想像你乘坐的這艘 Python 遊艇上有許多水手,他們是各種專業技能的高手,也就是 函數。這些水手有一個特點:你只要給他們明確的指令,他們就會獨立完成任務,無論是釣魚、調整船帆,還是做一頓美味的海鮮大餐。

每個水手只做他最擅長的事情,但他們不管你在航行中的具體情況。
他們會執行完任務後說:「搞定啦,老大,給你所需的結果!」

方法(Methods):船的「專屬機器人」

想像這艘Python遊艇本身擁有很多自帶功能的機器人——這些就是方法(Methods)。
他們跟船有很深的聯繫,知道如何操作這艘船的所有細節,因為他們屬於這艘船。

比如這艘遊艇有一個自動導航的機器人,專門負責調整航向,還有一個船身清潔的機器人專門打掃甲板。
這些方法(機器人)知道遊艇的狀態,比如速度、方向、清潔度等,並且根據這些信息進行操作。

https://ithelp.ithome.com.tw/upload/images/20240917/20115294r68JUCR7J7.png


就讓我來介紹一下常用的函數Functions吧!!

# print() 最基礎的輸出,傳統肯定要來一個"Hello world!"
print("Hello, World!")

# type() 顯示資料的類型
print(type(42))          # int
print(type("Hello"))     # str

# len() 獲取(如字串、列表)的長度
print(len("Hello"))     # 5
print(len([1, 2, 3]))   # 3

# int() 強制轉換成int類型
print(int("42"))        # 42

# float() 將數值或字串轉換為浮點數。
print(float("3.14")) # 3.14

# str() 轉換為字串
print(str(123)) # "123"

# list() 轉換為列表
print(list("abc")) # ['a', 'b', 'c']

# set() 創建集合
print(set([1, 2, 2, 3])) # {1, 2, 3}

# sorted() 回傳排序後的列表
print(sorted([3, 1, 2])) # [1, 2, 3]

# sum() 所有元素的總和
print(sum([1, 2, 3])) # 6

# max() 取最大值
print(max([1, 2, 3, 8, 19, 22, 7])) # 22

# min() 取最小值
print(min([1, 2, 3])) # 1

# abs() 取絕對值
print(abs(-5)) # 5

#round(數值,取到小數第幾位) 四捨五入數值,取小數點第幾位
print(round(3.14159, 2))  # 3.14

標準庫函數庫

在這邊順便解釋一下,何謂函數與標準函數庫:

  • 函數:就像你自己設計的食譜,靈活、專屬,但需要自己動手。
  • 標準庫函數:就像超市的現成速食包,隨時拿來用,方便高效。
    寫程式最常聽到的一句話「造車不用自己造輪子」

讓我們繼續往下進行!

collections 模塊


1. Counter 計數器:

  • 是一個用來計算元素出現次數的字典
  • 非常適合用來統計字符、單詞、物品等出現的頻率
from collections import Counter 
#"標準庫函數庫"都要: 說明 from 哪裡 improt 什麼


# 計算字母在字符串中的出現次數
letters = "banana"
letter_count = Counter(letters)
print(letter_count)  # 輸出:Counter({'a': 3, 'n': 2, 'b': 1})

# 計算列表中數字出現次數
numbers = [1, 2, 2, 3, 3, 3, 4]
number_count = Counter(numbers)
print(number_count)  # 輸出:Counter({3: 3, 2: 2, 1: 1, 4: 1})

常用場景:統計列表或字符串中元素的頻率。


2. defaultdict - 帶有默認值的字典

  • 自動為不存在的鍵分配默認值,避免 KeyError
from collections import defaultdict

# 默認值為 0 的字典
fruit_count = defaultdict(int)
fruit_count['apple'] += 1  # 自動初始化 'apple' 為 0
print(fruit_count)  # 輸出:defaultdict(<class 'int'>, {'apple': 1})

常用場景:當你希望每次訪問不存在的鍵時,自動生成默認值(例如:計數)。


3. deque - 雙端隊列

  • 高效地在隊列兩端進行添加或刪除操作。
from collections import deque

# 創建一個雙端隊列
d = deque([1, 2, 3])
d.append(4)  # 在右側添加
d.appendleft(0)  # 在左側添加
print(d)  # 輸出:deque([0, 1, 2, 3, 4])

d.pop()  # 移除右側
d.popleft()  # 移除左側
print(d)  # 輸出:deque([1, 2, 3])

常用場景:當需要頻繁在序列兩端插入或刪除元素時,比 list 更有效率。


相信對於新手船長腦袋已經嗡嗡作響!不過還是要自己codeing會更了解!

~~今日先打完收工~~

先祝大家中秋月圓人團圓!!

https://ithelp.ithome.com.tw/upload/images/20240917/201152949sJfP7i2wJ.png

進度更新表:

https://ithelp.ithome.com.tw/upload/images/20240917/20115294ZmvS9pTlSu.png


上一篇
Day 02.你不能不知道的PY潛規則
下一篇
Day 04. 常用 Function and Methods 1-2
系列文
從零開始的Python到Django應用開發8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言