Я хочу обходной путь для не использования глобальной переменной в коде - PullRequest
0 голосов
/ 30 октября 2018

Ниже приведен мой пример, и я хочу обойти эту проблему, чтобы не использовать глобальную переменную внутри функции.

Legend = '''
<style>
table {
    font-family: Times New Roman, sans-serif;
    border-collapse: collapse;
    width: 100%;
}
td, th {
    border: 1px solid #000000;
    text-align: center;
    height: 20px;
    overflow: hidden;
    padding: 2px;
}
tr:nth-child(even) {
    background-color: #ffffff;
}
</style> '''
for i in ts:
    Legend+= '<th>' + i + '</th>'
Legend += '''</tr>'''

def get_data_legend(value,name,sym=None):
    global Legend
    L1 = []
    for i in value:
       L1.append('{:,.0f}'.format(i))
    Legend += '''<tr><th>'''+name+'''</th>'''
    for i in gt:
        if sym is not None:
             Legend+= '<td>' + sym + str(i)  + '</td>'
        else:
             Legend += '<td>' + ' ' + str(i)  + '</td>'
    Legend += '''</tr>'''

get_data_legend(update_datapoints,'Update metrics')
get_bus_metrics(update_address,'Update address')
Legend += '''</tr></table><br><br>'''

Я использую глобальную переменную внутри функции, которая не подходит или не подходит. Я ищу обходной путь, чтобы мне не нужно использовать глобальную переменную внутри функции. Я новичок в питоне, может кто-нибудь, пожалуйста, попытайтесь помочь мне в этом.

1 Ответ

0 голосов
/ 30 октября 2018

У вас есть

>>> something = 'something'
>>> def bad():
...:    global something
...:    something += ' bad'
...:
>>> bad()
>>> something
>>> 'something bad'

Вы должны иметь

>>> def good(something):
...:    something += ' good'
...:    return something
...:
>>> something = good('something')
>>> something
>>> 'something good'
...