if __name__ == "__main__": run()이 코드는 python name.py 와 같이 직접 실행할때 나타난다.
name.py를 import하여 사용할때는 rum()코드가 실행되지 않는다.
namespace와 관련이 있는데, name.py를 독립적으로 코드를 실행할때 사용된다.
if __name__ == "__main__": run()이 코드는 python name.py 와 같이 직접 실행할때 나타난다.
>>> dir()
['Stock', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
__dict__
속성을 확인하면 됩니다. 딕셔너리 타입에 'market':'kospi'라는 키와 값 쌍이 존재하는 것을 확인할 수 있습니다.>>> Stock.__dict__
mappingproxy({'market': 'kospi', '__module__': '__main__', '__dict__': <attribute '__dict__' of 'Stock' objects>, '__doc__': None, '__weakref__': <attribute '__weakref__' of 'Stock' objects>})
>>> class Parent:
def can_sing(self):
print("Sing a song")
>>> father = Parent()
>>> father.can_sing()
Sing a song
>>> class LuckyChild(Parent):
pass
>>> child1 = LuckyChild()
>>> child1.can_sing()
Sing a song
__init__(self)
와 같은 이름의 메서드를 생성자라고 하며, 파이썬 클래스에서 __
로 시작하는 함수는 모두 특별한 메서드를 의미합니다.__init__(self)
메서드를 가진 MyClass 클래스를 정의한 것입니다. 앞서 설명한 것처럼 생성자의 첫 번째 인자도 항상 self이어야 합니다.>>> class MyClass:
def __init__(self):
print("객체가 생성되었습니다.")
__init__(self)
메서드가 호출됐기 때문입니다.>>> inst1 = MyClass()
객체가 생성되었습니다.
>>> class BusinessCard:
def __init__(self, name, email, addr):
self.name = name
self.email = email
self.addr = addr
def print_info(self):
print("--------------------")
print("Name: ", self.name)
print("E-mail: ", self.email)
print("Address: ", self.addr)
print("--------------------")
>>> member1 = BusinessCard()
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
member1 = BusinessCard()
TypeError: __init__() missing 3 required positional arguments: 'name', 'email', and 'addr'
>>>
>>> member1 = BusinessCard("Kangsan Lee", "kangsan.lee", "USA")
>>> member1.print_info()
--------------------
Name: Kangsan Lee
E-mail: kangsan.lee
Address: USA
--------------------
>>>
>>> import os
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
>>> from os import listdir
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'listdir']
>>> os
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
os
NameError: name 'os' is not defined
>>> os.listdir()
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
os.listdir()
NameError: name 'os' is not defined
>>> listdir()
>>> import os as winos
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'winos']
>>> winos.getcwd()
'C:\\Anaconda3\\Lib\\idlelib'
>>>
>>> import time
>>> time.time()
1444532446.467043
>>> time.ctime()
'Sun Oct 11 12:00:50 2015'
>>> type(_)
<class 'str'>
_
를 사용했는데 파이썬 IDLE에서 _
는 가장 최근의 반환값을 바인딩하고 있는 변수입니다. <class 'str'>
, 즉 문자열 타입임을 알 수 있습니다.>>> cur_time = time.ctime()
>>> print(cur_time.split(' ')[-1])
2015
>>> for i in range(10):
print(i)
time.sleep(1)
>>> import time
>>> time
<module 'time' (built-in)>
>>> import random
>>> random
<module 'random' from 'C:\\Anaconda3\\lib\\random.py'>
>>> import time
>>> dir(time)
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']
>>> import os
>>> os.getcwd()
'C:\\Anaconda3\\Lib\\idlelib'
>>>
>>> os.listdir()
['aboutDialog.py', 'AutoComplete.py', 'AutoCompleteWindow.py', 'AutoExpand.py' .......]
>>> os.listdir('c:/Anaconda3')
['conda-meta', 'DLLs', 'Doc', 'envs', 'Examples', 'include', ....]
>>> files = os.listdir('c:/Anaconda3')
>>> len(files)
28
>>> type(files)
<class ‘list’>
>>> for x in os.listdir('c:/Anaconda3'): if x.endswith('exe'): print(x) python.exe pythonw.exe Uninstall-Anaconda.exe