小编dop*_*ler的帖子

为什么调用Python的"魔术方法"不像对应的运算符那样进行类型转换?

当我从一个整数(例如1-2.0)中减去一个浮点数时,Python会进行隐式类型转换(我认为).但是当我使用魔术方法调用我认为是相同的操作时__sub__,它突然不再存在了.

我在这里错过了什么?当我为自己的类重载运算符时,除了明确地将输入转换为我需要的任何类型之外,还有其他方法吗?

a=1
a.__sub__(2.)
# returns NotImplemented
a.__rsub__(2.)
# returns NotImplemented
# yet, of course:
a-2.
# returns -1.0
Run Code Online (Sandbox Code Playgroud)

python type-conversion magic-methods implicit-conversion

29
推荐指数
2
解决办法
1677
查看次数

从proj4参数构建cartopy CRS

I downloaded a MODIS .hdf file. Loading it with xarray, it gives me an attribute ds.Proj4String == ' +a=6378137.0 +b=6356752.3142451793 +no_defs +proj=latlong\n'.

How can I use that string to convert the raw coordinates to e.g. lat/lon?

This is what the data look like:

<xarray.Dataset>
Dimensions:                  (XDim:mod06: 1503, YDim:mod06: 833)
Dimensions without coordinates: XDim:mod06, YDim:mod06
Data variables:
    Cloud_Optical_Thickness  (YDim:mod06, XDim:mod06) float32 ...
Attributes:
    HDFEOSVersion:     HDFEOS_V2.19
    StructMetadata.0:  GROUP=SwathStructure\nEND_GROUP=SwathStructure\nGROUP=...
    CoreMetadata:      \nGROUP = INVENTORYMETADATA\n  GROUPTYPE = MASTERGROUP...
    ArchiveMetadata:   GROUP = ARCHIVEDMETADATA\n  GROUPTYPE = …
Run Code Online (Sandbox Code Playgroud)

python gis proj cartopy

3
推荐指数
1
解决办法
1522
查看次数