In [ ]:

Python 입문


In [1]:
# Type 바꾸기
a = 3.0
type(a)


Out[1]:
float

In [2]:
int(a)   #변수에 저장된 것이 아니라서 a는 여전히 3.0


Out[2]:
3

In [3]:
# 사칙연산 연산자
a ** 4


Out[3]:
81.0

In [4]:
14 / 3


Out[4]:
4.666666666666667

In [5]:
14 % 3


Out[5]:
2

In [6]:
# 문자열 합치기
name = "김기표님"
name + "Hello"


Out[6]:
'김기표님Hello'

In [7]:
name[2]


Out[7]:
'표'

In [8]:
name[1:]


Out[8]:
'기표님'

In [9]:
"%s님 안녕하세요." %"김기표"   #과거 방식의 치환


Out[9]:
'김기표님 안녕하세요.'

In [10]:
"{0}님 안녕하세요".format("김기표")   #0이라고 하면 헷갈려


Out[10]:
'김기표님 안녕하세요'

In [11]:
"{name}님 안녕하세요.".format(name="김기표")
#format 메소드는 해당 변수를 인자(arguments)로 지정


Out[11]:
'김기표님 안녕하세요.'

In [12]:
"안녕하세요. {name}입니다. 저는 {course}를 수강하고 있습니다.".format(name="김기표", course="DSS")


Out[12]:
'안녕하세요. 김기표입니다. 저는 DSS를 수강하고 있습니다.'

In [29]:
#List, Tuple, Dict, Set
animals = ["강아지", "고양이", "이구아나"]

In [14]:
animals


Out[14]:
['강아지', '고양이', '이구아나']

In [15]:
animals[0]


Out[15]:
'강아지'

In [16]:
animals.append("물고기")

In [17]:
animals


Out[17]:
['강아지', '고양이', '이구아나', '물고기']

In [18]:
len(animals)


Out[18]:
4

In [19]:
animals.pop(1)


Out[19]:
'고양이'

In [20]:
animals


Out[20]:
['강아지', '이구아나', '물고기']

In [27]:
# animals.clear()

In [32]:
animals.copy()


Out[32]:
['강아지', '고양이', '이구아나']

In [39]:
animal = animals[1]
animal


Out[39]:
'고양이'

In [40]:
animals[1] = ""

In [41]:
animals


Out[41]:
['강아지', '', '이구아나']

In [42]:
animals[0][0], animals[0][1], animals[0][2]


Out[42]:
('강', '아', '지')

In [51]:
#Tuple은 List와 동일하지만, Element값이 변경될 수 없다.
width_and_height = (120, 240, 178)

In [52]:
width, height, key = width_and_height

In [53]:
width


Out[53]:
120

In [54]:
height


Out[54]:
240

In [55]:
key


Out[55]:
178

In [56]:
name_set = set(["김기표", "김기표", "강혁", "유영수", "강혁"])

In [57]:
name_set


Out[57]:
{'강혁', '김기표', '유영수'}

In [58]:
name_list = ["김기표", "김기표", "강혁", "유영수", "강혁"]

In [59]:
name_list


Out[59]:
['김기표', '김기표', '강혁', '유영수', '강혁']

In [60]:
detail_dict = {"name": "김기표", "age": 29, "phonenumber": "010623533xx"}

In [61]:
detail_dict


Out[61]:
{'age': 29, 'name': '김기표', 'phonenumber': '010623533xx'}

In [62]:
detail_dict["name"]   #Dict, Hash, JSON ... 이러한 표현들이 동의어


Out[62]:
'김기표'

In [71]:
True & False  #And연산자


Out[71]:
False

In [72]:
True | False  #OR연산자


Out[72]:
True

In [73]:
if False:
    print("False")

In [74]:
if True:
    print("False")


False

In [75]:
if 1 < 3:
    print("1이 3보다 작다.")


1이 3보다 작다.

In [76]:
a = 13
b = 12
if a < b:
    print("a({a})가 b({b})보다 작다.".format(a=a, b=b))
else:
    print("a({a})가 b({b})보다 크다.".format(a=a, b=b))


a(13)가 b(12)보다 크다.

In [77]:
animals = ["강아지", "고양이", "이구아나"]

In [78]:
if "이구아나" in animals:
    print("이구아나를 키우고 있습니다.")
else:
    print("이구아나를 키우고 있지 않습니다.")


이구아나를 키우고 있습니다.

In [79]:
score = 89

if score >= 90:
    print("A")
elif score >= 60:
    print("B")
else:
    print("C")


B

In [80]:
age = 20

while age < 30:
    print("20대에 나이를 먹었습니다. 현재나이: {age}".format(age=age))
    age += 1


