medium.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Python-iBeacon-Scan 作者: NikNitro 项目源码 文件源码
def __new__(cls, name, permittivity=None, permeability=None, n=None):
        obj = super(Medium, cls).__new__(cls, name)
        obj._permittivity = sympify(permittivity)
        obj._permeability = sympify(permeability)
        obj._n = sympify(n)
        if n is not None:
            if permittivity != None and permeability == None:
                obj._permeability = n**2/(c**2*obj._permittivity)
            if permeability != None and permittivity == None:
                obj._permittivity = n**2/(c**2*obj._permeability)
            if permittivity != None and permittivity != None:
                if abs(n - c*sqrt(obj._permittivity*obj._permeability)) > 1e-6:
                   raise ValueError("Values are not consistent.")
        elif permittivity is not None and permeability is not None:
            obj._n = c*sqrt(permittivity*permeability)
        elif permittivity is None and permeability is None:
            obj._permittivity = _e0mksa
            obj._permeability = _u0mksa
        return obj
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号