小编Tan*_*ash的帖子

Python变量范围错误

以下代码在Python 2.5和3.0中按预期工作:

a, b, c = (1, 2, 3)

print(a, b, c)

def test():
    print(a)
    print(b)
    print(c)    # (A)
    #c+=1       # (B)
test()
Run Code Online (Sandbox Code Playgroud)

但是,当我取消注释行(B)时,我得到了UnboundLocalError: 'c' not assigned一行(A).的值ab被正确地打印.这让我感到困惑,原因有两个:

  1. 为什么在行(A)处抛出运行时错误,因为后面的行(B)语句?

  2. 为什么变量ab打印符合预期,同时c引发错误?

我能想到的唯一解释是,赋值创建了一个局部变量,即使在创建局部变量之前,它也优先于"全局"变量.当然,变量在存在之前"窃取"范围是没有意义的.cc+=1c

有人可以解释一下这种行为吗?

python variables scope

195
推荐指数
7
解决办法
6万
查看次数

什么是奇怪的重复模板模式(CRTP)?

没有参考书,任何人都可以CRTP用代码示例提供一个很好的解释吗?

c++ templates c++-faq crtp

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

在PyCharm的内置控制台中获得更广泛的输出

我对使用PyCharm IDE相对较新,并且在内置控制台会话中无法找到更好地塑造输出的方法.我通常使用相当宽的数据帧,这些数据帧很容易适合我的显示器,但是显示器正在切割和包装它们,而不是需要它们.

有没有人知道改变这种行为的设置,以利用我的屏幕的整个宽度?

编辑:我没有足够的声誉发布截图,但链接如下:http: //imgur.com/iiBK3iU

我想在几列之后阻止它包装(例如,'ReadmitRate'列应该紧靠'SNFDaysPerSNFCase'的右侧)

python ipython pycharm pandas

45
推荐指数
4
解决办法
2万
查看次数

如何为git diff启用通配符文件路径?

我期望git diffgit add其他人那样工作,能够做类似的事情

git diff **/models.py
Run Code Online (Sandbox Code Playgroud)

而不是必须这样做

git diff /full/path/to/my/python/file/called/models.py
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为

git commit **/models.py
git add **/models.py
Run Code Online (Sandbox Code Playgroud)

两者都像你期望的那样工作.

git git-diff

16
推荐指数
1
解决办法
4304
查看次数

LINQ的All方法是否相反?

我正在使用

a_list.All(item => !(item.field_is_true == true))
Run Code Online (Sandbox Code Playgroud)

哪个效果很好,但我想知道是否有一个合适的LINQ方法来做相反的事情.

c# linq

14
推荐指数
2
解决办法
2719
查看次数

是否应将.class文件置于版本控制之下?

我遇到了一些同步问题,我不得不多次检查我的项目.

我们很多人正在研究一个android项目,需要保留适当的包结构,资源文件等...我认为所有这些都应该在存储库中,但是应该排除类/构建文件,对吧?

我的团队忽略提交他们的.class文件是不错的做法?

java version-control class

13
推荐指数
2
解决办法
5513
查看次数

什么时候在Python中使用数据库是合适的

我正在为游戏制作一个小插件,它需要在播放器上存储信息:

  • 用户名
  • IP地址
  • 游戏中的位置
  • 来自该用户名的ip或备用IP地址的备用用户名列表

我刚才读了一篇文章说,除非我存储了大量无法在ram中保存的信息,否则我不应该使用数据库.所以我尝试在python中使用shelve模块,但我不确定这是不是一个好主意.

你们什么时候认为使用数据库是一个好主意,何时以另一种方式存储信息更好,除了数据库和平面文件数据库之外,还有哪些其他方式来存储信息.

python database flat-file

13
推荐指数
2
解决办法
4083
查看次数

在Python-Requests中使用Chrome的Cookie

我正在尝试使用我从Chrome会话中获得的Cookie 登录http://www.steampowered.com网站.

一旦我抓住了所有cookie表的数据,使用命令SELECT * FROM cookie WHERE host_key LIKE '%steam%'和列名:PRAGMA table_info(cookie)并使用列表解析对所有数据进行排序,我不知道如何将其全部传递给requestscookie 以使cookie可用.

request文档说,你需要在一个字典,即通过cookies={'cookies':'are_working'}但随后一些键name小号互相覆盖,因为少数的names为:Steam_Language,虽然他们不同的主机.

编辑:刚刚找到如何在Python中将cookie添加到现有的cookielib CookieJar实例?这可能会帮助我,但我不知道如何格式化cookielib的Chrome Cookie

我的问题是:如何通过几个不同的网站cookie requests

python cookies google-chrome python-requests steam

13
推荐指数
1
解决办法
1万
查看次数

Python 3 - ValueError:没有足够的值来解包(预期 3,得到 2)

我的 Python 3 程序有问题。我使用 Mac OS X。此代码运行正常。

# -*- coding: utf-8 -*-
#! python3
# sendDuesReminders.py - Sends emails based on payment status in spreadsheet.

import openpyxl, smtplib, sys


# Open the spreadsheet and get the latest dues status.
wb = openpyxl.load_workbook('duesRecords.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')

lastCol = sheet.max_column
latestMonth = sheet.cell(row=1, column=lastCol).value

# Check each member's payment status.
unpaidMembers = {}
for r in range(2, sheet.max_row + 1):
payment = sheet.cell(row=r, column=lastCol).value
if payment != 'zaplacone':
    name = sheet.cell(row=r, column=2).value …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

13
推荐指数
3
解决办法
17万
查看次数

如何在BeautifulSoup.BeautifulStoneSoup中维护区分大小写的标签?

我正在编写一个用于编辑XML文件的脚本BeautifulStoneSoup,但该库会将所有标记转换为小写.是否可以选择保存案例?

import BeautifulSoup    
xml = "<TestTag>a string</TestTag>"    
soup = BeautifulSoup.BeautifulStoneSoup(xml, markupMassage=False)    
print soup.prettify() # or soup.renderContents()
#prints
>>> <testtag>a string</testtag> 
#instead of the expected
>>> <TestTag>a string</TestTag>
Run Code Online (Sandbox Code Playgroud)

python xml beautifulsoup

12
推荐指数
1
解决办法
3172
查看次数