20대에 나이를 먹었습니다. 현재나이: 20
20대에 나이를 먹었습니다. 현재나이: 21
20대에 나이를 먹었습니다. 현재나이: 22
20대에 나이를 먹었습니다. 현재나이: 23
20대에 나이를 먹었습니다. 현재나이: 24
20대에 나이를 먹었습니다. 현재나이: 25
20대에 나이를 먹었습니다. 현재나이: 26
20대에 나이를 먹었습니다. 현재나이: 27
20대에 나이를 먹었습니다. 현재나이: 28
20대에 나이를 먹었습니다. 현재나이: 29

In [81]:
list(range(10))


Out[81]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [82]:
set(range(10))


Out[82]:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

In [83]:
animals = ["dog", "cat", "bird", "lion"]

In [84]:
for animal in animals:
    print("나는 {animal}을 키운다.".format(animal=animal))


나는 dog을 키운다.
나는 cat을 키운다.
나는 bird을 키운다.
나는 lion을 키운다.

In [85]:
for number in range(3):
    print("hello world {number}".format(number=number))


hello world 0
hello world 1
hello world 2

In [86]:
for ___ in range(3):   # ___의 의미는 밑에서 호출 안하고 순수하게 몇 번 사용하겠다는 뜻
    print("hello world")


hello world
hello world
hello world

In [87]:
for i in range(5):
    print("*" * (i+1))


*
**
***
****
*****

In [88]:
for i in range(5):
    star = ""
    for j in range(i+1):
        star += "*"
    print(star)


*
**
***
****
*****

In [89]:
username = input("너의 이름은 뭐니? ")


너의 이름은 뭐니? 깊효

In [90]:
username


Out[90]:
'깊효'

In [92]:
for i in range(int(input("별 몇 개? "))):
    print("*" * (1+i))


별 몇 개? 5
*
**
***
****
*****

In [110]:
f = open("animals.txt", "r", encoding='utf8')

In [107]:
f.readline()


Out[107]:
'이구아나\n'

In [108]:
f.readlines()


Out[108]:
['강아지\n', '고양이\n', '참새']

In [111]:
data = f.read()   #f는 한 번 호출하면 초기화 되니까 위 f 1번 더 호출하기
data


Out[111]:
'이구아나\n강아지\n고양이\n참새'

In [112]:
f = open("./animals.txt", "w")
f.write("hello world")


Out[112]:
11

In [113]:
f.close()   #close까지 해야 저장이 됩니다.

In [114]:
with open("./animals.txt", "w") as f:
    f.write("hello world")
    #f.close()를 따로 입력하지 않아도 된다.

In [115]:
with open("./stars.txt", "w") as f:
    for i in range(5):
        f.write("*" * (i+1))
        f.write("\n")

함수를 쓰는 이유는? 자동화!

작업 자동화. 우리가 반복적으로 사용할 어떤 특정 기능들에 대해서 재사용 가능한 코드 덩어리

Python에서는 def라는 키워드로 함수를 만들 수 있다.


In [116]:
# 함수를 정의하자
def greeting():
    username = input()
    print("{username}님, 가입을 축하드립니다.".format(username=username))

In [117]:
greeting()   #함수실행


김깊효
김깊효님, 가입을 축하드립니다.

In [118]:
def print_pretty_star(count):
    """
    이 함수는 별찍기 함수에요.
    """
    for i in range(count):
        print("*" * (i+1))

In [119]:
print_pretty_star(2)


*
**

In [120]:
print_pretty_star(int(input("Count? ")))


Count? 4
*
**
***
****

In [121]:
def star_assignment():
    count = int(input("별 몇 개? "))
    for i in range(count):
        print("*" * (i+1))
star_assignment()


별 몇 개? 2
*
**

In [122]:
def print_pretty_star(count):
    for i in range(count):
        print("*" * (count-i))

In [123]:
print_pretty_star(int(input("Count? ")))


Count? 5
*****
****
***
**
*

In [124]:
def star_assignment():
    count = int(input("별 몇 개? "))
    for i in range(count):
        print("*" * (count-i))
star_assignment()


별 몇 개? 3
***
**
*

In [125]:
def star_assignment():
    count = int(input("별 몇 개? "))
    for i in range(count):
        print(" " * (count-i), "*" * (i+1))

In [126]:
star_assignment()


별 몇 개? 4
     *
    **
   ***
  ****

In [127]:
def star_assignment():
    count = int(input("별 몇 개? "))
    for i in range(count):
        print(" " * i, "*" * (count-i))

In [128]:
star_assignment()


별 몇 개? 3
 ***
  **
   *

In [129]:
def star_last():
    count = int(input("별 몇 개? "))
    for i in range(count):
        print(" " * i, "*" * (2*(count-i)-1))
    for j in range(count-1):
        print(" " * (count-j-2), "*" * (2*j + 3))
star_last()


별 몇 개? 3
 *****
  ***
   *
  ***
 *****