我是python的初学者.我无法理解继承和__init__().
class Num:
def __init__(self,num):
self.n1 = num
class Num2(Num):
def show(self):
print self.n1
mynumber = Num2(8)
mynumber.show()
Run Code Online (Sandbox Code Playgroud)
结果: 8
还行吧.但我换成Num2了
class Num2(Num):
def __init__(self,num):
self.n2 = num*2
def show(self):
print self.n1,self.n2
Run Code Online (Sandbox Code Playgroud)
结果: Error. Num2 has no attribute "n1".
在这种情况下,如何Num2访问n1?
我想理解__init__Python中构造函数的参数.
class Num:
def __init__(self,num):
self.n = num
def getn(self):
return self.n
def getone():
return 1
myObj = Num(3)
print myObj.getn()
Run Code Online (Sandbox Code Playgroud)
结果:3
我称之为getone()方法:
print myObj.getone()
Run Code Online (Sandbox Code Playgroud)
结果:错误'getone()'不带参数(1given).
所以我更换:
def getone():
return 1
Run Code Online (Sandbox Code Playgroud)
同
def getone(self):
return 1
Run Code Online (Sandbox Code Playgroud)
结果:1这没关系.
但getone()方法不需要参数.
我是否必须使用毫无意义的论点?
我想得到x出现在嵌套列表中的次数.
如果列表是:
list = [1, 2, 1, 1, 4]
list.count(1)
>>3
Run Code Online (Sandbox Code Playgroud)
还行吧.但如果列表是:
list = [[1, 2, 3],[1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
如何获得1次出现的次数?在这种情况下,4.
我想在PIL中扩展"Image"类.
#module Image
def open(file): ...
class Image:
def method1:...
def method2:...
#module myOriginal
from Image import Image
class ExtendedImage(Image):
def method3:...
#module test
import myOriginal
im = myOriginal.open("picture.jpg")
Run Code Online (Sandbox Code Playgroud)
结果:Error.myOriginal没有属性"打开".
如何在不重写open()方法的情况下扩展Image类?
考虑一下:
list = 2*[2*[0]]
for y in range(0,2):
for x in range(0,2):
if x ==0:
list[x][y]=1
else:
list[x][y]=2
print list
Run Code Online (Sandbox Code Playgroud)
结果:
[[2,2],[2,2]]
Run Code Online (Sandbox Code Playgroud)
为什么结果不是[[1,1],[2,2]]?
我开始使用Google App Engine了,我想制作像twitter这样的东西.
class User(db.Model):
account = db.StringProperty()
password = db.StringProperty()
name = db.StringProperty()
class Message(db.Model):
user = db.ReferenceProperty()
text = StringProperty()
created = DateTimeProperty(auto_now=True)
Run Code Online (Sandbox Code Playgroud)
如何获取特定人的推文?我试试
que = db.Query(Message).order('-created').filter("user['account'] = ",'Tom')
Run Code Online (Sandbox Code Playgroud)
但这是错误的.我可以访问用户属性吗?