In [1]:
def argsfunc(*args):
    i=0
    for x in args:
        i+=1
    print("인수의 개수 : %d" % i)
    print(args)

In [2]:
argsfunc(1,2,(3,4,5))


인수의 개수 : 3
(1, 2, (3, 4, 5))

In [3]:
argsfunc(1,"df",[1,2,3],{"a":"bb"})


인수의 개수 : 4
(1, 'df', [1, 2, 3], {'a': 'bb'})

In [7]:
def dictsfunc(**dicts):
    i = 0
    for x in dicts.keys():
        i+=1
    print("인수의 개수 %d" % i)
    print(dicts)

In [8]:
dictsfunc(a=1,b=2,c=4)


인수의 개수 3
{'c': 4, 'a': 1, 'b': 2}

In [11]:
dictsfunc(b="A",c=1)


인수의 개수 2
{'c': 1, 'b': 'A'}

In [12]:
def recommandable(*args,a):
    print(a,args)

In [13]:
recommandable(1,2,3,a=4)


4 (1, 2, 3)

In [15]:
recommandable(1,2,3,a=4)


4 (1, 2, 3)

In [16]:
print()




In [17]:
a = "전역값"

def aTest():
    a = a+"!!"
    print(a)

In [18]:
aTest()


---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
<ipython-input-18-9c27c7f2b3ec> in <module>()
----> 1 aTest()

<ipython-input-17-62d133835235> in aTest()
      2 
      3 def aTest():
----> 4     a = a+"!!"
      5     print(a)
      6 

UnboundLocalError: local variable 'a' referenced before assignment

In [31]:
class GlobalTest:
    a = "전역값"
    
    def gTest(self):
        self.a = self.a+"!!"
        print(self.a)
        print(a)

In [32]:
g = GlobalTest()

In [33]:
g.gTest()


전역값!!
전역값

In [35]:
locals()


