【day18_python_类关系】教程文章相关的互联网学习教程文章

python – 从类访问私有模块变量【代码】

我正在尝试理解python范围规则.为此,我尝试从同一模块中的类访问“非常私有”变量bar = "bar" _bar = "underscore" __bar = "double underscore"def foo():print barprint _barprint globals()["__bar"]print __barclass Foo:def __init__(self):print barprint _barprint globals()["__bar"]print __bar #NameError: global name '_Foo__bar' is not definedfoo() Foo()它因NameError而失败.我在规范中找不到任何相关内容.那么,为...

Python类失去了属性【代码】

我有一个奇怪的python问题.在我的gtk python应用程序的执行过程中,我的一些类对象神秘地丢失属性,导致程序的某些功能中断. 很难理解为什么会发生这种情况 – 我从不故意删除属性,并且有问题的类继承自我自己编写的类(而不是其他类). 我可以通过重复执行某个操作来触发问题(例如,生成多次调用add_card方法 – 通过疯狂点击或打开文件,导致add_card被调用大约20次) 我真的很茫然,我希望我能提供更多有用的信息给你. 什么可能导致pyth...

在Python类中初始化和使用常量的最佳方法是什么?【代码】

这是我如何声明常量并在不同的Python类中使用它们:# project/constants.py GOOD = 1 BAD = 2 AWFUL = 3# project/question.py from constants import AWFUL, BAD, GOODclass Question:def __init__(self):...以上是存储和使用含有值的好方法吗?我意识到,经过一段时间后,常量文件可以变得非常大,我可以明确地在任何给定文件中导入其中的10个常量.解决方法:为什么不用import constantsdef use_my_constants():print constants.GOOD...

关于python 类的使用【代码】

用的时候发现关于 python 的一些知识已经忘记一些了,还需要重新查找。 以下是根据记忆和查找网上资料完成的。 1 类命名的形式 (正确)class One(object):def one_1(self, a):print("a:", a)object - 父类的名称,表示继承自 object 类。 要是没有父类,也可以直接写程 object ,如上个代码并没有父类,这样写可以。但是如下缩写,就不符合 PEP8 要求(可以运行,但不规范),会提示你删掉括号。 (不太正确)class One():def one...

python – 在类中捕获异常【代码】

是否可以编写异常处理程序来捕获类中所有方法生成的运行时错误?我可以通过try / except包围每个人来做到这一点:class MyError(Exception):def __init__(self, obj, method):print 'Debug info:', repr(obj.data), method.__name__raiseclass MyClass:def __init__(self, data):self.data = datadef f1(self):try:all method code here, maybe failing at run timeexcept:raise MyError(self, self.f1)我想知道是否有更通用的方法...

python – 为什么这个类运行?【代码】

