收藏此站 联系我们 网站
当前位置:首页» 公司新闻 » 【建站服务】漳浦爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广-域名申请

【建站服务】漳浦爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广-域名申请

作者: 风兰 . 阅读量: 5 . 发表时间:2022-09-21 03:17:18

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


漳浦爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广

网站建设.png


所有专有方法中,__init__()要求无返回值,或者返回 None。而其他方法,如__str__()、__add__()等,一般都是要返回值的,如下所示:

>>> class Complex:...     def __init__(self, realpart, imagpart):...         self.r = realpart...         self.i = imagpart...         return 'hello'...>>> x = Complex(3.0, -4.5)Traceback (most recent call last):
  File "<stdin>", line 1, in <module>TypeError: __init__() should return None, not 'str'

而对于 __str__()、__add__() 等。

def __str__(self):
        return 'Vector (%d, %d)' % (self.a, self.b)def __repr__(self):
    return 'Vector (%d, %d)' % (self.a, self.b)def __add__(self,other):
    if other.__class__ is Vector:
        return Vector(self.a + other.a, self.b + other.b)
    elif other.__class__ is int:
        return Vector(self.a+other,self.b)



类的专有方法中,也是存在默认优先级的,多个方法都有返回值,但一般优先取 __str__() 的返回值,如下面例子:


类的专有方法中,也是存在默认优先级的,多个方法都有返回值,但一般优先取 __str__() 的返回值,如下面例子:

class Vector:

    def __init__(self, a, b):

        self.a = a

        self.b = b

    def __repr__(self):

        return 'Vector (%d, %d)' % (self.b, self.a)

    def __str__(self):

        return 'Vector (%d, %d)' % (self.a, self.b)

    def __add__(self,other):

        return Vector(self.a + other.a, self.b + other.b)


v1 = Vector(2,10)

print (v1)

结果是 Vector(2,10),而不是 Vector(10,2)。这里优先使用 __str__() 的返回值。


v1.__repr__()

结果是:Vector(10,2)


徙徒

   徙徒


  143***2467@qq.com


3年前 (2019-06-20)

笔记中有位同学如下这样写道,但我认为不准确:

最新的 Python3.7 中(2018.07.13),对类的构造函数进行了精简。

3.7 版本:

from dataclasses import dataclass@dataclassclass A:
  x:int
  y:int
  def add(self):
    return self.x + self.y

相当于以前的:

class B:
  def __init__(self,x,y):
    self.x = x    self.y = y  def add(self):
    return self.x + self.y

实际上,对于类 A, 实例化时不需要参数;而对于类 B,实例化时需要输入 (x, y) 参数,这才是两者的核心区别。定义类时,若需要输入参数,则一般必须使用 __init__()方法;若不需要输入参数,是否使用 __init__() 方法都可以。

和版本是否对类的构造函数进行了精简,关系不大。

漳浦爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务