Python

 

by 洪翠憶

PYTHON

Content

 課程內容

PYTHON
  • 基本語法(兩堂課解決)

    • 輸入/輸出
    • 資料型態
    • 條件判斷
    • 迴圈
    • 函式
    • ...
  • 函式庫

    • numpy
    • matplotlib
    • pytorch
    • pandas
    • ...
  • 稍難的語法

    • 容器
    • class
    • 迭代器
    • 正規表示式
    • ...

Rule

 課堂規則

PYTHON
  • 一定要聽課

  • 有問題可以直接問(開麥/打字都可以)

  • 如果可以的話,上課期間讓電腦在你旁邊

  • 需要請假的話不用告知

  • 有空記得上機練習

  • 可以拿講師做梗圖

Introduction

 講師簡介

PYTHON

洪翠憶

中山女高資訊研究社(楓資)

程式教學學長

Discord:KonoDioDa

FB/IG/Line/Google:洪翠憶

程式語言:C++、Python

興趣:看動漫、玩手機、寫程式

請多指教!

Q&A

 大家給我的話~(截至今日6:30pm)

PYTHON

Q&A

 大家給我的話~(截至2021/10/25)

PYTHON

Feature and IDE

PYTHON

Feature

 Python的特色

PYTHON
  • 支援多種編寫方式

  • 強制縮排、自動記憶體管理

  • 應用於大數據分析、物聯網、人工智慧等等

  • 豐富函式庫

  • 執行較慢

雖然大家都知道這些

不過不講好像太不負責

還是講一下好了

Comment

 Python註解方式

PYTHON
#單行註解

"""
多行註解
('或"都可以)
"""

Python IDE

 Python編輯器

PYTHON

Resource

 幫助精進Python的網頁

PYTHON

接下來這個學期

一起加油吧!

Data Type

PYTHON
PYTHON

數值:int, float, complex

文字:str, chr

容器:list, tuple, range

字典:dict

集合:set, frozenset

布林:bool

二進位:bytes, bytearray, memoryview

Numeric Type

 數值型態

PYTHON
  • int

    • 整數
    • 例:5, 19, ...
  • float

    • 浮點數
    • 可存e指數
    • 由於硬體限制無法非常精準
    • 例:3.14, 1.496e11, ...
  • complex

    • 複數(虛數運算)
    • 用j表示(數學中通常用i表示)
    • 例:8j, (2+3j), complex(2, 3), ...

Text Type

 文字型態

PYTHON
  • str

    • 字串
    • 用「'」或「"」括起
    • 可用切片(slice)選取內容
    • 不是字元陣列
    • format()
    • 例:"hello", 'a', ...
  • chr

    • 字元
    • 例:chr(65), ...

Sequence Type

 容器型態

PYTHON
  • list

    • 串列
    • 可用切片(slice)選取內容
    • 內容以[]包住
    • 例:[1, 2], ["hi", "hello"], ...
  • tuple

    • 元組
    • 可用切片(slice)選取內容
    • 內容以()包住(也可不用())
    • 內容不允許被修改、刪除
    • 例:(1, 2), ("hi", "hello"), ...
  • range

    • range(<頭 *預設為0>, [尾 *不含自己], <增加 *預設為1>)
    • 例:range(2), range(1, 10, 2), ...

Mapping Type

 映射型態

PYTHON
  • dict

    • 字典
    • 由鍵(key)與值(value)組成
    • 內容以{}括住
    • 可新增、更新、刪除資料
    • 支援迭代器(iterator)
    • 例:{"taiwan" : "taipei", "japan" : "tokyo"}, ...

Set Type

 集合型態

PYTHON
  • set

    • 集合
    • 無順序
    • 內容以{}括住
    • 可新增、更新、刪除資料
    • 例:{1, 2, 3}, {"dog", "cat", "rabbit"}, ...
  • frozenset

    • 與集合幾乎一樣
    • 無法改變資料
    • 例:frozenset({1, 2, 3}), ...

Boolean Type

 布林型態

