zoukankan      html  css  js  c++  java
  • Pthon魔术方法(Magic Methods)-实例化

              Pthon魔术方法(Magic Methods)-实例化

                                          作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.实例化一个对象

      __new__:
        该方法需要返回一个值,如果该值不是cls的实例,则不会调用"__init__"。该方法永远都是静态方法。

    二.案例展示

     1 #!/usr/bin/env python
     2 #_*_conding:utf-8_*_
     3 #@author :yinzhengjie
     4 #blog:http://www.cnblogs.com/yinzhengjie
     5 
     6 class Person:
     7     def __new__(cls, *args, **kwargs):
     8         print(cls)
     9         print(args)
    10         print(kwargs)
    11         # return super().__new__(cls)
    12         return 2019
    13 
    14     def __init__(self,name):
    15         self.name = name
    16 
    17 print("{0} 我是分割线 {0}".format("*" * 20))
    18 p1 = Person("Jason Yin")
    19 
    20 print("{0} 我是分割线 {0}".format("*" * 20))
    21 print(p1)
    22 
    23 
    24 
    25 #以上代码执行结果如下:
    26 ******************** 我是分割线 ********************
    27 <class '__main__.Person'>
    28 ('Jason Yin',)
    29 {}
    30 ******************** 我是分割线 ********************
    31 2019

    三.总结

      __new__方法很少使用,即使创建了该方法,也会使用return super().__new__(cls)基类object的__new__方法来创建实例并返回。
  • 相关阅读:
    ssh协议运用
    linux系统安装oracle遇到的问题
    Qt中mysql编译出错问题
    winform控件添加鼠标事件
    Linux网络编程
    多线程
    守护进程
    openssl 生成自签CA和pkcs12证书
    Linux CPU使用率获取 c
    temp
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11204740.html
Copyright © 2011-2022 走看看