当我做:
summing += yval * np.log(sigmoid(np.dot(w.transpose(), xi.transpose()))) + (1-yval)* np.log(1-sigmoid(np.dot(w.transpose(), xi.transpose())))
Run Code Online (Sandbox Code Playgroud)
在没有除法的情况下,为什么我会得到"在日志中遇到零除"错误?结果,summing变成了[nan].
问:有没有办法在Python(3.6)中改变现有对象的方法?("方法"是指self作为参数传递的函数.)
例
假设我有一个类Person有一些非常有用的方法SayHi():
class Person(object):
Cash = 100
def HasGoodMood(self):
return self.Cash > 10
def SayHi(self):
if self.HasGoodMood():
print('Hello!')
else:
print('Hmpf.')
>>> joe = Person()
>>> joe.SayHi()
Hello!
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,人的反应取决于他们通过该方法计算的当前情绪HasGoodMood().默认情况下,只要他们有10美元以上的现金,他们就会心情愉快.
我可以很容易地创造一个不关心金钱并且一直很开心的人:
>>> joe.HasGoodMood = lambda: True
>>> joe.SayHi()
Hello!
>>> joe.Cash = 0
>>> joe.SayHi()
Hello!
Run Code Online (Sandbox Code Playgroud)
凉.请注意Python如何知道在使用原始实现时HasGoodMood,它会以静默方式self作为第一个参数传递,但如果我将其更改为lambda: True,则会调用不带参数的函数.问题是:如果我想更改HasGoodMood另一个也接受self作为参数的函数的默认值,该怎么办?
让我们继续我们的例子:如果我想创造一个Person只有超过100美元的贪婪的人呢?我想做的事情如下:
>>> greedy_jack = Person()
>>> greedy_jack.HasGoodMood = lambda self: self.Cash > …Run Code Online (Sandbox Code Playgroud) 我创建了一个新的 Django(v.1.11)项目并使用python manage.py createsuperuser我创建了一个用户。我可以使用此用户帐户登录到管理部分localhost:8888/admin。但是,我无能为力:每当我触发登录页面以外的POST 请求时,都会收到以下错误:
/admin/... 处的类型错误
slice indices must be integers or None or have an __index__ method
(“...”可以替换为auth/group/add/),但此行为是通用的,并非特定于此请求
以下回溯表明从页面解析 CSRF 令牌存在问题,但除了管理之外,我的应用程序中的其他页面没有出现此类问题。
Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/middleware/csrf.py" in process_view
298. request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py" in _get_post
126. self._load_post_and_files()
File "/usr/local/lib/python2.7/site-packages/django/http/request.py" in _load_post_and_files
299. self._post, self._files = self.parse_file_upload(self.META, data)
File "/usr/local/lib/python2.7/site-packages/django/http/request.py" in parse_file_upload …Run Code Online (Sandbox Code Playgroud) 我在.NET中使用GroupBy扩展时遇到问题(4.5,无论是VB.NET还是C#.Exaples都在C#中).情况如下:
2个示例类:
public class Office : IEquatable<Office>
{
public String Name { get; set; }
public int Id { get; set; }
public String Stuff { get; set; }
// Compare by values
public bool Equals(object obj)
{
if (obj is Office)
{
Office cmp = (Office) obj;
bool result = true;
result &= cmp.Id == this.Id;
result &= cmp.Name == this.Name;
result &= cmp.Stuff == this.Stuff;
return result;
}
else return false;
}
// Hashcode by values
public int …Run Code Online (Sandbox Code Playgroud) 在对numpy数组中的维求和时,第一个轴与最后一个轴之间是否存在性能差异?
具体来说,考虑以下代码,哪一个sum1和哪个sum2将执行得更快?
import numpy as np
a = np.ones((1000,200))
b = np.ones((200,1000))
sum1 = np.sum(a, axis=0)
sum2 = np.sum(b, axis=-1)
Run Code Online (Sandbox Code Playgroud)
我相信这个问题实际上可以归结为numpy如何在内部存储维度,可以使用行或列格式来覆盖它。但是,使用默认设置时,哪个更快?另外,N维数组呢?
python ×4
numpy ×2
.net ×1
c# ×1
django ×1
equality ×1
methods ×1
performance ×1
python-3.x ×1
vb.net ×1