title: Passing variable inside of function to a variable outside of function
body: <p>I am trying to set a new variable to reference a variable inside a function. My pseudo code goes like this:</p>
  
  <pre><code>def myfunction():
     a bunch of stuff that results in
     myvariable = "Some Text"
  </code></pre>
  
  <p>Further down the code I have this:</p>
  
  <pre><code>for something in somethinglist:
     if something == iteminsomethinglist:
         myfunction()
         mynewvariable1 = myvariable
     elif something == iteminsomethinglist:
         myfunction()
         mynewvariable2 = myvariable
     else:
         mynewvariable3 = myvariable
  </code></pre>
  
  <p>I keep getting an error message that says something like: <strong>name 'myvariable' is not defined</strong></p>
  
  <p>I guess I thought that if I called the function, it processes some stuff, I pass result into a variable and then reference that variable to a more unique variable, it would store it....but it's not. </p>
  
  <p><strong>Edit:</strong> I am attaching my code because it I wasn't clear enough in my first post. There is a variable within my function I wanted to reference outside of it (actually there are 2) I apologize for not making it clear enough. I though my original psuedo code proposed the question well enough. I also have a feeling that this might not be the best approach. Possible calling 2 functions would be more appropriate? My code is below:</p>
  
  <pre><code>def datetypedetector():
  
      rows = arcpy.SearchCursor(fc)
  
      dateList = []
  
      for row in rows:
          dateList.append(row.getValue("DATE_OBSERVATION").strftime('%m-%d-%Y'))
  
      del row, rows
  
      newList = sorted(list(set(dateList)))
  
      dates = [datetime.strptime(d, "%m-%d-%Y") for d in newList]
  
      date_ints = set([d.toordinal() for d in dates])
  
      if len(date_ints) == 1:
          DTYPE = "Single Date"
          #print "Single Date"
      elif max(date_ints) - min(date_ints) == len(date_ints) - 1:
          DTYPE = "Range of Dates"
          #print "Range of Dates"
      else:
          DTYPE = "Multiple Dates"
          #print "Multiple Dates"
  
      fcList = arcpy.ListFeatureClasses()
  
  for fc in fcList:
  
      if fc == "SO_SOIL_P" or fc == "AS_ECOSITE_P":
          datetypedetector()
          ssDate = newList
          print fc + " = " + str(ssDate)
          ssDatetype = DTYPE
          print ssDatetype
  
      elif fc == "VE_WEED_P":
          datetypedetector()
          vwDate = newList
          print fc + " = " + str(vwDate)
          vwDatetype = DTYPE
          print vwDatetype
  
      else: 
          datetypedetector()
          vrDate = newList
          print fc + " = " + str(vrDate)
          vrDatetype = DTYPE
          print vrDatetype
  </code></pre>