草庐IT

MY_CLASS

全部标签

python - 将 self.__class__ 设置为其他东西有多危险?

假设我有一个类,它有许多子类。我可以实例化这个类。然后我可以将其__class__属性设置为子类之一。我已经有效地将类类型更改为其子类的类型,在一个事件对象上。我可以调用它的方法来调用这些方法的子类版本。那么,这样做有多危险?看起来很奇怪,但这样做是不是错误?尽管能够在运行时更改类型,但这是应该完全避免的语言特性吗?为什么或为什么不?(根据回复,我将发布一个更具体的问题,说明我想做什么,以及是否有更好的选择)。 最佳答案 以下是我能想到的导致这种危险的事情的list,按从最坏到最不坏的粗略顺序排列:阅读或调试您的代码的人可能会感到困

python - 将 self.__class__ 设置为其他东西有多危险?

假设我有一个类,它有许多子类。我可以实例化这个类。然后我可以将其__class__属性设置为子类之一。我已经有效地将类类型更改为其子类的类型,在一个事件对象上。我可以调用它的方法来调用这些方法的子类版本。那么,这样做有多危险?看起来很奇怪,但这样做是不是错误?尽管能够在运行时更改类型,但这是应该完全避免的语言特性吗?为什么或为什么不?(根据回复,我将发布一个更具体的问题,说明我想做什么,以及是否有更好的选择)。 最佳答案 以下是我能想到的导致这种危险的事情的list,按从最坏到最不坏的粗略顺序排列:阅读或调试您的代码的人可能会感到困

python - super() 和直接调用父类(super class)的区别

在Python2.7和3中,我使用以下方法调用父类(superclass)的函数:classC(B):def__init__(self):B.__init__(self)我看到也可以用super(B,self).__init__()和python3super()替换B.__init__(self).__init__().这两种方式有什么优点或缺点吗?至少对我来说直接从B调用它更有意义,但也许有一个很好的理由,super()只能在使用元类时使用(我通常避免)。 最佳答案 对于单继承,super()只是引用基类型的一种更好的方式。这样,

python - super() 和直接调用父类(super class)的区别

在Python2.7和3中,我使用以下方法调用父类(superclass)的函数:classC(B):def__init__(self):B.__init__(self)我看到也可以用super(B,self).__init__()和python3super()替换B.__init__(self).__init__().这两种方式有什么优点或缺点吗?至少对我来说直接从B调用它更有意义,但也许有一个很好的理由,super()只能在使用元类时使用(我通常避免)。 最佳答案 对于单继承,super()只是引用基类型的一种更好的方式。这样,

Python 2.6 : Class inside a Class?

大家好,我的问题是我想弄清楚如何让一个类(class)进入另一个类(class)。我正在做的是我有一个关于飞机的类(class),其中包含关于它可以飞多快、可以飞多远、油耗等的所有统计数据。然后我有一个FlightClass,其中包含有关航类的所有详细信息:距离、开始位置和时间、结束位置和时间、持续时间等等。但我意识到每架飞机都有多个航类,那为什么不把所有的航类数据放到飞机类中呢?虽然我如何将一个类放到另一个类中,所以我可以这样调用:Player1.Airplane5.Flight6.duration=5hours我已经对飞机类做了一些处理,但是当我去保存信息(将所有内容都列出到文本文

Python 2.6 : Class inside a Class?

大家好,我的问题是我想弄清楚如何让一个类(class)进入另一个类(class)。我正在做的是我有一个关于飞机的类(class),其中包含关于它可以飞多快、可以飞多远、油耗等的所有统计数据。然后我有一个FlightClass,其中包含有关航类的所有详细信息:距离、开始位置和时间、结束位置和时间、持续时间等等。但我意识到每架飞机都有多个航类,那为什么不把所有的航类数据放到飞机类中呢?虽然我如何将一个类放到另一个类中,所以我可以这样调用:Player1.Airplane5.Flight6.duration=5hours我已经对飞机类做了一些处理,但是当我去保存信息(将所有内容都列出到文本文

Python 尝试/除 : Showing the cause of the error after displaying my variables

我什至不确定要搜索什么合适的词。我想在exceptblock中显示部分错误对象(类似于VBScript中的err对象,它具有Err.Number和Err.Description)。例如,我想显示我的变量的值,然后显示确切的错误。显然,我在下面导致了一个被零除的错误,但是我怎样才能打印出这个事实呢?try:x=0y=1z=y/xz=z+1print"z=%d"%(z)except:print"ValuesatException:x=%dy=%d"%(x,y)print"Theerrorwasonline..."print"Thereasonfortheerrorwas..."

Python 尝试/除 : Showing the cause of the error after displaying my variables

我什至不确定要搜索什么合适的词。我想在exceptblock中显示部分错误对象(类似于VBScript中的err对象,它具有Err.Number和Err.Description)。例如,我想显示我的变量的值,然后显示确切的错误。显然,我在下面导致了一个被零除的错误,但是我怎样才能打印出这个事实呢?try:x=0y=1z=y/xz=z+1print"z=%d"%(z)except:print"ValuesatException:x=%dy=%d"%(x,y)print"Theerrorwasonline..."print"Thereasonfortheerrorwas..."

docker mysql8 my.cnf 配置讲解

[mysqld]port      =3306#basedir      =/var/lib/mysqldatadir      =/var/lib/mysqlpid-file   =/var/run/mysqld/mysqld.pidsocket      =/var/run/mysqld/mysqld.sock#secure-file-priv=NULLsecure-file-priv=/var/lib/mysql-fileslower_case_table_names=1character-set-server=utf8mb4collation-server=utf8mb4_unicod

python - python中的属性 "__class__"到底是什么

我有一个关于python中的__class__的问题。文档说__class__是类实例所属的类。于是我进行了一系列的实验:classcounter:count=0def__init__(self):self.__class__.count+=1NewCounter1=counter()printNewCounter1.count#Theresultis1NewCounter2=counter()printNewCounter2.count#Theresultis2printNewCounter2.__class__.countisNewCounter2.count#result:Tru