跳到主要內容


Python-程式優化設計-module

class

Objects, values and types

CPython implementation detail: For CPython, 

The standard type hierarchy

User-defined functions
__doc__The function’s documentation string, or None if unavailable; not inherited by subclassesWritable
__name__The function’s nameWritable
__qualname__
The function’s qualified name
New in version 3.3.
Writable
__module__The name of the module the function was defined in, or None if unavailable.Writable
__defaults__A tuple containing default argument values for those arguments that have defaults, or None if no arguments have a default valueWritable
__code__The code object representing the compiled function body.Writable
__globals__A reference to the dictionary that holds the function’s global variables — the global namespace of the module in which the function was defined.Read-only
__dict__The namespace supporting arbitrary function attributes.Writable
__closure__None or a tuple of cells that contain bindings for the function’s free variables. See below for information on the cell_contents attribute.Read-only
__annotations__A dict containing annotations of parameters. The keys of the dict are the parameter names, and 'return' for the return annotation, if provided.Writable
__kwdefaults__A dict containing defaults for keyword-only parameters.Writable

Special method names


None
This type has a single value. There is a single object with this value. This object is accessed through the built-in name None. It is used to signify the absence of a value in many situations, e.g., it is returned from functions that don’t explicitly return anything. Its truth value is false.
NotImplemented
This type has a single value. There is a single object with this value. This object is accessed through the built-in name NotImplemented. Numeric methods and rich comparison methods should return this value if they do not implement the operation for the operands provided. (The interpreter will then try the reflected operation, or some other fallback, depending on the operator.) Its truth value is true.

Ellipsis
Sequences
Mutable sequences
Set types
Mappings
Callable types

Basic customization


__new__
__init__
__del__
__repr__
__str__
__bytes__
__format__
__lt__
__le__
__eq__
__ne__
__gt__
__ge__
__hash__
__bool__

Customizing attribute access

__getattr____getattribute__
__setattr__
__delattr__
__dir__

Implementing Descriptors

__get__
__set__
__delete__
__set_name__

__slots__

Customizing class creation

__init_subclass__

Metaclasses

Customizing instance and subclass checks

__instancecheck__
__subclasscheck__

Emulating generic types

__class_getitem__

Emulating callable objects

__call__

Emulating container types

__len__
__length_hint__
__getitem__
__setitem__
__delitem__
__missing__
__iter__
__reversed__
__contains__

Emulating numeric types


object.__add__(selfother)
object.__sub__(selfother)
object.__mul__(selfother)
object.__matmul__(selfother)
object.__truediv__(selfother)
object.__floordiv__(selfother)
object.__mod__(selfother)
object.__divmod__(selfother)
object.__pow__(selfother[modulo])
object.__lshift__(selfother)
object.__rshift__(selfother)
object.__and__(selfother)
object.__xor__(selfother)
object.__or__(selfother)


object.__radd__(selfother)
object.__rsub__(selfother)
object.__rmul__(selfother)
object.__rmatmul__(selfother)
object.__rtruediv__(selfother)
object.__rfloordiv__(selfother)
object.__rmod__(selfother)
object.__rdivmod__(selfother)
object.__rpow__(selfother)
object.__rlshift__(selfother)
object.__rrshift__(selfother)
object.__rand__(selfother)
object.__rxor__(selfother)
object.__ror__(selfother)

object.__iadd__(selfother)
object.__isub__(selfother)
object.__imul__(selfother)
object.__imatmul__(selfother)
object.__itruediv__(selfother)
object.__ifloordiv__(selfother)
object.__imod__(selfother)
object.__ipow__(selfother[modulo])
object.__ilshift__(selfother)
object.__irshift__(selfother)
object.__iand__(selfother)
object.__ixor__(selfother)
object.__ior__(selfother)

object.__neg__(self)
object.__pos__(self)
object.__abs__(self)
object.__invert__(self)

object.__complex__(self)
object.__int__(self)
object.__float__(self)

object.__index__(self)

