謝舒凱
pic.by DALL-E 3
More advanced Python programming concepts and skills necessary to excel as a data scientist.
Simple deployment of a DS (web) app
def greet(name): return f"Hi, {name}!"
greet
上面的例子,我們用到了 f-string (formatted string literals),它是 Python 3.6 及以上版本中新增的一個功能,用簡潔而直觀的方式來格式化字串(嵌入變數和表達式)。你可以在字串前加上字母 "f",並在字串中使用大括號 {} 來插入變量的值。
f-string
如果使用之前 str.format() 方法時,我們將變數放在字串的外部,並使用 {} 作為佔位符:
str.format()
def greet(name): return "Hi, {}!.format(name)"
f-string 和 str.format() 生成的結果是相同的,但 f-string 提供了一種更簡潔和直觀的語法,效能也更快。
f-string 不僅可以插入變數,還可以插入任意表達式的結果。
x = 3 y = 4 result = f"The sum of {x} and {y} is {x + y}."
add = lambda x, y: x + y
等同於
def add(x, y): return x + y
greet_lambda = lambda name: f"Hello, {name}!"
說到簡潔,就順道談一下語法糖
一種程式設計語言的語法特性,它讓程式碼更容易閱讀和寫作,但並不增加語言的功能。換句話說,它是一種為了使程式碼更加「甜美」(易讀和易寫)的語法。
我們之前已經介紹過的 list comprehension, f-string 就是一種語法糖。
# 普通方式 squares = [] for x in range(10): squares.append(x**2) # List comprehension (更「甜美」的建立列表的語法。) squares = [x**2 for x in range(10)]
1 < x < 10 # equivalent to 1 < x and x < 10 {key: value for key, value in d.items()} # Dict comprehension x = something if condition else otherthing # python ternary a += 1 # equivalent to a = a + 1
import
# math_operations.py def add(a, b): return a + b def subtract(a, b): return a - b #我們可以在其他地方這樣使用: import math_operations result = math_operations.add(3, 4)
import module_name
import math result = math.add(3, 4)
import module_name as alias_name
import math as m result = m.add(3, 4)
from module_name import function_name
from math import add result = add(3, 4)
my_package/ __init__.py module1.py module2.py
import my_package.module1
函式庫通常指的是一組相關的模組或套件,它們提供一些相關的功能或工具,並且通常由第三方提供(也就是說,它們不是 Python 標準庫的一部分)。
函式庫可以包括一個或多個模組或套件。通常是為了實現一組相關的功能或提供一組相關的工具或方法。
例如,requests 是一個流行的 HTTP 請求函數庫。我們可以這樣安裝和使用它:
requests
pip install requests
import requests response = requests.get("https://www.example.com")
協助開發者輕鬆地安裝、管理和更新函式庫與套件(libraries/packages)
pip
pip install package_name
conda 是一個開源的套件管理系統,也是一個環境管理系統。這意味著它不僅可以管理套件,還可以管理你的工作環境。通常與 Anaconda 發行版一起使用。
conda
poetry 晚近處理套件之間的依存關係的強大工具。
poetry
有了套件的支援,我們可以使用 Python 來進行資料科學的工作。(站在社群的肩膀上)
常用的套件有:
pip install pyforest
正規表達式是一種用於匹配字符串的(輕量語言)。它們可以用於檢查字符串是否包含特定的字符、子串或模式。它們還可以用於從字符串中提取子字符串。
網路教學很多
用這個視覺化工具來練習
streamlit
textblob
nltk
pip install streamlit textblob nltk
import nltk nltk.download('wordnet')
用文本情緒分析來練習非結構性數據
分享在 Replit
用南極洲的帕默群島 (Palmer Archipelago) 企鵝來練習處理結構性數據
https://lopentu.github.io/nlp_web/slides/week2.html#23
在這個例子中,requests.get 是從 requests 函數庫中導入的一個函數,它發送一個 HTTP GET 請求。
你可以使用 import 語句來導入和使用模組、套件或函式庫中的函數和類。