私信  •  关注

Simon

Simon 最近回复了
5 年前
回复了 Simon 创建的主题 » 使用python中的一组数据执行数学运算

你标记了 pandas ,所以这里有一个简单的解决方案 shift() :

data = [30.5, 31.01, 30.4, 30.01, 29.5, 29.6, 29.63, 30.5, 30.33, 30.2]
data = pd.Series(data)
data - data.shift()

0     NaN
1    0.51
2   -0.61
3   -0.39
4   -0.51
5    0.10
6    0.03
7    0.87
8   -0.17
9   -0.13

在解释之前 if __name__ == '__main__' 重要的是要了解 __name__ 是什么,它做什么。

是什么 __姓名__ ?

__姓名__ 是一个 DunderAlias -可以将其视为全局变量(可从模块访问),其工作方式与 global .

它是一个字符串(如上所述为全局字符串),由 type(__name__) (屈服 <class 'str'> ),是两者的内置标准 Python 3 Python 2 版本。

哪里:

它不仅可以在脚本中使用,还可以在解释器和模块/包中找到。

翻译:

>>> print(__name__)
__main__
>>>

脚本:

测试文件.py :

print(__name__)

导致 __main__

模块或包:

somefile.py文件:

def somefunction():
    print(__name__)

测试文件.py:

import somefile
somefile.somefunction()

导致 somefile

注意,当在包或模块中使用时, __姓名__ 获取文件名。未给出实际模块或包路径的路径,但有自己的DunderAlias __file__ ,这样就可以了。

你应该看看,在哪 __姓名__ ,其中主文件(或程序)将 总是 返回 __主要__ ,如果它是一个模块/包,或者任何正在运行其他Python脚本的东西,那么它将返回源文件的名称。

练习:

作为一个变量意味着它的值 可以 被覆盖(“can”不代表“should”),覆盖 __姓名__ 将导致可读性不足所以,无论如何,不要这样做。如果需要变量,请定义新变量。

通常假设 __姓名__ 成为 __主要__ 或文件名再次更改此默认值将导致更多的混淆,即它将起到良好的作用,从而进一步引发问题。

例子:

>>> __name__ = 'Horrify' # Change default from __main__
>>> if __name__ == 'Horrify': print(__name__)
...
>>> else: print('Not Horrify')
...
Horrify
>>>

一般来说,包括 如果u name_uuuu='\uu main_uuu' 在剧本里。

现在回答 如果u name_uuuu='\uu main_uuu' :

现在我们知道 __姓名__ 事情变得更清楚了:

一个 if 是一个流控制语句,包含给定值为真时将执行的代码块。我们已经看到了 __姓名__ 两种都可以 __主要__ 或者从中导入的文件名。

这意味着如果 __姓名__ 等于 __主要__ 然后该文件必须是主文件,并且必须实际运行(或者它是解释器),而不是导入到脚本中的模块或包。

如果真的 __姓名__ 是否取 __主要__ 然后代码块中的任何内容都将执行。

这告诉我们,如果运行的文件是主文件(或者直接从解释器运行),则必须执行该条件如果它是一个包,那么它不应该,并且值将不是 __主要__ .

模块:

__姓名__ 也可以在模块中用于定义模块的名称

变体:

也可以做其他不太常见但有用的事情 __姓名__ ,一些我将在这里展示:

仅当文件是模块或包时执行:

if __name__ != '__main__':
    # Do some useful things 

如果文件是主文件,则运行一个条件;如果不是主文件,则运行另一个条件:

if __name__ == '__main__':
    # Execute something
else:
    # Do some useful things

您还可以使用它在包和模块上提供可运行的帮助函数/实用程序,而无需精心使用库。

它还允许模块作为主脚本从命令行运行,这也非常有用。

6 年前
回复了 Simon 创建的主题 » 通过git将django项目部署到heroku:“没有名为..“失败”

好吧,经过一批又一批的测试——我终于意识到需求文件一直在变化(我很确定,不仅是在我运行freeze时)。

因此,Requirements.txt文件中不再包含以前安装的几个包。本质上,这意味着,这个错误实际上是按要求完成的,并且有所有必需的包。

我的最后一揽子清单如下:

appdirs==1.4.3
astroid==2.0.4
certifi==2018.8.24
chardet==3.0.4
cycler==0.10.0
Django==2.1.1
django-bootstrap3==11.0.0
dj-database-url==0.5.0
dj-static==0.0.6
gunicorn==19.3.0
idna==2.7
isort==4.3.4
kiwisolver==1.0.1
lazy-object-proxy==1.3.1
matplotlib==2.2.2
mccabe==0.6.1
numpy==1.15.0
psycopg2>=2.6.1
pygal==2.4.0
pygal-maps-world==1.0.2
pygame==1.9.4
pylint==2.1.1
pyparsing==2.2.0
python-dateutil==2.7.3
pytz==2018.5
requests==2.19.1
six==1.11.0
static3==0.6.1
urllib3==1.23
virtualenv==16.0.0
whitenoise==4.1.2
wrapt==1.10.11
6 年前
回复了 Simon 创建的主题 » 当我试图从python调用jira项目时,会得到一个json错误

我在一个项目中就是这样做的:

JIRA(basic_auth=(self.username, self.password), options={'server': 'URL'})
14 年前
回复了 Simon 创建的主题 » 如何在mysql中创建只显示最后一行的组?[重复]

我们可以用这个方法删除表中的重复项吗?结果集基本上是唯一记录的集合,所以如果我们可以删除不在结果集中的所有记录,我们将有效地没有重复项?我试过了,但mysql给出了一个1093错误。

DELETE FROM messages WHERE id NOT IN
 (SELECT m1.id  
 FROM messages m1 LEFT JOIN messages m2  
 ON (m1.name = m2.name AND m1.id < m2.id)  
 WHERE m2.id IS NULL)

是否有方法可以将输出保存到临时变量,然后从NOT IN(临时变量)中删除?@比尔,谢谢你提供了一个非常有用的解决方案。

编辑:我想我找到了解决办法:

DROP TABLE IF EXISTS UniqueIDs; 
CREATE Temporary table UniqueIDs (id Int(11)); 

INSERT INTO UniqueIDs 
    (SELECT T1.ID FROM Table T1 LEFT JOIN Table T2 ON 
    (T1.Field1 = T2.Field1 AND T1.Field2 = T2.Field2 #Comparison Fields  
    AND T1.ID < T2.ID) 
    WHERE T2.ID IS NULL); 

DELETE FROM Table WHERE id NOT IN (SELECT ID FROM UniqueIDs);
6 年前
回复了 Simon 创建的主题 » 在https://name.github.io上使用recaptcha

reCAPTCHA FAQ :

最近,我的recaptcha小部件开始显示“无效的站点密钥”。怎么了? 如果您看到此错误,您的reCAPTCHA站点密钥将不再是 有效。若要激活,请注册新密钥并按 那一页上的说明。