Out[35]:
{'GlobalTest': __main__.GlobalTest,
 'In': ['',
  'def argsfunc(*args):\n    i=0\n    for x in args:\n        i+=1\n    print("인수의 개수 : %d" % i)\n    print(args)',
  'argsfunc(1,2,(3,4,5))',
  'argsfunc(1,"df",[1,2,3],{"a":"bb"})',
  'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)',
  'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
  'dictsfunc(a=1,b=2,c=4)',
  'def dictsfunc(**dicts):\n    i = 0\n    for x in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
  'dictsfunc(a=1,b=2,c=4)',
  'dictsfunc({"a":1})',
  'dictsfunc("a"=1)',
  'dictsfunc(b="A",c=1)',
  'def recommandable(*args,a):\n    print(a,args)',
  'recommandable(1,2,3,a=4)',
  'recommandable(1,2,3,4)',
  'recommandable(1,2,3,a=4)',
  'print()',
  'a = "전역값"\n\ndef aTest():\n    a = a+"!!"\n    print(a)\n\n    ',
  'aTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        a = a+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = selfa+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'local()',
  'locals()'],
 'Out': {},
 '_': '',
 '__': '',
 '___': '',
 '__builtin__': <module 'builtins' (built-in)>,
 '__builtins__': <module 'builtins' (built-in)>,
 '__doc__': 'Automatically created module for IPython interactive environment',
 '__loader__': None,
 '__name__': '__main__',
 '__package__': None,
 '__spec__': None,
 '_dh': ['/Users/jaegyuhan/PythonEx_1'],
 '_i': 'local()',
 '_i1': 'def argsfunc(*args):\n    i=0\n    for x in args:\n        i+=1\n    print("인수의 개수 : %d" % i)\n    print(args)',
 '_i10': 'dictsfunc("a"=1)',
 '_i11': 'dictsfunc(b="A",c=1)',
 '_i12': 'def recommandable(*args,a):\n    print(a,args)',
 '_i13': 'recommandable(1,2,3,a=4)',
 '_i14': 'recommandable(1,2,3,4)',
 '_i15': 'recommandable(1,2,3,a=4)',
 '_i16': 'print()',
 '_i17': 'a = "전역값"\n\ndef aTest():\n    a = a+"!!"\n    print(a)\n\n    ',
 '_i18': 'aTest()',
 '_i19': 'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        a = a+"!!"\n        print(a)',
 '_i2': 'argsfunc(1,2,(3,4,5))',
 '_i20': 'g = GlobalTest()',
 '_i21': 'g.gTest()',
 '_i22': 'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = selfa+"!!"\n        print(a)',
 '_i23': 'g = GlobalTest()',
 '_i24': 'g.gTest()',
 '_i25': 'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(a)',
 '_i26': 'g = GlobalTest()',
 '_i27': 'g.gTest()',
 '_i28': 'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)',
 '_i29': 'g = GlobalTest()',
 '_i3': 'argsfunc(1,"df",[1,2,3],{"a":"bb"})',
 '_i30': 'g.gTest()',
 '_i31': 'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)\n        print(a)',
 '_i32': 'g = GlobalTest()',
 '_i33': 'g.gTest()',
 '_i34': 'local()',
 '_i35': 'locals()',
 '_i4': 'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)',
 '_i5': 'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
 '_i6': 'dictsfunc(a=1,b=2,c=4)',
 '_i7': 'def dictsfunc(**dicts):\n    i = 0\n    for x in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
 '_i8': 'dictsfunc(a=1,b=2,c=4)',
 '_i9': 'dictsfunc({"a":1})',
 '_ih': ['',
  'def argsfunc(*args):\n    i=0\n    for x in args:\n        i+=1\n    print("인수의 개수 : %d" % i)\n    print(args)',
  'argsfunc(1,2,(3,4,5))',
  'argsfunc(1,"df",[1,2,3],{"a":"bb"})',
  'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)',
  'def dictsfunc(**dicts):\n    i = 0\n    for i in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
  'dictsfunc(a=1,b=2,c=4)',
  'def dictsfunc(**dicts):\n    i = 0\n    for x in dicts.keys():\n        i+=1\n    print("인수의 개수 %d" % i)\n    print(dicts)',
  'dictsfunc(a=1,b=2,c=4)',
  'dictsfunc({"a":1})',
  'dictsfunc("a"=1)',
  'dictsfunc(b="A",c=1)',
  'def recommandable(*args,a):\n    print(a,args)',
  'recommandable(1,2,3,a=4)',
  'recommandable(1,2,3,4)',
  'recommandable(1,2,3,a=4)',
  'print()',
  'a = "전역값"\n\ndef aTest():\n    a = a+"!!"\n    print(a)\n\n    ',
  'aTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        a = a+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = selfa+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)',
  'g = GlobalTest()',
  'g.gTest()',
  'class GlobalTest:\n    a = "전역값"\n    \n    def gTest(self):\n        self.a = self.a+"!!"\n        print(self.a)\n        print(a)',
  'g = GlobalTest()',
  'g.gTest()',
  'local()',
  'locals()'],
 '_ii': 'g.gTest()',
 '_iii': 'g = GlobalTest()',
 '_oh': {},
 '_sh': <module 'IPython.core.shadowns' from '/Users/jaegyuhan/anaconda3/lib/python3.5/site-packages/IPython/core/shadowns.py'>,
 'a': '전역값',
 'aTest': <function __main__.aTest>,
 'argsfunc': <function __main__.argsfunc>,
 'dictsfunc': <function __main__.dictsfunc>,
 'exit': <IPython.core.autocall.ZMQExitAutocall at 0x103f604e0>,
 'g': <__main__.GlobalTest at 0x1040d5828>,
 'get_ipython': <bound method InteractiveShell.get_ipython of <ipykernel.zmqshell.ZMQInteractiveShell object at 0x101c28f28>>,
 'quit': <IPython.core.autocall.ZMQExitAutocall at 0x103f604e0>,
 'recommandable': <function __main__.recommandable>}

In [ ]: