您身边的网站建设专家
成功案例

【建站服务】高端!网站定制/设计/优化/二次开发/制作/搭建-凉山高端网站建设-域名申请

日期: 2022-09-21 05:36:39 浏览数:5


​

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


高端!网站定制/设计/优化/二次开发/制作/搭建-凉山高端网站建设


网站建设.png

 File "test.py", line 16, in <module>
    print (counter.__secretCount)  # 报错,实例不能访问私有变量AttributeError: 'JustCounter' object has no attribute '__secretCount'

类的私有方法实例如下:

实例(Python 3.0+)

#!/usr/bin/python3 class Site:    def __init__(self, name, url):        self.name = name       # public        self.__url = url   # private    def who(self):        print('name  : ', self.name)        print('url : ', self.__url)    def __foo(self):          # 私有方法        print('这是私有方法')    def foo(self):            # 公共方法        print('这是公共方法')        self.__foo() x = Site('菜鸟教程', 'www.runoob.com')x.who()        # 正常输出x.foo()        # 正常输出x.__foo()      # 报错

以上实例执行结果:

类的专有方法:

运算符重载

Python同样支持运算符重载,我们可以对类的专有方法进行重载,实例如下:

实例(Python 3.0+)

#!/usr/bin/python3 class Vector:   def __init__(self, a, b):      self.a = a      self.b = b   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)v2 = Vector(5,-2)


__pow__: 乘方

运算符重载

Python同样支持运算符重载,我们可以对类的专有方法进行重载,实例如下:


实例(Python 3.0+)

#!/usr/bin/python3

 

class Vector:

   def __init__(self, a, b):

      self.a = a

      self.b = b

 

   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)

v2 = Vector(5,-2)

print (v1 + v2)

以上代码执行结果如下所示:


Vector(7,8)

 Python3 错误和异常Python3 命名空间/作用域 

16 篇笔记 写笔记

   小盟主


  165***0317@qq.com


201

针对 __str__ 方法给出一个比较直观的例子:


class people:

    def __init__(self,name,age):

        self.name=name

        self.age=age


    def __str__(self):

        return '这个人的名字是%s,已经有%d岁了!'%(self.name,self.age)


a=people('孙悟空',999)

print(a)

输出:


这个人的名字是孙悟空,已经有999岁了!

如果没有重载函数的话输出的就是一串看不懂的字符串:

<__main__.people object at 0x00000272A730D278>

小盟主

   小盟主


  165***0317@qq.com


5年前 (2017-09-13)

   JasinChen


  402***306@qq.com


123

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


3.7 版本:


from dataclasses import dataclass

@dataclass

class A:

  x:int

  y:int

  def add(self):

    return self.x + self.y

相当于以前的:


class A:

  def __init__(self,x,y):

    self.x = x

    self.y = y

  def add(self):

    return self.x + self.y

JasinChen

   JasinChen


  402***306@qq.com


4年前 (2018-07-13)

   selfeasy


  ZLT***lfeasy@qq.com


126

Python3 中类的静态方法


高端!网站定制/设计/优化/二次开发/制作/搭建-凉山高端网站建设



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

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


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设:上往建站