외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop/Python

파이썬 연습장

hyg4196 2021. 4. 14. 11:31
반응형
import datetime
# ???

def add (a, b) :
    k = a+b
    return k

print(datetime.date.today())

a = 10
b = 20
s = "문자"
l = [1,6,5,2,3,4]
packing = a,b

# try , except
# for i in range() 
print()
print("---------- try, except + for -----------")
print()
try:
    for i in range(len(l)) :
        print(i)
        print(b)
        if (i<b) :
            add = add+add(i,b)
            print('{} :  {}'.format(i+1,add))
            add = add*0   
except:
    print(Exception)


#whiile
print()
print("---------- while -----------")
print()
while a<b:
    print('{} + {} = {}'.format(a,b,add(a,b)))
    a=a+1
    if(a==b):
        print("종료")

print(packing)
l.insert(1,9)       # 해당 자리에 값을 추가
print(l)

l.sort()            # 리스트 정렬
print(l)
print(l.index(5))

l.reverse()         # 역순으로 정렬
print(l)

str = "테스트1 테스트2 테스트3"

kkk = str.split(" ")
print (kkk)
kk2 = kkk.index("테스트2")
print(kk2)

kkk[kk2] = "테스트통과" 

print(kkk[kk2])

str = " ".join(kkk)
print(str)


#Slice
print()
print("---------- Slice -----------")
print()
sliceList = ["하나", "둘", "셋", "넷","다섯","여섯"]

print(sliceList[0:2])
print(sliceList[3:])

#step
print()
print("---------- Step -----------")
print()
print(sliceList[0:6:2])


list1 = list(range(20))

print(list1[5:15:3])

list2 = list1[5:18:4]
list2.reverse()
print(list2)

print(list1[17:4:-4])

# Slice 수정
print()
print("---------- Slice 수정 -----------")
print()
del list1[:5]
print(list1)

list1 = [0, 1, 2, 3, 4, 5]
# list1의 1부터 3까지를 slice를 이용해서 각각 11, 22, 33으로 바꿔보세요.
# 바꾸고 나면 list1은 [0, 11, 22, 33, 4, 5]가 되어야 합니다.
list1[1:3] = [11,22,33]


list2 = [0, 1, 2, 3, 4, 5]
# list2의 1부터 3까지를 del과 slice를 이용해서 지워보세요
# 바꾸고 나면 list2은 [0, 4, 5]가 되어야 합니다.
del list2[1:4]

print("list1 : {}, list2 : {}".format(list1, list2))


# 자료형 타입
print()
print("---------- 자료형 타입 -----------")
print()
my_list = [1, 2, 3]
my_dict = {"풀": 800, "색연필": 3000}
my_tuple = (1, 2, 3)
number = 10
real_number = 3.141592

print(type(my_list))
print(type(my_dict))
print(type(my_tuple))
print(type(number))
print(type(real_number))

# 클래스 , 메소드
print()
print("---------- 클래스 , 메소드 -----------")
print()
class Car():
    '''자동차'''
    def run(car):
        print("{}가 달립니다.".format(car.name))

taxi = Car()
taxi.name = "택시"
taxi.run()

class Human():
    
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight
    
    def __str__(self):
        return "{} (몸무게 {}kg)".format(self.name, self.weight)
    
    def eat(self):
        self.weight += 0.1
        print("{}가 먹어서 {}kg이 되었습니다.".format(self.name, self.weight))
    
    def walk(self):
        self.weight -= 0.1
        print("{}가 걸어서 {}kg이 되었습니다.".format(self.name, self.weight))

# 아래에서 person을 이름과 몸무게를 가지는 Human클래스의 인스턴스로 만들어보세요.
person = Human("사람",60)


print(person)
person.walk()
person.walk()
person.eat()

#상속
print()
print("---------- 상속 -----------")
print()


class Car():
    
    def run(self):
        print("차가 달립니다.")

# 아래에서 Car를 상속받는 Truck이라는 클래스를 만들고, load라는 메소드를 만들어 보세요.
# load메소드에서는 "짐을 실었습니다."라고 출력하면 됩니다.

class Truck(Car):
    def load(self):
        print("짐을 실었습니다.")
        
t = Truck()
t.load()


#오버라이드
print()
print("---------- 오버 라이드 -----------")
print()


class Car():
    
    def run(self):
        print("차가 달립니다.")


class Truck(Car):
    
    def load(self):
        print("짐을 실었습니다.")
    # 이 아래에서 run 메소드를 오버라이드 하세요.
    
class Running(Truck):
    def run(self):
        print("트럭이 달립니다.")
        
truck = Running()
truck.run()

#super
print()
print("---------- super - 부모클래스사용 -----------")
print()

class Car():
    
    def __init__(self, name):
        self.name = name
    
    def run(self):
        print("차가 달립니다.")


class Truck(Car):
    # 이 아래에서 __init__ 메소드를 오버라이드 하세요.
    
    def load(self):
        print("짐을 실었습니다.")
    def __init__(self,name,capacity):
        super().__init__(name)
        self.capacity = capacity
        
truck = Truck("트럭", 12)



#list comprehension
print()
print("---------- list comprehension -----------")
print()
list1 = [i*8 for i in range(1, 13)]


print("list1 : ", list1)
반응형