오늘 배운 것 중에는 제어, 함수, 클래스, 오브젝트, 예외가 가장 중요하다.
# if문
a = 2
b = 1
if a>b:
s = "{}가 {}보다 크다"
print(s.format(a, b))
print()
print("A") if a>b else print("B")
print()
c = 4
if c>3: print(str(c)+"는 3보다 크다"); print("이것도 바디인가?")
elif c<3: print(str(c)+"는 3보다 작다")
else: print(str(c)+"는 3이다")
print()
d1 = 3
d2 = 4
d3 = 5
if d1<d2 or d2>d3 :
print("수행")
print()
e1 = 6
e2 = 7
if e1>5:
print("1")
if e2>6: print("2"); print("22")
else: print("3")
print()
if(9>8):
pass
print("end")
# while문
a = -1
while a<5:
a+=1
#if a==2: break
if a==2: continue
print(a)
print()
b = 0
while b<5:
print(b)
b+=1
else:
print("더 이상 5보다 작지 않음")
print("end")
# for문
animals = ["tiger", "lion", "rabbit", "mouse"]
for x in animals:
if x == "rabbit": continue #break
print(x)
print()
for c in "tiger":
print(c)
print()
for x in range(1, 5):
print(x)
print()
for x in range(0, 5, 2):
print(x)
print()
for x in range(5):
print(x)
else:
print("end!!")
print()
a = ["a", "b", "c"];
b = ["A", "B", "C"];
for x in a:
for y in b:
print(x, y)
print()
for x in range(2):
for y in range(1, 3):
print(x, y)
print()
for x in ["AA", "BB", "CC"]:
print(x)
print()
m = {"k1":"AA", "k2":"BB", "k3":"CC"}
#방법1
for x in m:
print(x, m[x])
print()
#방법2
for x, y in m.items():
print(x, y)
# function
def m1():
print("This is a function")
m1(); m1(); m1()
print()
def m2(name, age):
print("name:", name, "age:", age)
m2("길동", 30); m2("순신", 20)
print()
def m3(*args):
#print(args[1])
for x in args:
print(x)
m3("짜장", "짬뽕", 20)
print()
def m4(**args):
print(args["name"], args["age"], args["addr"])
m4(name="홍길동", age=20, addr="서울")
print()
def m5(arg1, arg2, arg3):
print("args1:", arg1, "args2:", arg2, "args3:", arg3)
m5(arg3="가", arg1="나", arg2="다")
print()
def m6(arg="바보"):
print("arg:", arg)
m6("천재")
m6()
print()
def m7(animals):
for x in animals:
print(x)
animals = ["rabbit", "tiger", "lion", "deer"]
m7(animals)
print()
def m8(a, b):
return a + b
print( m8(1,2) )
def m9():
pass
print("end!")
# class 와 object
class Human1:
name = "길동"
h1 = Human1()
print(h1.name)
print()
class Human2:
def __init__(self, name, age):
self.name = name
self.age = age
def m1(self):
print("m1()")
def m2(self, addr):
self.addr = addr
print("m2() name:", self.name , "addr", addr)
h2 = Human2("이순신", 24)
h2.m1()
h2.m2("서울")
print("속성 결과1=>", h2.name, h2.age, h2.addr)
h2.addr = "부산" #속성값 변경
print("속성 결과2=>", h2.name, h2.age, h2.addr)
del h2.addr
print("속성 결과3=>", h2.name, h2.age) #h2.addr 사용불가
del h2 # 객체삭제
class Human3:
pass
# 상속 ( Inheritance )
class Human:
def __init__(self, name):
self.name = name
def move(self):
print("걷는다")
h = Human("길동")
print("h.name:", h.name)
h.move()
print()
class Superman(Human):
def __init__(self, name, power):
#Human.__init__(self, name) # 방법1
super().__init__(name) #방법2
self.power = power
def move(self):
print("난다")
def shotLaserBeam(self):
print("광선을 쏘다")
s = Superman("클락", 100)
print("s.name:", s.name)
print("s.power:", s.power)
s.move()
s.shotLaserBeam()
print()
m = Human(s)
m.move() #걷는다 : java랑 다른데?
#m.shotLaserBeam() #불가
# Exception
# (1) 예외처리
try:
x = 10
print(x)
except NameError:
print("Erorr 발생")
except:
print("위의 Erorr 이외의 예외 발생")
finally:
print("항상 수행되는 영역")
print()
# (2) 예외발생
flag = False
def m1():
if flag:
raise Exception("Soo's Exception")
try:
m1()
print("예외 발생 안함")
except:
print("내가 만든 예외 발생 됨")
자바
1. for(String item: items)
2. for(int i=0; i<5; i++)
3. for(int i=0; i<5; i+=2)
4. for(int i=0; i<2; i++){
for(int j=1; j<3; j++){
System.out.println(i + " " + j);
}
}
파이썬
1. for item in items:
2. for x in range(5):
3. for x in range(0, 5, 2):
4. for x in range(2):
for y in range(1,3):
print(x, y)
*args
은 쭉 리스팅 되는 거고, **args
은 Key-Value 값으로 넘길 수 있다는 것임void m(){}
같은 빈 함수를 선언해주고 싶을 때는 pass
를 해줘야 함self
라고 적어준다. ex) def m1(self)