我已经玩了一段时间我的代码,这个不是关于一个bug或任何东西,但我只是不明白为什么类main()运行而不需要初始化它…class vars():var1 = "Universe!"var2 = "Oscar!"var3 = "Rainbow!"class main():print (vars.var1)def __init__(self):print (vars.var2)print (vars.var3)但是,非常感谢你阅读.解决方法:与许多其他语言不同,类体是Python中的可执行语句,并在解释器到达类行时立即执行.当你运行这个“程序”时:class Foo:print("he...

Python类的访问限制【代码】

使用两个_将变量设置为private,访问变量可定义get方法,对变量值修改可定义set方法,修改变量值的时候可检查参数的有效性。class Student(object):#定义一个Student类,def __init__(self, name, score,age,gender):self.__name = nameself.__score = scoreself.__age = ageself.__gender = gender#使用两个_对变量进行私有化,其实例对象不可直接调用变量def get_name(self):return self.__namedef get_grade(self):return self....

python – 在类字段中存储类的所有实例是不是很糟糕?【代码】

我想知道在做这样的事情时是否有任何错误(从OOP的角度来看):class Foobar:foobars = {}def __init__(self, name, something):self.name = nameself.something = somethingFoobar.foobars[name] = selfFoobar('first', 42) Foobar('second', 77)for name in Foobar.foobars:print name, Foobar.foobars[name]编辑:这是我正在使用的实际代码片段from threading import Event class Task:ADDED, WAITING_FOR_DEPS, READY, IN_EXECUT...

python类中的__str__以及__repr__

一.__str__打印时触发class A:def __str__(self):#打印时候执行的代码块return 'ok' # 如果不返回字符串类型,则会报错 print(A()) #相当于 print(A().__str__()) # 打印的时候就是在打印返回值 二.__ repr__str函数或者print函数--->obj.__str__() repr或者交互式解释器--->obj.__repr__() str函数或者print函数如果__str__没有被定义,那么就会使用__repr__来代替输出 str函数或者print函数如果__str__被定义,那么__repr__就不...

python类继承、对self理解、静态方法【代码】

原文链接:https://blog.csdn.net/qq_31927785/article/details/729027081.继承 在面向对象的语言,继承是一个面向对象编程语言的特征,当我们需要一个新的类,与已经定义的类差别不大,我们可以直接继承的方法,定义一个子类,来提高效率,同时也不需要修改已经定义的类,继承可以不修改父类的情况下,添加新的功能,子类继承父类,子类就拥有父类的属性和方法,当然私有属性不会继承。子类也称为派生类,在不同语言中,继承又可以...

python – 类没有对象成员【代码】

def index(request):latest_question_list = Question.objects.all().order_by('-pub_date')[:5]template = loader.get_template('polls/index.html')context = {'latest_question_list':latest_question_list}return HttpResponse(template.render(context, request))该函数的第一行在Question.objects.all()上出错 – > E1101:类’Questionhas no objectsmember` 我遵循Django文档教程,他们有相同的代码并运行. 我试过调用一个实...

如何更改Python类的字符串表示形式?【代码】

参见英文答案 > How to print instances of a class using print()? 10个在Java中,我可以覆盖我的类的toString()方法.然后Java的print函数打印由toString()定义的对象的字符串表示.是否有一个Python等同于Java的toString()? 例如,我有一个PlayCard课程.我有一个PlayCard的实例c.现在:>>> print(c) <__main__.Card object at 0x01FD5D30>但我想要的是:>>> print(c) A?如何自定义类实例的字符...

在Python类继承中继承docstrings【代码】

我正在尝试在Python中进行一些类继承.我希望每个班级和继承的班级都有良好的文档字符串.所以我认为对于继承的类,我希望它: >继承基类docstring>可能会将相关的额外文档附加到docstring 在类继承情况下是否有任何(可能是优雅或pythonic)方式进行此类文档字符串操作?多重继承怎么样?解决方法:你并不是唯一的一个!不久之前有关于comp.lang.python的讨论,并且创建了一个食谱.看看here.""" doc_inherit decoratorUsage:class Foo(ob...

Python类中使用的’cls’变量是什么?【代码】

为什么在Python类中有时使用cl而不是self作为参数? 例如:class Person:def __init__(self, firstname, lastname):self.firstname = firstnameself.lastname = lastname@classmethoddef from_fullname(cls, fullname):cls.firstname, cls.lastname = fullname.split(' ', 1)解决方法:“自我”和“cls”之间的区别在PEP 8中定义.正如阿德里安所说,这不是强制性的.这是一种编码风格. PEP 8说:Function and method arguments: Alway...

python类的继承【代码】

一、类的继承语法: class SubClass(SuperClass1,SuperClass,...):passpython支持多继承且默认继承object类,多个父类拥有共同方法时,python调用继承顺序第一的父类方法,如下例: class Item():def info(self):print('Item的info方法')class Product():def info(self):print('product的info方法')class Mouse(Item, Product):passc = Mouse() c.info() #调用item的info方法