如何在 Python 中调用不同模块中的函数而不重复该函数
How to call a function in a different module in Python and not repeating the function
我在 Python 的不同页面中定义了一个函数,如下所示:
def getData():
user=input('Enter Name')
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
但是,由于该函数在项目中的许多其他文件中被调用,它在运行时一遍又一遍地要求我输入用户名。
如何输入一次用户名,然后使用该缓存值获取所需的数据库,而无需多次输入用户名?
(不好意思问的比较通俗,我是初学者)
怎么样:
user = ''
def getData():
if len(user) == 0:
user=input('Enter Name')
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
通过将用户变量放在函数之外,它成为一个全局变量。在你里面测试,如果用户变量已经填充或没有
使凭据全局..
user=input('Enter Name')
def getData():
global user
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
您可以获得一次用户输入并将名称作为参数传递给您的函数,如下所示:
user = input('Enter name')
def getData(user):
##your code
我在 Python 的不同页面中定义了一个函数,如下所示:
def getData():
user=input('Enter Name')
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
但是,由于该函数在项目中的许多其他文件中被调用,它在运行时一遍又一遍地要求我输入用户名。
如何输入一次用户名,然后使用该缓存值获取所需的数据库,而无需多次输入用户名?
(不好意思问的比较通俗,我是初学者)
怎么样:
user = ''
def getData():
if len(user) == 0:
user=input('Enter Name')
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
通过将用户变量放在函数之外,它成为一个全局变量。在你里面测试,如果用户变量已经填充或没有
使凭据全局..
user=input('Enter Name')
def getData():
global user
if user=='Irfan':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
if user=='Usman':
mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)
return df
您可以获得一次用户输入并将名称作为参数传递给您的函数,如下所示:
user = input('Enter name')
def getData(user):
##your code