Discuss / Python / 哪位前辈可以解释一下

哪位前辈可以解释一下

Topic source

attrs['insert'] = 'insert into %s (%s, %s) values (%s)' % (tableName, ', '.join(escaped_fields), primaryKey, create_args_string(len(escaped_fields) + 1)) 中的create_args_string(len(escaped_fields) + 1))作用是什么,没有在前面定义啊,也不是内置函数,为啥可以直接调用,很困惑,希望前辈们可以讲下,不胜受恩感激。

逝去的9211

#2 Created at ... [Delete] [Delete and Lock User]

create_args_string()函数是自己定义的,目的是方便快速生成sql语句。 我们在写insert语句时,会使用参数替换 比如: insert into tablename(列1,列2...) values(值1,值2...) 这里的 值1,值2 可以使用 '?'来插入。

attrs['insert'] = 'insert into %s (%s, %s) values (%s)' % (tableName, ', '.join(escaped_fields), primaryKey, create_args_string(len(escaped_fields) + 1)) 该函数在这条语句里面的作用就是在values后面插入count(列)个'?'

灰_手

#3 Created at ... [Delete] [Delete and Lock User]

其实没必要自己写一个create_args_string函数,用内置', '.join就可以达到相同的功能

attrs['insert'] = 'insert into %s (%s, %s) values (%s)' % (tableName, ', '.join(escaped_fields), primaryKey, ', '.join('?' * len(mappings)))

重新检查了一下发现是自己代码有问题。不过真的非常非常感谢。

@灰_手,确实。看了你的github帮助很大。

灰_手

#6 Created at ... [Delete] [Delete and Lock User]

最近在写这个实战的注释和一些个人心得,放在我的博客上,目前写到day5,如果实战遇到难点,可以来我博客逛逛,我的博客也是基于这个实战项目的。 http://www.qiangtaoli.com/

逝去的9211

#7 Created at ... [Delete] [Delete and Lock User]

@灰手 你的一些重构确实不错,廖老师有些代码确实写的过于繁琐和缺少优美感。以后多交流,你的blog已收藏

灰_手

#8 Created at ... [Delete] [Delete and Lock User]

@逝去的9211 有空多交流,重构系列会持续更新,博客功能也会继续扩展的。


  • 1

Reply