很基础的问题关于python
时间:2011-10-06
来源:互联网
初学python
在看python灰帽子一书
from ctypes import *
class barley_amount(Union):
_fields = [
("barley_long", c_long),
("barley_int",c_int),
("barley_char",c_char *8),
]
value=raw_input("Enter the amount of barley to put into the beer vat:")
my_barley=barley_amount(int(value))
print "Barley amount as along:%ld "% my_barley.barley_long
print "Barley amount as an int:%d" % my_barley.barley_int
print "Barley amount as a char :%s" %my_barley.barley.barley_char
书里面的代码 错误提示
my_barley=barley_amount(int(value))
TypeError: too many initializers
求教
在看python灰帽子一书
from ctypes import *
class barley_amount(Union):
_fields = [
("barley_long", c_long),
("barley_int",c_int),
("barley_char",c_char *8),
]
value=raw_input("Enter the amount of barley to put into the beer vat:")
my_barley=barley_amount(int(value))
print "Barley amount as along:%ld "% my_barley.barley_long
print "Barley amount as an int:%d" % my_barley.barley_int
print "Barley amount as a char :%s" %my_barley.barley.barley_char
书里面的代码 错误提示
my_barley=barley_amount(int(value))
TypeError: too many initializers
求教
作者: evi10r 发布时间: 2011-10-06
很多人都是从2.X入手的啊,不是很熟悉2.x的语法。你貌似把Union看成是构造函数的参数了?Union其实是父类。你的class barley_amount没实现__init__(self),(可以认为是构造函数),my_barley=barley_amount(int(value))实例化时你又传入了一个value参数,当然报too many的错咯,如果我没理解错你的意图,应该改为:
Python code
Python code
class barley_amount(Union): #如果Union不是父类,则去掉 def __init__(self,value): #可以看做是构造函数,但是不是 self._fields = [ ("barley_long", c_long), ("barley_int",c_int), ("barley_char",c_char *8), ]
作者: yby4769250 发布时间: 2011-10-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28