零基础新人-一个超基础的语法问题,谢谢指教


零基础新生过来了。。。 我现在正在做一个本地数据库读取的程序,里面一段代码如下

import pymongo  # 下面的表示本地,27017表示本地端口
client = pymongo.MongoClient('localhost', 27017)
walden = client['walden'] 
sheet_lines = walden('sheet_lines') 

这里的 walden = client['walden'] 语法如何理解?它这句话目的我明白,是把数据库命名为wanden, 这里walden是 变量,['walden']是字符串,前面的client也是变量,这是什么奇怪语法??? 还有,这后面必须是 [' '] ? 我写成 (' ') 不可以吗?

  • 6 条回复 | 4 人参与
  • jkxruby # 1

    我忽然想到,这里是把walden当成一个字典,然后用的是读取键的语法形式,这样这行代码就能说得通了,我这样理解对吗?

  • 看语言是client是一个字典类型,然后获取字典里面的value,就需要[]这种形式。 ps:看的代码意思,没有做过这个。如有不对,请见谅

  • jkxruby # 3

    @sunyunfei 谢谢,终于有人回复了。是啊,我也想不通这句话的语法,但是当我把它和字典一对照的时候,我才觉得它这句话语法才说的通,但这也只是猜想。这论坛回复但人好少啊~~

  • Amight # 4

    别的看不懂,但是思路的话,我想"client['walden']"这种写法,只能是字典,client是字典名,walden是键, 你百度下"pymongo.MongoClient"这个方法,是不是取了一些键值对储存在变量名client里,然后第二行代码调用这里面的键.

  • jkxruby # 5

    @Amight 我也是这么猜想的,就是没法确定

  • client = pymongo.MongoClient('localhost', 27017)

    返回一个字典 client['walden']通过“键”——‘walden’映射到对应的“值”, 如果是用小括号,代表client是个可调用(callable)的函数

    建议学基础,此时不要并行学习客户端/服务器,这是网络编程的范畴,需要单独学习!

添加一条新回复
登录 或者 注册 后发表回复