PYTHON
  • bool

    • 布林
    • 只有True, False
    • 只有 False, None, 0, "", (), [], {} 會回傳False
    • 例:True, 3>5, ...

Binary Type

 位元型態

PYTHON
  • bytes

    • 位元組
    • bytes(大小或內容)
    • 例:bytes([1, 2]), b"hi", ...
  • bytearray

    • 位元組陣列
    • 可以改變
    • 例:bytearray([1, 2]), ...
  • memoryview

    • 可用slice
    • 可以改變
    • 例:memoryview(bytes([1, 2])), ...

Operator

PYTHON
PYTHON

and vs or

 "和"與"或"的比較

PYTHON
  • and: 所有條件都要成立

  • or: 其中一項條件有成立即可

Input / Output

PYTHON

print()

 輸出

PYTHON
  • *objs: 輸出內容

  • sep: 分隔符號

  • end: 結束符號

  • file: 被寫入的檔案

  • flush: 是否刷新

print(*objs, sep=' ', end='\n', file=sys.stdout, flush=False)

input()

 輸入

PYTHON
  • *prompt: 提示訊息

  • 輸入值為字串

input(*prompt)

Variable

PYTHON

variable

 變數

PYTHON
  • 變數名稱可用字母、數字、底線

  • 名稱不可以數字開頭

  • 可一次宣告多個變數

  • 沒有宣告關鍵字

  • 宣告後可改型態

  • 區分大小寫

global vs local

 全域變數 vs 區域變數

PYTHON

Conditions

PYTHON

if-else

 if條件式

PYTHON
if 條件式:
  陳述句
  陳述句
elif 條件式:
  陳述句
  陳述句
else:
  陳述句
  陳述句

if-else

 其他的寫法

PYTHON
變數名稱 = (條件) and True的回傳值 or False的回傳值

變數名稱 = [False的回傳值, True的回傳值][條件]

變數名稱 = True的回傳值 if 條件 else False的回傳值

nested

 巢狀用法

PYTHON

Loop

PYTHON

while

 while迴圈

PYTHON
while 條件:
  陳述句

條件為true時跑迴圈

for

 for迴圈

PYTHON
for 變數 in 序列:
  陳述句

序列可為list, dict, tuple, set或字串

break & continue

 break vs continue

PYTHON

break: 跳脫整個迴圈

continue: 跳過此次迴圈

else

 迴圈的else

PYTHON

若完整執行迴圈沒遇到break時,會執行else內的語句

Function

PYTHON

define a function

 宣告函式

PYTHON
  • 函式名稱可用字母、數字、底線

  • 名稱不可以數字開頭

  • 區分大小寫

def 函式名稱(參數1, 參數2, ...):
  陳述句
  陳述句

call a function

 呼叫函式

PYTHON
  • 無論該函式是否有參數,都須打()

return & pass

 return跟pass的用法

PYTHON
  • return: 回傳一個值並結束函式

  • pass: 為了不讓空白函式執行錯誤而填入的

argument

 函數的參數

PYTHON
def arbitrary_argument(*參數名稱):
  pass	#不受宣告參數數量限制

def arbitrary_keyword_arguments(**參數名稱):
  pass	#不受宣告參數數量限制外,可以像dict一樣自訂索引值

def default_parameter_value(參數名稱 = 參數預設值):
  pass	#可以先設定參數預設值
  • 可以是任何型態

  • 用「,」分隔每個參數

recursion

 遞回

PYTHON
  • 函式自己呼叫自己

practice

 練習題

PYTHON

https://snakify.org/en/lessons/functions/problems/negative_power/

題目:

給定一個正實數 a 和整數 n,請計算a的n次方。

編寫一個函數 power(a, n) ,使用該函數計算結果並打印表達式的結果。

不要使用標準庫中的相同函數。

answer

 參考解答

PYTHON
def power(a, n):
    if n == 0:
        return 1
    elif n < 0:
        return 1 / (a * power(a, -n-1))
    else:
        return a * power(a, n-1)
    
print(power(float(input()), int(input())))

practice

 練習題

PYTHON

