大家好我已经在python中看到了一些令我困惑的代码..
我见过的代码如下所示
row = rs.fetchone()
print 'Id:', row[0]
print 'Name:', row['name']
print 'Age:', row.age
print 'Password:', row[users.c.password]
我知道row ['name']表示row.name .so会打印带有消息名称的row ['name']的结果吗?或者它从行中获取并将其显示为名称?..
我对此有点困惑。所以对我的任何帮助都会非常感谢,我们将非常感谢你的回答...在此先感谢..
通过larsks回答我的编码是这样的
class student (object):
age = 30
c = student()
row.age
print 'age:', row[student.c.age]
但我有这样的错误..
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
class student (object):
File "<pyshell#5>", line 3, in student
c = student()
NameError: name 'student' is not defined
我没有像我预期的那样得到输出30 :(
答案 0 :(得分:1)
print'Id:',row [0]
这将打印列表的第一个元素。例如:
>>> row = [ 'a', 'b', 'c']
>>> row[0]
'a'
print'Name:',row ['name']
这会在字典中查找键name
。例如:
>>> row = { 'name': 'lars', 'species': 'cat' }
>>> row['name']
'lars'
打印'年龄:',row.age
这会在对象上查找属性。例如:
>>> class Row (object):
... age = 30
...
>>> row = Row()
>>> row.age
30
打印'密码:',行[users.c.password]
这只是上述的组合。它会查找password
的{{1}}属性的c
属性,然后将该值用作键,以便在字典中查找相应的值。