我有以下一段代码:
import numpy as np
arr = np.arange(10)
slice = arr[2:5]
slice[:] = 12
print(arr)
slice = slice / 2
print(arr)
Run Code Online (Sandbox Code Playgroud)
输出将是:
[ 0 1 12 12 12 5 6 7 8 9]
[6. 6. 6.]
[ 0 1 12 12 12 5 6 7 8 9]
Run Code Online (Sandbox Code Playgroud)
所以第一次slice只是对一部分的引用,arr所以修改它也会改变数组,但第二次它变成了数组那部分的副本,修改它在arr. 为什么会发生这种情况?有什么slice = slice / 2不同?
我似乎无法弄清楚这一点:我试图使用Alamofire请求从我的服务器(在JSON中)获取错误,但我无法获得该函数之外的值.
这是我的功能的实现:
func alamoRequest(username : String, email: String, password: String, facebook: String, completionHandler : (String?) -> Void) {
var jsonValue : JSON?
let URL = "http://someurl.com/login.php"
let requestParameters = ["username" : username, "email" : email, "password" : password, "facebook" : facebook, "date": NSNull()];
var jsonString : String = String()
Alamofire.request(.GET, URL, parameters: requestParameters).validate().responseJSON {
response in
switch response.result {
case .Success:
if let value = response.result.value {
jsonValue = JSON(value)
jsonString = jsonValue!["error"].stringValue
print("Value in implementation is: \(jsonString)")
}
case …Run Code Online (Sandbox Code Playgroud)