https://snakify.org/en/lessons/functions/problems/fibonacci_rec/

題目:

給定一個非負整數 n,打印第 n 個費氏數列的值。 為此,請編寫一個函數 fib(n),該函數採用非負整數 n 並返回第 n 個費氏數列的值

不要使用迴圈,而是使用遞迴。 但是,您應該考慮為什麼遞迴方法比使用迴圈慢得多。

answer

 參考解答

PYTHON
def fib(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fib(n-1) + fib(n-2)

print(fib(int(input())))

Lambda

PYTHON

what is lambda

 Python lambda 介紹

PYTHON
  • 匿名函式

  • 只能有一個表示式

變數 = lambda 參數1, 參數2, ...: 表示式

methods of lambda

 Python lambda 的應用

PYTHON
filter(lambda 參數: 表示式, 序列)
#回傳符合表示式條件的序列內容

map(lambda 參數: 表示式, 序列)
#回傳經過表示式運算的序列內容

sorted(序列, key = lambda 參數: 表示式)
#可用lambda寫sorted的key

function vs lambda

 Python lambda 和 function 的比較

PYTHON
function lambda
是否需要定義名稱 v x
是否可以擁有多行運算式 v x
回傳結果方式 遇到return關鍵字時 運算完自動回傳

try-except

PYTHON

syntax

 try-except語法

PYTHON
try:
  欲嘗試的程式碼
except 錯誤類型(選填):
  上述程式無法執行時執行的程式碼
try:
  陳述句
except:
  陳述句
else:
  try的陳述句可順利執行時也執行這句
try:
  陳述句
except:
  陳述句
finally:
  try-except檢查完時執行這句

raise an exception

 語法

PYTHON
raise 錯誤種類(顯示訊息)

(錯誤種類列表見附錄)

Class & Object

PYTHON

object-oriented programming (OOP)

 物件導向程式設計概念

PYTHON
  • 具有物件(Object)概念

  • 能提高軟體的重用性、擴充性及維護性

  • 常應用於開發大型應用程式

  • 物件導向程式語言包含Python、C++、Java等

class and object

 類別物件的關係

PYTHON
  • 類別(class):類似設計圖,會定義未來產生物件時所擁有的屬性及方法

  • 物件(object):是類別的實例

syntax

 class語法、如何建立與使用物件

PYTHON
class 類別名稱:
  def __init__(self, 其他屬性):
    建構式內容
  
  def 方法名稱(self, 其他參數):
    方法內容
    
  內容
物件名稱 = 類別名稱(建構式的屬性)
物件名稱.方法名稱(參數1, 參數2, ...)

constructor

 建構式

PYTHON
  • 建立物件的同時,會自動執行的方法

  • 通常在此初始化物件的屬性

  • 至少要有一個self參數

  • 沒有回傳型別

  • __init__

method in class

 類別裡的方法

PYTHON
  • 至少要有一個self參數

  • 可以想像是物件的行為

  • 和函式很像

  • self:代表了實體物件的參考

inheritance

 類別的繼承

PYTHON
  • 父類別(parent class):被繼承的類別,或稱基底類別(base class)

  • 子類別(child class):會繼承父類別,擁有父類別公開的屬性及方法

class 子類別名稱(父類別):
  def __init__(self, 其他屬性):
    父類別.__init__(self, 其他屬性)	#super().__init__(self, 其他屬性)
    其他建構式內容
  
  def 方法名稱(self, 其他參數):
    方法內容

example

 範例

PYTHON

Iterator

PYTHON

what is iterator

 迭代器介紹

PYTHON
  • 可迭代的物件

  • 可迭代物件:Lists,、tuples、 dictionaries、 sets等等,可從中取得迭代器

create an iterator

 用class創造迭代器

PYTHON

List

PYTHON

create a list

 宣告串列

PYTHON
  • 命名規則與變數相同

  • 內容有編號、有順序、可改值、可重複出現

  • 可將不同型態的值存入同個陣列

  • 內容用[]括起

串列名稱 = [值0, 值1, ...]

slice

 切片

PYTHON
  • 可用於串列、字串

  • 有頭無尾

變數 = 串列/字串[開始:結束:間隔]

change list items

 改變串列元素

PYTHON
串列[要修改的範圍(slice)] = [值, ...]

串列.append(值)	#在串列最後新增值

串列.insert(索引值, 值)	#在串列指定索引值的地方新增值

串列.extend(另一個序列)	#在串列最後合進去另一個序列

串列.remove(值)	#刪除串列中指定的值

串列.pop()	#刪除串列中最後面的值

串列.clear()	#清空串列

del 串列	#徹底刪除串列

+ and * in list

 串列的+和*

PYTHON
  • +:合併串列

  • *:合併n次串列

split and join

 與字串的轉型

PYTHON
變數 = 字串.split(分隔符號)#字串轉串列

變數 = 分隔符號.join(串列)	#串列轉字串

operations on list

 串列的一些操作

PYTHON
變數 = 串列.count(值)	#數值在串列中出現幾次

變數 = 串列.index(值)	#值在串列中的索引值

值 in 串列/值 not in 串列	#串列中有/沒有值,回傳值為布林

變數 = max(串列)	#串列中的最大值

變數 = min(串列)	#串列中的最小值

other methods

 其他串列的方法

PYTHON
變數 = 串列.copy()#將串列的值複製一份到新的串列

串列.reverse()	#反轉串列

串列.sort()	#排序串列

變數 = len(串列)	#串列長度

for in list

 串列搭配for迴圈

PYTHON
串列 = [值 for 變數 in 序列]

串列 = [值 for 變數 in 序列 if 條件]

practice

 練習題

PYTHON

https://snakify.org/en/lessons/lists/problems/even_indices/

題目:

給定一串數字,裝入串列並打印索引值為偶數的所有串列元素。 (例: A[0]、A[2]、A[4]、...)。

answer

 參考解答

PYTHON
a = [int(i) for i in input().split()]
for i in range(0, len(a), 2):
    print(a[i])

practice

 練習題

PYTHON

https://snakify.org/en/lessons/lists/problems/greater_than_neighbours/

題目:

給定一串數字,存入串列並打印符合條件的元素的數量:大於它們兩個隔壁(鄰居)元素的元素。
不應考慮串列的第一項和最後一項,因為它們沒有兩個鄰居。

answer

 參考解答

PYTHON
a = [int(i) for i in input().split()]
b = 0
for i in range(1, len(a)-1):
    if a[i - 1] < a[i] and a[i + 1] < a[i]:
        b += 1
print(b)

practice

 練習題

PYTHON

https://snakify.org/en/lessons/two_dimensional_lists_arrays/problems/scale_matrix/

題目:

給定兩個正整數 m 和 n,之後的輸入有m 行 n 個元素,給出一個 m×n 矩陣 (二維串列)A,最後一行輸入一個整數 c,將矩陣的每個元素乘以 c 並打印結果。

answer

 參考解答

PYTHON
l1 = [int(i) for i in input().split()]
A = [[int(i) for i in input().split()] for i in range(l1[0])]
l2 = int(input())
for i in range(l1[0]):
    for j in range(l1[1]):
        A[i][j] = A[i][j] * l2
    print(" ".join([str(l2) for l2 in A[i]]))

practice

 練習題

PYTHON

https://snakify.org/en/lessons/two_dimensional_lists_arrays/problems/2d_max/

題目:

給定兩個整數表示行和列 (m×n),以及後續 m 行的 n 個元素,找到最大元素的索引位置並打印兩個值表示索引(i×j,行號和列號的索引值)。如果不同行中存在多個這樣的元素,則打印行號較小的那個。 如果同一行出現多個這樣的元素,則輸出最小的列號。

answer

 參考解答

PYTHON
b = [int(i) for i in input().split()]
a = [[int(i) for i in input().split()] for j in range(b[0])]
c = a[0][0]
d = [0, 0]
for k in range(b[0]):
    for l in range(b[1]):
        if a[k][l] > c:
            c = a[k][l]
            d[0], d[1] = k, l
print(" ".join(str(i) for i in d))

APCS(2021/11/7) Q1

 練習題

PYTHON

answer

 參考解答

PYTHON
n = int(input())
h = [int(i) for i in input().split()]
ans = 0

for i in range(n):
    if h[i] == 0:
        if i == 0:
            ans += h[1]
        elif i == n-1:
            ans += h[n-2]
        else:
            ans += [h[i-1], h[i+1]][h[i+1] < h[i-1]]

print(ans)

Tuple

PYTHON

create a tuple

 宣告元組

PYTHON
  • 命名規則與變數相同

  • 內容有順序、不可改值、可重複出現相同值

  • 可將不同型態的值存入同個tuple

  • 可用slice、join()、+、*

  • 內容用()括起

tuple名稱 = (值0, 值1, ...)

operations/methods on tuple

 元組的一些操作、方法

PYTHON
變數 = tuple名稱.count(值)	#數值在tuple中出現幾次

變數 = tuple名稱.index(值)	#值在tuple中的索引值

值 in tuple名稱/值 not in tuple名稱	#tuple中有/沒有值,回傳值為布林

變數 = len(tuple名稱)	#取tuple大小

變數 = max(tuple名稱)	#tuple中的最大值

變數 = min(tuple名稱)	#tuple中的最小值

Set

PYTHON

create a set

 宣告集合

PYTHON
  • 命名規則與變數相同

  • 內容無編號無順序、可改值、不可重複出現

  • 可將不同型態且不變的值存入同個集合

  • 內容用{}括起

集合名稱 = {值0, 值1, ...}

operations on list

 集合的運算子

PYTHON
集合 = 集合A | 集合B #A與B的聯集
集合 = 集合A.union(集合B)

集合 = 集合A & 集合B #A與B的交集
集合 = 集合A.intersection(集合B)

集合 = 集合A - 集合B #A對B的差集
集合 = 集合A.difference(集合B)

集合 = 集合A ^ 集合B #A與B兩者的差集和(聯集-交集)
集合 = 集合A.symmetric_difference(集合B)

集合A.isdisjoint(集合B)	#如果A與B之間沒有交集,回傳True

operations on list

 集合的運算子

PYTHON
集合A <= 集合B	#集合A是否為集合B的子集合,回傳值為布林
集合A.issubset(集合B)

集合A >= 集合B	#集合B是否為集合A的子集合,回傳值為布林
集合A.issuperset(集合B)

值 in 集合/值 not in 集合	#集合中有/沒有值,回傳值為布林

變數 = max(集合)	#串列中的最大值

變數 = min(集合)	#串列中的最小值

change set items

 改變集合元素

PYTHON
集合.update(另一個序列)	#在集合中合進去另一個序列
集合A |= 集合B	#用運算子的寫法,但只適用於集合對集合

集合.intersection_update(另一個序列)	#將集合更新成與另一序列的交集
集合A &= 集合B

集合.difference_update(另一個序列)	#將集合中與另一個序列的交集移除
集合A -= 集合B

集合.symmetric_difference_update(另一個序列)	#將集合更新成兩者的差集和
集合A ^= 集合B

change set items

 改變集合元素

PYTHON
集合.add(值)	#在集合最後新增值

集合.remove(值)
#刪除集合中指定的值,如果沒有該值,"會"回傳錯誤訊息

集合.discard(值)
#刪除集合中指定的值,如果沒有該值,"不會"回傳錯誤訊息

集合.pop()
#刪除集合中最後面的值,但你並不知道最後的值是什麼:)

集合.clear()	#清空集合

del 集合	#徹底刪除集合

other methods

 其他集合的方法

PYTHON
變數 = 集合.copy()#將集合的值複製一份到新的集合

變數 = len(集合)	#集合長度

Dictionary

PYTHON

create a dict

 宣告字典

PYTHON
  • 命名規則與變數相同

  • 內容有索引值、可改值、key不可重複但value可重複

  • 可將不同型態的值存入同個字典

  • 內容用{}括起

dict名稱 = {
  鍵1 : 值1,
  鍵2 : 值2, ...
}

create a dict

 宣告字典

PYTHON
字典名稱 = dict(鍵1 = 值1, 鍵2 = 值2, ...)

字典名稱 = dict([(鍵1, 值1), (鍵2, 值2), ...])
#此時的鍵不能有引號且受限於變數命名規則

字典名稱 = dict(zip([鍵1, 鍵2, ...], [值1, 值2, ...]))

字典名稱 = dict.fromkeys((鍵1, 鍵2, ...), 值)

access dict items

 取得字典元素

PYTHON
變數 = 字典[鍵]	#以key取值
變數 = 字典.get(鍵)

變數 = 字典.keys()	#取得dict所有的key

變數 = 字典.values()	#取得dict所有的value

變數 = 字典.items()	#取得dict所有的元素,每對以tuple呈現

change dict items

 改變字典元素

PYTHON
字典.update(另一個字典)	#在字典後加入字典
字典[新的鍵] = 新的值	#在字典後新增這組
#修改值的方法就用覆蓋的

字典.pop(鍵)	#刪除指定鍵的值

字典.popitem()	#刪除最後一組元素

字典.clear()	#清空字典

del 字典	#刪掉整個字典

other methods

 其他字典的方法

PYTHON
變數 = 字典.copy()

變數 = len(字典)

變數 = 字典.setdefault(鍵, 值)
#如果key已存在的話,回傳該值,否則新增這筆元素並回傳值

Sequence Comparison

PYTHON
PYTHON
list tuple set dict
是否有編號 v v x 自訂key
是否有順序 v v x v
值是否可重複出現 v v x (value可以key不行)
是否可改值 v x v v
被什麼括起 [] () {} {}
是否可用slice v v x x

Import

PYTHON

types

 模組的類型

PYTHON
  • 內建的模組

    • 可直接引入

    • sys.path查的到存放路徑

  • 自定義模組

    • 建立後可直接引入

  • 第三方模組

    • 使用前得先下載(可用PIP)

    • 下載完成即可引入

syntax

 語法

PYTHON
import 模組
變數 = 模組.方法()
變數 = dir(模組)	#查看模組的所有內容

import 模組 as 暱稱
變數 = 暱稱.方法()

from 模組 import 方法
變數 = 方法()

from 模組 import *	#匯入該模組所有內容
變數 = 方法()

(以math做示範)

PIP

 pip指令

PYTHON
>pip --version
  • 查看版本

  • 安裝模組

  • 移除模組

  • 列出已安裝模組資訊

>pip install 模組
>pip uninstall 模組
>pip list

demonstration

 使用自訂模組與第三方模組示範影片

PYTHON

https://youtu.be/SV5OqR46kEM

(00:30~02:30), (07:10~09:25)

python module list

 python內建模組列表

PYTHON

Regular Expression / format()

PYTHON

RegEx

 正規表示式

PYTHON
  • 支援多種語言

  • 常應用於檢查文字格式

import re

變數 = re.compile("正規表示式")
#建立regex比較格式的物件

變數 = re.findall("正規表示式", 字串)
#回傳一個串列,內容為字串中符合格式的所有字串

變數 = re.finditer("正規表示式", 字串)
#回傳上述內容的迭代器

method

 re的方法

PYTHON
變數 = re.fullmatch("正規表示式", 字串)
#整串字串符合格式時回傳該物件,沒有時回傳None

變數 = re.match("正規表示式", 字串)
#字串開頭符合格式時回傳該物件,沒有時回傳None

變數 = re.search("正規表示式", 字串)
#回傳第一批符合格式該物件,沒有時回傳None

變數 = re.split("正規表示式", 字串)
#回傳分隔合規字串間的符號

變數 = re.sub("正規表示式", 取代字串, 字串)
#將合規字串用取代字串取代掉後,回傳該字串

變數 = re.subn("正規表示式", 取代字串, 字串)
#回傳tuple,內有上述內容與修改數量

metacharacter

 中介字元

PYTHON
.	除了新行符號外的任何字元
^	字串開頭的子字串或排除指定字元或群組
$	字串結尾的子字串
*	單一字元或群組出現任意次數
+	單一字元或群組出現至少一次
?	單一字元或群組0或1次
{m,n}	單一字元或群組的m到n倍數
[]	對中括弧內的字元形成集合
\	跳脫字元
|	單一字元或群組的或
()	對小括弧內的字元形成群組

special sequence

 特別序列

PYTHON
\number	群組的序數
\A	字串的開頭字元
\b	作為單字的界線字元
\B	作為字元的界線字元
\d	數字,從0到9
\D	非數字
\s	各種空白符號,包括新行符號\n
\S	非空白符號
\w	任意文字字元,包括數字
\W	非文字字元,包括空白符號
\Z	字串的結尾字元

format()

PYTHON
  • 像C的printf()

字串.format(參數1, 參數2 ...)
f字串

format()

 詳細說明

PYTHON
符號 說明
{:,} 用,分隔的數字格式
{:.α%} 百分比格式,保留α位小數
{:.αe} 指數格式,保留α位小數
{:b} 二進位
{:d} 十進位
{:o} 八進位
{:x} 十六進位
符號 說明
{:.αf} 保留小數點後​α位
{:+.αf} 帶符號保留小數點後​α位
{:β>αd} 數字左邊補β至長度為α
{:β<αd} 數字右邊補β至長度為α
{:>αd} 右對齊,長度為α
{:<αd} 左對齊,長度為​α
{:^αd} 中對齊,長度為​α

Appendix

PYTHON

ASCII Code

 ASCII碼

PYTHON

Exceptions

 Python錯誤種類

PYTHON
ArithmeticError			所有數值計算錯誤的基類
AssertionError			斷言語句失敗
AttributeError			對像沒有這個屬性
BaseException			所有異常的基類
DeprecationWarning		關於被棄用的特徵的警告
EOFError			沒有內建輸入,到達EOF 標記
EnvironmentError		操作系統錯誤的基類
Exception			常規錯誤的基類
FloatingPointError		浮點計算錯誤
FutureWarning			關於構造將來語義會有改變的警告
GeneratorExit			生成器(generator)發生異常來通知退出
IOError				輸入/輸出操作失敗
ImportError			導入模塊/對象失敗
IndentationError		縮進錯誤
IndexError			序列中沒有此索引(index)
KeyError			映射中沒有這個鍵
KeyboardInterrupt		用戶中斷執行(通常是輸入^C)
LookupError			無效數據查詢的基類
MemoryError			內存溢出錯誤(對於Python 解釋器不是致命的)
NameError			未聲明/初始化對象 (沒有屬性)
NotImplementedError		尚未實現的方法
OSError				操作系統錯誤
OverflowError			數值運算超出最大限制
OverflowWarning			舊的關於自動提升為長整型(long)的警告
PendingDeprecationWarning	關於特性將會被廢棄的警告
ReferenceError			弱引用(Weak reference)試圖訪問已經垃圾回收了的對象
RuntimeError			一般的運行時錯誤
RuntimeWarning			可疑的運行時行為(runtime behavior)的警告
StandardError			所有的內建標準異常的基類
StopIteration			迭代器沒有更多的值
SyntaxError			Python 語法錯誤
SyntaxWarning			可疑的語法的警告
SystemError			一般的解釋器系統錯誤
SystemExit			解釋器請求退出
TabError			Tab 和空格混用
TypeError			對類型無效的操作
UnboundLocalError		訪問未初始化的本地變量
UnicodeDecodeError		Unicode 解碼時的錯誤
UnicodeEncodeError		Unicode 編碼時錯誤
UnicodeError			Unicode 相關的錯誤
UnicodeTranslateError		Unicode 轉換時錯誤
UserWarning			用戶代碼生成的警告
ValueError			傳入無效的參數
Warning				警告的基類
WindowsError			系統調用失敗
ZeroDivisionError		除(或取模)零 (所有數據類型)

Reference

PYTHON
PYTHON
PYTHON

python

By justhentai

python

  • 853