首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否可以覆盖从对象派生的`__name__`?

是的,可以从对象派生__name__。在Python中,__name__属性是一个特殊的属性,用于表示模块的名称。当一个模块被导入时,__name__属性被设置为模块的名称。当模块被作为主程序运行时,__name__属性被设置为'__main__'

例如,假设我们有一个名为my_module.py的模块,其中包含以下代码:

代码语言:python
代码运行次数:0
复制
class MyClass:
    def __init__(self):
        self.name = self.__class__.__name__

if __name__ == '__main__':
    obj = MyClass()
    print(obj.name)

在这个例子中,当我们直接运行my_module.py文件时,__name__属性将被设置为'__main__',因此obj.name将输出MyClass。当我们将my_module.py导入到另一个模块中时,__name__属性将被设置为模块的名称,例如my_module

总之,可以从对象派生__name__属性,这在Python中是一种常见的编程模式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如果 5G 覆盖以后,是否可以将处理器手机上撤掉?

基于此,腾讯云开发者社区联手知乎科技,知乎超过 10000 条 5G 相关问答中精选内容落地社区专题「 共探 5G 」。 本文为相关“ 5G 有多快?”精华问答分享。...一、如果 5G 覆盖以后,是否可以将处理器手机上撤掉? 全部运算由云上完成,厂商通过出租方式收取月租,这样手机就只要屏幕和喇叭就可以了。大大减少换机成本,还提升使用感受。...赖振波:5G只是提高了数据传输能力,数据传输带宽提升在某种程度上可以弱化端侧计算能力,而由云来提供计算能力和数据存储分发,当前云办公环境就是这个应用典型,弱化本地计算强化云处理,集中计算资源来提升安全性和效率...如果是企业办公或者工业应用,为了数据安全和体验一致性,云计算和简化终端是未来方向,因此5G带来管道能力可以促进企业云应用推广,但这需要管道大带宽和低时延,目前来说本地光网络比较适合,或者未来局域无线网络比较适合...云计算是未来企业方向。 但对个人来说,我们更关注数据私密性以及操作体验即时性,那么手机等终端本地计算和数据存储显得更加重要,强管道能力只是加强了数据流通和数据备份能力。

1.1K1914

dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值变量

