Python 3.x 使用python以组织模式生成类
我在Python 3.x 使用python以组织模式生成类,python-3.x,class,emacs,org-mode,aquamacs,Python 3.x,Class,Emacs,Org Mode,Aquamacs,我在org模式下使用python类时遇到困难 以下是组织模式文件的简单示例: 首先让我们定义一个类 #+BEGIN_SRC python :session :exports code class The_class(): def __init__(self, a): self.a = a def add_me(self): return self.a + self.a def sqr_me(self): return s
org模式下使用python
类时遇到困难
以下是组织模式文件的简单示例:
首先让我们定义一个类
#+BEGIN_SRC python :session :exports code
class The_class():
def __init__(self, a):
self.a = a
def add_me(self):
return self.a + self.a
def sqr_me(self):
return self.a**2
#+END_SRC
然后检查课程:
#+BEGIN_SRC python :session :exports both :results output
itm = The_class(3)
print('value of itm.a: {0}'.format(itm.a))
print('attributes: {0}'.format(itm.__dict__))
print('methods of itm: {0}'.format(dir(itm)))
#+END_SRC
并进行计算:
#+BEGIN_SRC python :session :exports both :results output
print(itm.add_me())
print(itm.sqr_me())
#+END_SRC
第二个块代码正确识别属性,但失败
识别dir(self)
中的self.add_me()
或self.sqr_me()
方法。
因此,当调用itm.add_me()
时,它会给我一个:
例如:
#+RESULTS:
: Traceback (most recent call last):
: File "<stdin>", line 1, in <module>
: File "/var/folders/l7/3vzbfyz93z1fz31m3m6srjcm0000gn/T/babel-18019W4Z/python-1801928I", line 1, in <module>
: print(itm.add_me())
: AttributeError: 'The_class' object has no attribute 'add_me' :
#+结果:
:回溯(最近一次呼叫最后一次):
:文件“”,第1行,在
:File“/var/folders/l7/3vzbfyz93z1fz31m3m6srjcm0000gn/T/babel-18019W4Z/python-1801928I”,第1行,在
:打印(itm.add_me())
:AttributeError:“类”对象没有属性“添加我”:
知道发生了什么吗?问题来自新词。把它们取下来
#+BEGIN_SRC python :session :exports code
class The_class():
def __init__(self, a):
self.a = a
def add_me(self):
return self.a + self.a
def sqr_me(self):
return self.a**2
#+END_SRC