小编ver*_*rix的帖子

dict()和{}有什么区别?

所以我想说我想写一本字典.我们称之为d.但是有多种方法可以在Python中初始化字典!例如,我可以这样做:

d = {'hash': 'bang', 'slash': 'dot'}
Run Code Online (Sandbox Code Playgroud)

或者我可以这样做:

d = dict(hash='bang', slash='dot')
Run Code Online (Sandbox Code Playgroud)

或者,奇怪的是:

d = dict({'hash': 'bang', 'slash': 'dot'})
Run Code Online (Sandbox Code Playgroud)

或这个:

d = dict([['hash', 'bang'], ['slash', 'dot']])
Run Code Online (Sandbox Code Playgroud)

以及其他多种方式的dict()功能.显然,dict()提供的一件事是语法和初始化的灵活性.但这不是我要问的问题.

说我d只做一本空字典.当我做什么那张Python解释器的幕后d = {}d = dict()?它只是两种方式来做同样的事情?使用是否{}额外的电话dict()?是否有一个(甚至可以忽略不计)比另一个更多的开销?虽然这个问题真的完全不重要,但我很乐意回答这个好奇心.

python initialization instantiation

63
推荐指数
5
解决办法
4万
查看次数

如何在Python中获取套接字的外部IP?

当我调用socket.getsockname()套接字对象时,它返回我机器的内部IP和端口的元组.但是,我想检索我的外部IP.这样做最便宜,最有效的方式是什么?

python sockets

9
推荐指数
3
解决办法
2万
查看次数

提高Python的可读性?

我最近一直很喜欢Python编程.我来自对C语言编码的强烈热爱的背景,其中一切都可能比它应该更复杂(但至少把头发放在胸前).因此,从C转换到Python以获得不需要大量速度的更复杂的事情,这对于编写项目来说更是一种福音.

然而,就肉眼可以看到的来自括号和圆括号和结构的土地,我遇到了一个小问题:我发现Python难以阅读.

例如,除非我盯着它(我不喜欢这样做),否则下面的文本块很难解读:

if foo:
   bar = baz
   while bar not biz:
      bar = i_am_going_to_find_you_biz_i_swear_on_my_life()

did_i_not_warn_you_biz()
my_father_is_avenged()
Run Code Online (Sandbox Code Playgroud)

问题发生在那个if块:所有的标签然后突然回到一个震动的块感觉几乎令人不安.作为一个解决方案,我开始编写我的Python代码:

if foo:
   bar = baz
   while bar not biz:
      bar = i_am_going_to_find_you_biz_i_swear_on_my_life()
   #-- while --
#-- if --

did_i_not_warn_you_biz()
my_father_is_avenged()
Run Code Online (Sandbox Code Playgroud)

而且,由于一些奇怪的原因,这让我更能够阅读自己的代码.但我很好奇:还有其他人遇到我的奇怪问题,找到了更简单的方法来使他们的标签代码更具可读性吗?在我成为一个巨大的习惯之前,我很想知道是否有更好的方法可以做到这一点.

python readability

4
推荐指数
4
解决办法
2649
查看次数