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__方法来创建实例并返回。
  • 相关阅读:
    公司的CMS参数
    Kafka 如何保证消息可靠性
    我来了
    spring解决乱码
    mybatis反向工程
    Unicode控制字符
    功能跟进记录
    创建IDataProvider实例
    腾讯2016研发工程师笔试题36车 6跑道 没有计时器 最少要几次取前三
    .net mvc下拉列表DropDownList控件绑定数据
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11204740.html
Copyright © 2011-2022 走看看