Python類 簡化模版

2021-09-06 08:32:25 字數 925 閱讀 4670

有時候寫了很多僅僅用作資料結構的類,不想寫太多煩人的_init_() 函式,可以在父類寫乙個公共的init方法。

import math

class structure1:

# class variable that specifies expected fields

_fields =

def __init__(self, *args):

if len(args) != len(self._fields):

raise typeerror('expected {} arguments'.format(len(self._fields)))

# set the arguments

for name, value in zip(self._fields, args):

setattr(self, name, value)

# example class definitions

class stock(structure1):

_fields = ['name', 'shares', 'price']

class point(structure1):

_fields = ['x', 'y']

class circle(structure1):

_fields = ['radius']

def area(self):

return math.pi * self.radius ** 2

if __name__ == "__main__":

s = stock('acme', 50, 91.1)

p = point(2, 3)

c = circle(4.5)

當需要使用大量很小的資料結構類的時候, 相比手工乙個個定義 _init_() 方法要簡潔許多。

函式模版和模版函式,類模版和模版類的區別

什麼是函式模板和類模板 函式模板是一種抽象函式定義,它代表一類同構函式。通過使用者提供的具體引數,c 編譯器在編譯時刻能夠將函式模板例項化,根據同乙個模板建立出不同的具體函式,這些函式之間的不同之處主要在於函式內部一些資料型別的不同,而由模板建立的函式的使用方法與一般函式的使用方法相同。函式模板的定...

簡化python操作mysql資料封裝類

執行 pip install pymysql 因為下面的封裝類是基於pymysql封裝。看了網上一推的pymysql的封裝參差不齊,覺得有必要自己動手擼乙個,所以結合自己的思想,就動手了。import pymysql 簡化mysql 的資料庫的操作封裝成類呼叫 主要乙個類的例項為乙個資料庫的連線,處...

Python簡化類例七 單例類的寫法

前言 這是我自己想出來的方法,我不知道是否有人用過這種寫類的方法,我也沒想出乙個什麼樣名字來稱呼它,反正我叫它簡化類 之所以稱之為簡化類,是因為我沒辦法實現多重繼承,但類的基本繼承,重寫還是實現了的 python簡化類例七 單例類的寫法 def classtest7 單例類寫法挺簡單的,最後把函式變...