日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 化学结构_PyOrganic

發布時間:2024/10/6 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 化学结构_PyOrganic 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyOrganic

介紹

一個使用類來描述有機化合物結構的Python庫。

架構

Compound:描述化合物

Atom(抽象類) -> Carbon, Hydrogen:描述原子

Bond(抽象類) -> SingleBond, DoubleBond, TripleBond:描述鍵

示例

from PyOrganic import * # 導入 PyOrganic

Methane = Compound() # 定義化合物甲烷

C1 = Carbon(Methane) # 定義5個原子

H1 = Hydrogen(Methane)

H2 = Hydrogen(Methane)

H3 = Hydrogen(Methane)

H4 = Hydrogen(Methane)

SingleBond(C1, H1) # 連接原子

SingleBond(C1, H2)

SingleBond(C1, H3)

SingleBond(C1, H4)

Methane.entry_atom = C1 # 設置根原子

print(Methane.chemical_formula) # 輸出化學式 -> CH?

文檔

class Compound

化合物

方法

def __init__(self)

構造化合物

屬性

entry_atom: Atom

訪問該化合物的入口點

只讀屬性

atoms: list[Atom]

該化合物所擁有的原子

chemical_formula: str

化學式

name: str

系統命名法下的名稱(待補)

class Atom

原子

方法

def __init__(self, name: str, symbol: str, max_bonds: int, compound: Compound)

構造原子

name : 原子名稱

symbol : 元素符號

max_bonds : 最大能連接的鍵數

compound : 從屬的化合物

def set_bond(self, bond: Bond)

在該原子上單方面連接新的鍵

bond : 新連接的鍵

def spread(self, atoms: Iterable[Atoms])

遞歸尋找化合物中所有原子

atoms : 由所有原子組成的列表

只讀屬性

bonds: list[Bond]

獲得原子上所連的鍵的集合

compound: Compound

該原子所屬化合物

max_bonds: int

最大可連的鍵的數量

name: str

原子名稱

next_atoms: list[Atom]

與該原子相連的原子

rest_bonds_value: int

剩余可連的鍵的數量

symbol: str

元素符號

class Carbon(Atom)

碳原子

方法

__init__(self, compound: Compound) => Atom.__init__('碳', 'C', 4, compound)

構造碳原子

compound : 從屬的化合物

class Hydrogen(Atom)

氫原子

方法

__init__(self, compound: Compound) => Atom.__init__('氫', 'H', 1, compound)

構造氫原子

compound : 從屬的化合物

class Bond

方法

def __init__(self, left_atom: Atom, right_atom: Atom, value: int, name: str):

構造鍵

left_atom : 鍵左側的原子

right_atom : 鍵右側的原子

value : 鍵值(共用電子對數),單鍵為1,雙鍵為2,叁鍵為3

name : 鍵名

只讀屬性

left_atom: Atom

鍵左邊連的原子

right_atom: Atom

鍵右邊連的原子

value: int

鍵值(共用電子對數),單鍵為1,雙鍵為2,叁鍵為3

name: str

鍵名

class SingleBond(Bond)

方法

def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 1, '單鍵')

構造單鍵

left_atom : 鍵左側的原子

right_atom : 鍵右側的原子

class DoubleBond(Bond)

方法

def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 2, '雙鍵')

構造雙鍵

left_atom : 鍵左側的原子

right_atom : 鍵右側的原子

class TripleBond(Bond)

方法

def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 3, '叁鍵')

構造叁鍵

left_atom : 鍵左側的原子

right_atom : 鍵右側的原子

class NotTheSameCompoundError(Exception)

當不同化合物的原子試圖成鍵時拋出

class NotEnoughBondsError(Exception)

當剩余可連的鍵不足的原子試圖成鍵時拋出

貢獻者

ZZH

NKID00

總結

以上是生活随笔為你收集整理的python 化学结构_PyOrganic的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。