我似乎找不到存储模块绑定到的实际名称的位置。例如:
import re as my_re
print my_re.__name__ # Output is "re," not "my_re"
我希望能够获得导入模块的名称,而不是模块的实际名称。
我的用例是我有一个函数,该函数将函数对象作为参数,并且需要能够确定其绑定到的名称。这是一个更详尽的示例:
import module as my_module
def my_func(in_func):
print in_func.__bound-name__ # Or something to this effect
my_func(my_module.function1) # Should print "my_module.function1"
答案 0 :(得分:1)
我将模块名称作为字符串传递,然后使用globals()来获取要在函数中使用的模块。假设您将'np'传递给函数,那么globals()['np']将返回该函数。
In [22]: import numpy as np
In [23]: def demo(A):
...: a = globals()[A]
...: print(a.array([i for i in range(10)]))
...:
In [24]: demo('np')
[0 1 2 3 4 5 6 7 8 9]
答案 1 :(得分:1)
由于字符串x = 512 y = 512*(-1)+(-1)
不会存储在任何地方,它只是变量的名称,因此无法完全实现所需的操作。提出//this is the Main Activity
public class MainActivity extends AppCompatActivity {
public void PesoInEuro (View view){
EditText Peso = findViewById(R.id.EuroBetrag);
String amountPeso = Peso.getText().toString();
double amountPesodouble = Double.parseDouble(amountPeso);
double amountEurodouble = amountPesodouble * 46.85;
String amountEuro = String.valueOf(amountEurodouble);
Button buttonOne = (Button) findViewById(R.id.PesoEuro);
buttonOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDialog();
}
});
}
public void openDialog(){
DiaPesoEuro exampleDialog = new DiaPesoEuro();
exampleDialog.show(getSupportFragmentManager(), "example Dialog");
}
语句语法的PEP221解释说以下几行是相等的:
my_re
和
import ... as