2016-11-19 2 views
0

Возможно ли иметь более одной глобальной переменной в скрипте python?Могу ли я иметь несколько глобальных переменных в сценарии python?

import os,csv,random 

def user(): 
    global Forname 
    Forname = input('What is your forname? ').capitalize() 
while True: 
    try: 
     global answerr 
     answerr = input('Welcome to the phone troubleshooting system ' 
         '\nApple\nSamsung ' 
         '\nOut of the following options enter the name of the device you own ').lower() 
    except ValueError: 
     continue 
    if answerr in ('apple','samsung'): 
     break 
myfile = open(answerr+'_device.csv','r') 
answer = input(Forname + ', do you have anymore problems? ').lower() 
if 'yes' in answer: 
#do whatever 
else: 
#do whatever 

Используя глобальную переменную «answerr» я хотел бы, чтобы открыть файл CSV, а также обратиться к пользователю с forname они ввода, но я хочу использовать их несколько раз через вне моего кода в опр функции. Я заранее извиняюсь, если вы не понимаете, о чем я прошу, я относительно новичок в кодировании, учитывая тот факт, что я все еще школьник.

ответ

3

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

точка функции является то, что он может возвращение значение:

def user(): 
    forename = input('What is your forename? ').capitalize() 
    return forename 
+0

Еще лучше переименовать функцию name как 'get_forename_from_user()' –

0

Могу ли я иметь несколько глобальных переменных в сценарии Python?

Да и вот как:

При назначении любой переменной на верхнем уровне модуля, как: n = "Stackoverflow!" тогда переменная является глобальной автоматически. Так скажем, у нас есть эти модули:

#globals.py 
x = 2 + 2 
y = 5 + x 

как x и y являются глобальными переменными, что означает, что они доступны для функций, классов и так далее. * Просто помните, что любое назначение на верхнем уровне модуля фактически глобально (это то, что мы называем глобальной областью, и оно может содержать столько переменных, сколько позволяет ваша память). Это точно так же, как и код, который вы опубликовали. Однако то, что мы не можем иметь такое же названное переменный в любой области:

same = 20 
same = "s" 
print(same) 

будет печататься с, не 20.

Надеется, что вы найдете это полезный :-)

+0

http://pastebin.com/s0yA5xET –