如果使用某个变量去获取某个类型对象创建,但是在这个类型构造函数调用时抛出异常,请问此变量是否可以拿到对应对象 如下面代码 private void F1() {...foo 变量是什么,是空,还是 Foo 对象 答案自然是空,原因是在 .NET 运行时逻辑是先分配对象内存空间,然后再调用对象构造函数,接着将对象赋值给到 foo 变量 而在进行第二步时就炸了,自然就不会给...E6%8B%BF%E5%88%B0%E5%AF%B9%E8%B1%A1%E8%B5%8B%E5%80%BC%E7%9A%84%E5%8F%98%E9%87%8F.html ,以避免陈旧错误知识误导...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

88220
  • python Class(类) and

    类被实例化为对象时才有相关一些数据,才会对该对象一些属性进行赋值,这些值就是所谓数据。某种角度理解这些对象属性就是变量。为对象属性赋值就是为变量赋值。...子类可以完全取代超类继承而来属性;也可以通过已覆盖方法回调超类来扩展超类方法            例:            In [22]: class ParClass(object)...--搜索连续树        class语句会产生一个类对象,对class调用会创建实例,实例自动连结至创建了此实例类        派生类连结至其基类方式:将基类列在派生类头部括号内,其左至右顺序会决定树中次序...类、实例和其它对象常见内建函数        issubclass()    布尔函数,判断一个类是否同另一个类派生,语法:issubclass(sub,sup)        isinstance...()    布尔函数,判断一个对象是否是给定类实例,语法:isinstance(obj1, class_obj2)        hasattr()       布尔函数,判断一个对象是否拥有指定属性

    90520

    基类派生类多态虚函数?

    成员函数与继承派生可以继承其基类成员, 然而有时候派生类必须对其重新定义。派生类需要对这些操作提供自己新定义以覆盖基类继承而来旧定义。...派生可以继承定义在基类中成员,但是派生成员函数不一定有权访问基类继承而来成员。 和其他使用基类代码一样,派生类能访问公有成员,而不能访问私有成员。...现在,我们只需知道访问说明符作用是控制派生基类继承而来成员是否派生用户可见。 如果一个派生是公有的,则基类公有成员也是派生类接口组成部分。...此外,我们能将公有派生类型对象绑定到基类引用或指针上。 大多数类都只继承自一个类,这种形式继承被称作“单继承”。 派生类中虚函数派生类经常(但不总是)覆盖它继承虚函数。...如果派生类没有覆盖其基类中某个虚函数,则该虚函数行为类似于其他普通成员,派生类会直接继承其在基类中版本,派生可以在它覆盖函数前使用virtual关键字,但不是非得这么做(可有可无)。

    18320

    Python 学习笔记之类「面向对象,超类,抽象」

    对象魔法 在面向对象编程中,术语对象大致意味着一系列数据 (属性) 以及一套访问和操作这些数据方法。 封装 封装讲究结构复用,逻辑内敛,以固定接口对外提供服务。...当我们需要编写 Dog 和 Cat 类时,就可以直接 Animal 类继承: class Dog(Animal): pass class Cat(Animal): pass 对于 Dog...判断一个变量是否是某个类型可以用 isinstance() 判断: >>> isinstance(dog,Animal) >>> isinstance(cat,Animal) ''' True True...第二点说明了继承很有用原因:可以创建大量不同过滤器类,它们都从 Filter 类派生而来,并且都使用已编写好方法 filter。...in TypeError: Can't instantiate abstract class Talker with abstract methods talk 假设像下面这样派生出一个子类

    76630

    第 15 章 面向对象程序设计

    如果派生类没有覆盖其基类中某个虚函数,则该虚函数行为类似于其他普通成员,派生类会直接继承其在基类中版本。 派生可以在它覆盖函数前使用 virtual关键字,但不是非得这么做。...一个基类对象可以以独立形式存在,也可以作为派生对象一部分存在。因此基类不一定是派生对象一部分,但派生类中一定含有基类部分。...即使一个基类指针或引用已经绑定在一个派生对象上,也不能执行基类向派生转换。可以使用 dynamic_cast执行运行时安全检查或 static_cast来强制覆盖掉编译器检查工作。...含有纯虚函数类是抽象基类。抽象积累负责定义接口,而后续其他类可以覆盖该接口。不能(直接)创建一个抽象基类对象,但派生类构造函数可以使用抽象基类构造函数来构建各个派生对象基类部分。...通过一条注明了(直接)基类名 using声明语句,派生可以基类继承构造函数。

    1K30

    Python stylecloud制作酷炫词云图

    ---类基本使用 面向对象 类(class):是一种用来描述具有相同属性和方法对象集合。...方法重写:如果从父类继承方法不能满足子类需求,可以对其进行改写,这个过程叫方法覆盖(override),也称为方法重写。 局部变量:定义在方法中变量,只作用于当前实例类。...继承:即一个派生类(derived class)继承基类(base class)字段和方法。继承也允许把一个派生对象作为一个基类对象对待。...实例化:类一个具体对象,类像当于一个模板,只有我们将其实例化为一个对象后才能对其进行相应操作。 对象:通过类定义数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。.../word1.txt' cloud(file_name) 其他个性化需求设计各位读者可以试一下, 最后分享一个网址,可以直接得到词云, http://www.wordart.cc/

    83731

    《C++Primer》第十五章 面向对象程序设计

    派生可以继承基类成员,但是对于net_price这种与类型相关操作必须对其重新定义,即派生类需要对这些操作提供自己新定义以覆盖override基类继承而来旧定义 在C++中,基类必须把两种成员函数区分开...成员函数如果没被声明成虚函数,那么其解析过程发生在编译时而不是运行时 派生可以继承定义在基类中成员,但是派生成员函数不一定有权访问基类继承而来成员(派生可以访问公有成员,但是不能访问私有成员...新标准允许派生类显式地注明它使用某个成员函数覆盖了它继承虚函数,做法是添加一个关键字override 2.1 派生类构造函数 尽管在派生对象中含有基类继承而来成员,但是派生类并不能直接初始化这些成员...虚函数与作用域 名字查找先于类型检查我们可以得知为什么基类和派生类中虚函数为什么必须有相同形参列表了。...覆盖重载函数 和其他函数一样,成员函数无论是否是虚函数都能被重载。派生可以覆盖重载函数0个或多个实例。

    1.2K20

    C++基础-多态

    分析上述例程: 派生对象可以赋值给基类对象(这里对象是广义称法,代指对象、指针、引用),例程中使用基类引用或指针指向派生对象 如果基类中 Swim() 不是虚函数,那么无论基类引用(或指针)指向何种类型对象...从打印可以看出,VFT 指针为 _vptr.Base,派生 VFT 指针存在在派生 Base 部分,也可以认为派生 VFT 指针覆盖了基类 VFT 指针,指向自己虚函数表。 4....可见使用虚继承可以解决多继承时菱形问题,确保 在继承层次结构中,继承多个同一个类派生而来基类时,如果这些基类没有采用虚继承,将导致二义性。...使用 override 明确表明覆盖意图 C++11 起,程序员可使用限定符 override 来核实被覆盖函数在基类中是否被声明为虚函数。...• 派生类中被声明为 override 函数是否是基类中对应虚函数覆盖?确保没有有手误写错。 编程实践:在派生类中声明要覆盖基类函数函数时,务必使用关键字 override 7.

    85220

    Python3网络爬虫(六):Python3使用Cookie-模拟登陆获取妹子联系方式

    http.cookiejar功能强大,我们可以利用本模块CookieJar类对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。...它们关系: CookieJar–派生–>FileCookieJar–派生–>MozillaCookieJar和LWPCookieJar 工作原理:创建一个带有cookieopener,在访问登录...: ignore_discard意思是即使cookies将被丢弃也将它保存下来; ignore_expires意思是如果在该文件中cookies已经存在,则覆盖原文件写入。     ...3)文件中获取Cookie并访问     我们已经做到把Cookie保存到文件中了,如果以后想使用,可以利用下面的方法来读取cookie并访问网站,感受一下: # -*- coding: UTF-8...同时,我们也可以获取相亲MM联系方式。 4.编写代码     我们利用CookieJar对象实现获取cookie功能,存储到变量中。

    1.9K80

    史上最全Python面向对象知识点疏理

    方法重写:如果从父类继承方法不能满足子类需求,可以对其进行改写,这个过程叫方法覆盖,也称为方法重写。 实例变量:定义在方法中变量,只作用于当前实例类。...继承:即一个派生类(derived class)继承基类(base class)字段和方法。继承也允许把一个派生对象作为一个基类对象对待。...输入: 输出: 执行结果可以很明显看出,self 代表是类实例,代表当前对象地址,而 self.class 则指向类。...self 不是 python 关键字,我们把他换成 runoob 也是可以正常执行: 创建实例对象 访问属性:可以使用点(.)来访问对象属性。...使用如下类名称访问类变量: Python内置类属性 __dict__ : 类属性(包含一个字典,由类数据属性组成) __doc__ :类文档字符串 __name__: 类名 __module_

    88050

    C++中多态

    派生类对基类重写虚函数,可以不加上virtual,因为继承后基类虚函数被继承下来了在派生类依旧保持虚函数属性,但一般而言最好加上去,提高代码阅读性。 虚函数重写/覆盖两个特殊情况 1....这里可以小小地总结两点,关于需要写出一个不能被继承类。 ①私有构造函数;②final修饰类 override: 检查派生类虚函数是否重写了基类某个虚函数,如果没有重写编译报错。...其实基类b对象派生类d对象虚表是不一样,Func1完成了重写,所以d虚表中存是重写Derive::Func1,所以虚函数重写也叫作覆盖覆盖就是指虚表中虚函数覆盖。...虚表中得到这个虚函数地址,从而去调用这个函数!如果指向对象是基类自己,那么就会到基类里面找到基类虚表。...反思构成多态条件 通过分析,我们可以好好反思一下构成多态条件,为什么要虚函数重写,为什么要基类对象指针或引用调用虚函数。 ①为什么虚函数覆盖/重写: 因为要对派生虚表进行覆盖

    83320

    史上最全Python面向对象知识点疏理

    数据成员:类变量或者实例变量用于处理类及其实例对象相关数据。 方法重写:如果从父类继承方法不能满足子类需求,可以对其进行改写,这个过程叫方法覆盖,也称为方法重写。...实例变量:定义在方法中变量,只作用于当前实例类。 继承:即一个派生类(derived class)继承基类(base class)字段和方法。继承也允许把一个派生对象作为一个基类对象对待。...输入: 输出 执行结果可以很明显看出,self 代表是类实例,代表当前对象地址,而 self.class 则指向类。...self 不是 python 关键字,我们把他换成 runoob 也是可以正常执行: 创建实例对象 访问属性:可以使用点(.)来访问对象属性。...使用如下类名称访问类变量: Python内置类属性 __dict__ : 类属性(包含一个字典,由类数据属性组成) __doc__ :类文档字符串 __name__: 类名 __module__

    76660

    【C++】多态(定义、虚函数、重写、隐藏)

    虚函数重写 虚函数重写(覆盖):派生类中有一个跟基类完全相同虚函数(即派生类虚函数与基类虚函数 返回值类型、函数名字、参数列表完全相同),称子类虚函数重写了基类虚函数。...析构函数重写(基类与派生类析构函数名字不同) 如果基类析构函数为虚函数,此时派生类析构函数只要定义,无论是否加virtual关键字, 都与基类析构函数构成重写。...+11提供了override和final两个关键字,可以帮助用户检测是否重写。...虽然Car不能实例化对象,但是可以用它指针指向子类,然后调用。 接口继承和实现继承 普通函数继承是一种实现继承,派生类继承了基类函数,可以使用函数,继承是函数实 现。...派生虚表生成:1.先将基类中虚表内容拷贝一份到派生类虚表中 2.如果派生类重写了基类中某个虚函数,用派生类自己虚函数覆盖虚表中基类虚函数 3.派生类自己新增加虚函数按其在派生类中声明次序增加到派生类虚表最后

    15310

    Python3快速入门(六)——Pyth

    继承是一个派生类(derived class)继承基类(base class)字段和方法。继承允许把一个派生对象作为一个基类对象对待。 实例化:创建一个类实例,类具体对象。...: Bauer args: China 26 """ 七、类继承 1、派生类定义 Python中类继承按照父类中方法是否已实现可分为两种: 实现继承 :指直接继承父类属性和已定义并实现方法...2、派生类构造函数 派生构造函数需要显式调用父类构造函数,对父类属性成员进行初始化,调用父类构造函数时需要显式传递实例对象self。...3、isinstance isinstance可以判断一个变量是否是某一种数据类型,也可以判断对象是否是类对象或者是类子类对象。...如果父类中有相同方法名,而在子类使用时未显式指定调用具体赋类方法,Python会根据继承顺序左至右搜索查找父类中是否包含方法。

    1.3K20

    【Java】继承、抽象、组合

    派生类也可以覆盖(override)继承方法   子类对象与父类对象存在“IS A”(或“is a kind of”)关系  派生类产生对象外部来看,它应该包括  与基类相同接口可以具有更多方法和数据成员...  只需在方法名前面使用不同类名或不同类对象名即可区分覆盖方法和被覆盖方法  覆盖方法访问权限可以比被覆盖宽松,但是不能更为严格  方法覆盖应用场合  子类中实现与父类相同功能,但采用不同算法或公式在名字相同方法中...,要做比父类更多事情在子类中需要取消从父类继承方法  注意事项 必须覆盖方法 派生类必须覆盖基类中抽象方法,否则派生类自身也成为抽象类....,则肯定相等 两个对象相等,不一定同一  比较运算符“==” 判断是这两个对象是否同一  clone方法  根据已存在对象构造一个新对象 在根类Object 中被定义为protected,所以需要覆盖为...,然后用他们类代替原来类 设计: 你认为你类是最好概念上你类不应该有任何派生类  举例: 声明ChessAlgorithm 类为final 类  final class ChessAlgorithm

    74630

    【C++】一文简练总结【多态】及其底层原理&具体应用(21)

    一个含有虚函数类中都至少都有一个虚函数表指针,因为虚函数地址要被放到虚函数表中,虚函数表也简称虚表 2)虚函数重写(覆盖) 虚函数重写(覆盖): 派生类中有一个跟基类完全相同虚函数 (即派生类虚函数与基类虚函数返回值类型...:(基类与派生类析构函数名字不同) 如果 基类析构函数为虚函数 ,此时派生类析构函数只要定义, 无论是否加virtual关键字 , 都与基类析构函数构成重写,虽然基类与派生类析构函数名字不同。...【override】【final】关键字——帮助用户检测是否重写(C++11) 从上面可以看出,C++对函数重写要求比较严格,但是有些情况下由于疏忽,可能会导致函数 名字母次序写反而无法构成重载,而这种错误在编译期间是不会报出...,只有在程序运行时没有 得到预期结果才来debug会得不偿失,因此:C++11两个角度提供了 override 和 final 两个关键字,可以帮 助用户检测是否重写。...实现继承 ,派生类继承了基类函数,可以使用函数,继承是函数实现。

    12210

    【C++】多态

    析构函数重写(基类与派生类析构函数名字不同) 如果基类析构函数为虚函数,此时派生类析构函数只要定义,无论是否加virtual关键字, 都与基类析构函数构成重写,虽然基类与派生类析构函数名字不同...,只有在程序运行时没有 得到预期结果才来 debug 会得不偿失,因此: C++11 提供了 override 和 final 两个关键字,可以帮 助用户检测是否重写。...override: 检查派生类虚函数是否重写了基类某个虚函数,如果没有重写编译报错。...基类b对象派生类d对象虚表是不一样,这里我们发现Func1完成了重写,所以d虚表 中存是重写Derive::Func1,所以虚函数重写也叫作覆盖覆盖就是指虚表中虚函数 覆盖。...总结一下派生虚表生成:a.先将基类中虚表内容拷贝一份到派生类虚表中 b.如果派生 类重写了基类中某个虚函数,用派生类自己虚函数覆盖虚表中基类虚函数 c.派生类自己 新增加虚函数按其在派生类中声明次序增加到派生类虚表最后

    14010

    python基础教程:类继承

    面向对象语言一个特性就是类继承。继承关系跟人类繁衍关系相似,被继承类称为基类(也叫做父类),继承而得类叫派生类(也叫子类),这种关系就像人类父子关系。 ?...当构造类对象时,基类会被记住。 此信息将被用来解析属性引用:如果请求属性在类中找不到,搜索将转往基类中进行查找。 如果基类本身也派生自其他某个类,则此规则将被递归地应用。...重载基类方法 派生可以重载基类方法。重载,就是重新定义。如果派生类中重新定义了基类某方法,那么派生重载这个方法就会覆盖基类中同名方法。...语句1 对于多数应用来说,在最简单情况下,你可以认为搜索从父类所继承属性操作是深度优先、左至右,当层次结构中存在重叠时不会在同一个类中搜索两次。...总结 类继承体现了类关系,基类属性和方法可以派生类继承,同时派生类又可以重载基类方法。派生类既可以单独继承一个基类,也可以多重继承多个基类。

    53010

    多态讲解

    但是要满足多态在继承中就要有以下两个条件: 必须通过基类指针或者引用调用虚函数 被调用函数必须是虚函数,且派生类必须对基类虚函数进行重写 如果是对象直接调用的话就不会构成多态,上图中虚函数覆盖就是我们所说虚函数重写...(基类与派生类析构函数名字不同) 如果基类析构函数为虚函数,此时派生类析构函数只要定义,无论是否加virtual关键字,都与基类析构函数构成重写,虽然基类与派生类析构函数名字不同。...,派生类继承了基类函数,可以使用函数,继承是函数实现。..._b,int类型大小为4个字节,但是考虑到内存对齐,第四个字节位置开始存放成员b,大小为8,这是我们大部分人思路 我们来跑一跑这段代码: 正确答案是16 这是为什么呢,我们可以通过调试来观察...基类b对象派生类d对象虚表是不一样,这里我们发现Func1完成了重写,所以d虚表中存是重写Derive::Func1,所以虚函数重写也叫作覆盖覆盖就是指虚表中虚函数覆盖

    6210
    领券