20 個解決日常問題的 Python 程式碼片段

數據分析那些事
7 min readNov 30, 2022

--

在本文中,將分享20 個 Python 程式碼片段,以幫助你應對日常程式設計挑戰。你可能已經知道其中一些片段,但有些其他片段對你來說可能是新的。趕緊使用這些有用的 Python 程式碼片段提升你的程式設計技能吧。

1. 簡單的 HTTP Web 伺服器

# 簡單的 HTTP 伺服器
import socketserver
import http.serverPORT = 8000 handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), handler) as http:
print("Server Launch at Localhost: " + str(PORT))
http.serve_forever()#在瀏覽器中輸入http://127.0.0.1:8000/

2.單行迴圈List

mylist = [10, 11, 12, 13, 14]
print([i * 2 for i in mylist]) # [20, 22, 24, 26, 28]
print([i * 5 for i in mylist]) # [50, 55, 60, 65, 70]

3.更新字典

# 更新字典
mydict = {1: "Python", 2: "JavaScript", 3: "Csharp"}
mydict.update({4: "Dart"})
print(mydict) # {1: 'Python', 2: 'JavaScript', 3: 'Csharp', 4: 'Dart'}

4.拆分多行字串

# 拆分多行字串
string = "Data \n is encrpted \n by Python"
print(string)
# Output
# Data
# is encrpted
# by Python
splited = string.split("\n")
print(splited) # ['Data ', ' is encrpted ', ' by Python']

5. 跟蹤列表中元素的頻率

# Track Frequency
import collections
def Track_Frequency(List):
return dict(collections.Counter(List))
print(Track_Frequency([10, 10, 12, 12, 10, 13, 13, 14]))
# Output
# {10: 3, 12: 2, 13: 2, 14: 1}

6. 不使用 Pandas 讀取 CSV 檔案

# 簡單的類建立
import csv
with open("Test.csv", "r") as file:
read = csv.reader(f)
for r in read:
print(row)
# 輸出
# ['Sr', 'Name', 'Profession']
# ['1', '小猴子', '資料探勘工程師']
# ['2', '雲朵君', '演算法工程師']

7. 將列表壓縮成一個字串

# 壓縮字串列表
mylist = ["I learn", "Python", "JavaScript", "Dart"]
string = " ".join(mylist)
print(string) # I learn Python JavaScript Dart

8. 獲取列表中元素的索引

# 獲取列表中元素的索引
mylist = [10, 11, 12, 13, 14]
print(mylist.index(10)) # 0
print(mylist.index(12)) # 2
print(mylist.index(14)) # 4

9. *arg 的魔法

# *arg 的魔法
def func(*arg):
num = 0
for x in arg:
num = num + x
print(num) # 600
func(100, 200, 300)

10. 獲取任何資料的型別

# 獲取任意資料的型別
data1 = 123
data2 = "Py"
data3 = 123.443
data4 = True
data5 = [1, 2]

print(type(data1)) # <class 'int'>
print(type(data2)) # <class 'str'>
print(type(data3)) # <class 'float'>
print(type(data4)) # <class 'bool'>
print(type(data5)) # <class 'list'>

11.修改列印函式

# 修改列印函式
print("頂級程式語言是 %r, %r 和 %r" % ('Py', 'Js', 'C#'))
# 輸出
# 頂級程式語言是“Py”、“Js”和“C#”

12. 字串去大寫

# 字串的去大寫
data1 = "ABCD"
data2 = "Py"
data3 = "Learn Coding"
print(data1.lower()) # abcd
print(data2.lower()) # py
print(data3.lower()) # learn coding

13. 快捷變數交換方式

# 快速交換變數的方法
d1 = 25
d2 = 50
d1, d2 = d2, d1
print(d1, d2) # 50 25

14. 帶分隔符列印

# 帶分隔符列印
print("Py", "Js", "C#", sep="-") # Py-Js-C#
print("100", "200", "300", sep="x") # 100x200x300

15. 獲取網頁 HTML 資料

# 使用 pip 安裝請求的第一個安裝請求匯入請求
r = requests.get("https://www.baidu.com/s?wd=資料STUDIO ")
print(r) # 顯示整頁html資料

16. 獲取資料佔用記憶體

# 獲取資料佔用的記憶體匯入系統
import sys
def memory(data):
return sys.getsizeof(data)
print(memory(100)) # 28
print(memory("Pythonnnnnnn")) # 61

17. 簡單的類建立

# 簡單的類
class Employee:
def __init__(self, empID):
self.empID = empID
self.name = "Haider"
self.salary = 50000

def getEmpData(self):
return self.name, self.salary
emp = Employee(189345)
print(emp.getEmpData()) # ('Haider', 50000)

18. 字串乘法器

# 字串乘數# 
# 正常方式
for x in range(5):
print("C#")

# 更好的方式
print("C# "*5) # C# C# C# C# C#

19.鏈式比較

# 鏈式比較
a = 5
print(1 == a < 2) # False
print(2 < 3 < 6 > a) # True

20. 數位化整數值

# 數位化
integer = 234553
digitz = [int(i) for i in str(integer)]
print(digitz) # [2, 3, 4, 5, 5, 3]

文章連結:https://python.plainenglish.io/20-python-code-snippets-for-everyday-programming-problems

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推薦

餅圖變形記,肝了3000字,收藏就是學會!

MySQL必須掌握4種語言!

太實用了!4種方法教你輕鬆製作互動式儀表板!

跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求

妙呀!一行Python程式碼

--

--

數據分析那些事
數據分析那些事

Written by 數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

No responses yet