因此,昨天我尝试在代码中使用、repr、和str,以便从列表中打印对象。这里只是一个小示例代码,我遇到了同样的问题。
class Something:
def __init__(self):
pass
def __repr__(self):
return "I want this out"
def __str__(self):
return "this comes out"
def main():
k = Something()
k
print(k)
mai
我的代码中有很多数字,比如万亿和五分之一个。所以我为他们做了一个花哨的转换器
class Repr:
def __str__(self):
# magic
return '123.456qa'
def __repr__(self):
for parent in self.__class__.__mro__:
if parent in [self.__class__, Repr]:
continue
return f'{s
我有一个友好的月班,我喜欢返回一个丑陋的机器人友好字符串:
In [3]: d = date(2010, 1, 31)
In [4]: m = Month(d)
In [5]: m
Out[5]: <dfa.date_range.Month at 0x7fb4d5793cc0>
我想让m展示一些类似1-31-2010的东西。我尝试使用unicode和str,就像在django中一样,没有骰子:
class Month(object):
def __init__(self, dateobj):
self.dateobj = dateobj
#
我第一次尝试在一个类中实现__repr__和__str__。然后,为了进行类调试,我尝试打印出class.__repr__()和class.__str__()值,但打印值为None。代码如下: class Window(object):
''' implements some methods for manage the window '''
def __new__(cls, master, width=1000, height=500):
''' check if the varia
因此,我有以下功能:
def find_by_name(self, name):
fitting_list = [p for p in self.__persons if name.lower() in p.name.lower()]
return fitting_list
当我要打印列表时,我得到以下输出:
[<src.store.domain.person.Person object at 0x000001F88705B128>]
为什么会发生这种事,我该如何解决呢?
我有一个自定义枚举类,它只能在调用__str__或__repr__时返回一组特定的字符串文本。考虑到这些序列化的字符串文本有时用作其他函数的输入(而且这些输入类型很好,即仅限于正确的字符串集),我希望返回类型的__str__和__repr__比str更精确。
请考虑以下几点:
from typing import Literal
class A:
def __repr__(self) -> Literal["world"]:
result : Literal["world"] = "world"
r
我用Python语言编写了一个实现__str__(self)的类,但是当我在包含该类实例的列表上使用print时,我只能得到默认的输出<__main__.DSequence instance at 0x4b8c10>。我是否需要实现另一个神奇的函数来让它工作,或者我必须编写一个自定义的打印函数?
下面是这个类:
class DSequence:
def __init__(self, sid, seq):
"""Sequence object for a dummy dna string"""
print、object和repr()有什么区别?为什么它要以不同的格式打印?
见output difference
>>> x="This is New era"
>>> print x # print in double quote when with print()
This is New era
>>> x # x display in single quote
'This is New era'
>>> x.__re
我以为我有这个,但后来都崩溃了。我要开始一个刮刀,从一个中国网站上提取数据。当我分离并打印我正在寻找的元素时,一切正常(“打印元素”和“打印文本”)。但是,当我将这些元素添加到字典中,然后打印字典(打印保持器)时,所有的“x85\xE6\xb0”都在我身上。试图将.encode('utf-8')作为附加进程的一部分只会抛出新的错误。这最终可能并不重要,因为它将被转储到CSV中,但它使故障排除变得非常困难。当我将元素添加到字典中以搞乱编码时,我在做什么?
谢谢!
from bs4 import BeautifulSoup
import urllib
#csv is for the
我试着用打印命令打印印地语字母,然后我看到了这个奇怪的\xe0\.一些东西。但是,如果我不使用print并使用引号打印它们,输出就像expected...why一样工作,所以呢?
这样做很好:
"This is ऋ ॠ ऌ"
但是,对于打印,它不能很好地工作:
var = "This is ऋ ॠ ऌ"
print "Again : %r" % var
我得到的输出如下:
Again : This is \xe0\xa4\x8b \xe0\xa5\xa0 \xe0\xa4\x8c'
为什么会这样?
注意:
# -*- coding: u
当它是一个字符串或一个数字是明确的,分别是打印的。
A=“这是一个字符串”
B=3
A
this is a string
B
3
如果我有更复杂的对象呢?我问你是因为我在学习一个模块
A.name
B.name
结果为一行(实际上覆盖了前面的输入),而
print (A.name)
print (B.name)
在两个单独的行(正常行为)
在IDLE解释器中,我使用dpkt执行以下操作:
for ts, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf)
现在,当我尝试查看'eth‘的内容时,我可以打印它,或者只写变量名。
当我这样做的时候:
print eth
我得到了:
O&áÿE(r @,òÀ¨
DYP?Jò}PªpÉ
然而,当我简单地写下:
eth
我得到了更多的预期输出:
Ethernet(src='<removed>', dst='<removed>', data=IP(src='<re
我在Python中有一个对象。在对数据集进行分析的过程中,创建了几个对象,并将其保存到基于objectID的字典中 class TrackableObject:
def __init__(self, objectID, centroid, timestart, timeend):
# store the object ID, then initialize a list of centroids
# using the current centroid
self.objectID = objectID
self.centroids =
我已经创建了自己的后进先出容器类堆栈,它支持push、len、pop方法和对isEmpty的检查。在我的示例调用中,所有方法似乎都在工作,除了当我调用这个类的一个已创建的实例时(在我的示例中),当我想要查看该对象的实际内容时,我收到了已创建对象的内存位置。
class Stack:
x = []
def __init__(self, x=None):
if x == None:
self.x = []
else:
self.x = x
def isEmpty(self):
我们有这样的课:
from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Dict
@dataclass
class BoardStaff:
date: str = datetime.now()
fullname: str
address: str
## attributes to be excluded in __str__:
degree: str
rank: int = 10
badges: b
纯粹是表面上的东西,但是当我在python中创建一个类时,我如何控制它的实例的标题呢?例如,for
class Foo():
def __init__(self, name):
self.name = name
然后,我可以创建一个实例:
>> f = Foo('bar')
>> f
<Foo instance at 0x10ab41a28>
如果我想让它返回bar,我该怎么办?(在Django中,您使用类的__unicode__方法,但我尝试将__unicode__和__str__函数都设置为返回self.name
class TestClass:
def __init__(self):
pass
def __str__(self):
return 'You have called __str__'
def __repr__(self):
return 'You have called __repr__'
a = TestClass()
print(object.__repr__(a))
print(object.__str__(a))
输出:
<__main__.TestClass objec
所以我从头开始用python做了一个基本的目录系统。我是个编程新手,正在把python作为Uni模块来做。所以我已经创建了从头开始创建树的函数,但现在我的任务是实际打印出对象(而不是直观地看到目录树的每个步骤)。这就是我目前的代码
class File:
pass
class Directory(File):
def __init__(self, name, left=None, right=None):
self.name = name
self.left = left
self.right = right