当我做一个课程定义时,我总是去
Class A(object):
def __init__(self, arg):
self.arg = arg
def print_arg(self):
print(self.arg)
Run Code Online (Sandbox Code Playgroud)
a = A('你好')
打印a.arg
'你好'
但是我在https://github.com/Pylons/webob/blob/master/src/webob/request.py的第133和134行中找到的东西让我想到我在A类中所做的与以下之间有什么区别:
Class B(object):
def __init__(self, arg):
self.__dict__['arg'] = arg
def print_arg(self):
print(self.arg)
Run Code Online (Sandbox Code Playgroud)
b = B('再见')
打印b.arg
'再见'
在 Python 2.7 中编写模块时,我需要一种方法来做
name = "Rodrigo"
age = 34
print f"Hello {name}, your age is {age}".format()
Run Code Online (Sandbox Code Playgroud)
虽然我知道我可以这样做:
print "Hello {name}, your age is {age}".format(name=name, age=age)
Run Code Online (Sandbox Code Playgroud)
format()将查看变量name和的范围age,将它们转换为字符串(如果可能)并粘贴到消息中。我发现这已经在 Python 3.6+ 中实现,称为Formatted String Literals。所以,我想知道(在谷歌上找不到)是否有人已经为 Python 2.7 做了类似的事情