object.__round__(self[ndigits])
object.__trunc__(self)
object.__floor__(self)
object.__ceil__(self)

With Statement Context Managers


__enter__
__exit__

Special method lookup

Coroutines

Awaitable Objects

__await__

Asynchronous Iterators

__aiter__
__anext__

Asynchronous Context Managers

__aenter__
__aexit__


留言

這個網誌中的熱門文章

Python-資料庫-mongodb-pymongo

Python 資料庫 mongodb-pymongo 安裝: linux、mac:pip3 install pymongo windows: import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") db = client['demo_db'] col = db['demo_col'] dict1 = { "name": "ab123ab456g", "day": "1890-04-05" } result = col.insert_one(dict1)  dict2 = [   { "name": "ki", "day": "1666-1-1"},   { "name": "aa", "day": "1222-11-11"},   { "name": "gg-gg", "day": "1333-02-22"},   { "name": "T-T", "day": "1444-03-02"},   { "name": "f-f", "day": "1555-01-01"} ] result = col.insert_many(dict2) result = col.find_one() print(result) results = col.find() for result in col.find(): print(result) results = col.find() query = {'

程式語言概念-條件敘述

程式語言概念 條件敘述 上一篇的比較運算就是用來描述條件的,如變數a跟變數b,範例如下。 a>b a=>b a==b a<=b a<b a!=b 上一篇的邏輯運算可以連接不同條件,如:a>b and c>b。 在寫程式的時候,可以使用條件式加上需要的條件敘述,進行流程控制,達到程式結構化的目的,常見的條件式if-else、if-else if- else、switch。 條件式可以進行選擇流程,選擇流程種類如下。 單一選擇 雙向選擇 多向選擇 單一選擇: 用於當某些條件達成之後,就執行,如:下雨了嗎?沒有,沒事,有,帶傘。 流程圖 雙向選擇: 用於當某些條件達成之後,執行A,不然執行B,如:請問數字是奇數嗎?是,奇數,不是,偶數。 流程圖 多向選擇: 用於判斷某變數是否為A、B、C、...、其他,如:請問現在是什麼季節?春天、夏天、秋天、冬天。 流程圖  投影片-slideshare:程式語言概念_變數  影片-youtube:程式語言蓋面_變數  程式碼-Github:程式語言概念_變數 下一單元:程式語言概念_ 迴圈

Python-開啟檔案

Python 開啟檔案 基本概念說明 參考 程式語言概念-常見檔案型態 基本常見檔案類型 二進位檔 文字檔 CSV XML JSON html excel word 圖片 音源 影片 以下是處理該類型檔案對應函式或模組 這邊內建函數的意思是讀取之後能直接處理。 檔案類型 內建函數 標準模組 非標準模組 二進位檔 open() None - 文字檔 open() None - CSV None csv - XML None xml - JSON None json - html None html - excel None None 非 windows excel api windows excel api word None None 非 windows word api windows word api 圖片 None None pypng 音源 None wave - 影片 None None moviepy 二進位檔程式碼範例 二位元的定義在Python官網的資料型態沒有定義,但是還是可以使用的需要用函式轉換才能夠出現,分別用bytes、bytearray兩種,在使用前可以先盡到直譯器上,用help指令查訊該function的功能,以下是其內容。 在前面先講bytes跟bytearray用法,後續再講數字、字串轉成bytes的方法,最後才是進行二進位檔案讀寫。 bytes 再把資料料轉換時輸入內容可分成一下種類 整數 字串 可迭代資料:迭代內容一定要是數字 buffer:這邊不是示範,因為寫python沒用過 bytes(1) bytes(2) bytes(3) bytes(4) bytes('str'.encode('utf8')) bytes('str'.encode('ascii')) bytes([0,1,255]) bytes((2)) bytes((1,2)) bytes({1,2}) 程式碼說明 bytes()中代入數字是告知bytes數量,如:bytes(1)就是一個bytes量 bytes()中代入字串時,附加編