본문 바로가기

여러가지

wework 수업자료

발표자료입니다


day1.pdf

간결한 파이썬 - C 에서 어셈블리까지


가독성 - if 문


a = 1 if a == 1: print("a == 1") if a is 1: print("a is 1") b = 2 if b == 1: print("b == 1") # Won't print if b is 1: print("b is 1") # Won't print c = True if c is False: print("c is False") # Won't print if c is True: print("c is True") if c: print("c is True")


위 코드 실행본



자료형, 제어문 - 해봅시다


def main(): # this is function
# types
a_int = 1

print(type(a_int))

b_str = "this is string"
print(type(b_str))

c_list = ['this', 'is', 'list']
print(type(c_list))

d_tuple = ('this', 'is', 'tuple')
print(type(d_tuple))

e_dict = {'name': 'value',
'this is': 'dict'}
print(type(e_dict))

f_set = {'a', 'b', 'c', 'c'}
print(type(f_set))
print(f_set) # No duplicate!

g_bool = False
print(type(g_bool))

# if condition
if a_int == 1: # this is if condition
print('a is %d' % 1)

# for loop
for c_item in c_list: # this is for condition
print(c_item)

# Iterable types
iter(a_int) # Error!
iter(b_str)
iter(c_list)
iter(d_tuple)
iter(e_dict)

# While loop
def some_func():
hit = 0
while hit < 10:
print('I hit the tree %d' % hit)
hit = hit + 1
print('The tree fell down!!')

# for - loop
def with_for_loop():
for i in range(10):
print('Hit %d times' % (i + 1))
print('The tree fell down!!')


if __name__ == '__main__': # trick for execute like main
main()


함수 - 해봅시다

def say():
print("Hello, World")


def sum(a, b):
print(a + b)

함수를 쓰면 간결해진다

# 1 부터 N 까지의 총합을 구하고 싶어!

# 1부터 5까지의 합
tmp_sum = 0
for i in [1,2,3,4,5]:
    tmp_sum = tmp_sum + i
    
print("1 부터 5까지 합은 ", tmp_sum)

    
# 1 부터 10까지의 합
tmp_sum = 0
for i in range(10):
    tmp_sum = tmp_sum + (i+1) # range는 0부터 10개를 준다. 0~9 를 반환하기 때문에 +1 해주기.
print("1 부터 10까지 합은", tmp_sum)


# 함수로 정의하고 편하게 구하자!

def total_sum(value):
    tmp_sum = 0
    for i in range(value):
        tmp_sum = tmp_sum + (i+1)
    
    return tmp_sum

# 1 부터 100까지 합
print("1부터 100까지 합은", total_sum(100)) # 쉽다..

# 1 부터 200까지 합
print("1부터 200까지 합은", total_sum(200)) # 문제 없다



예외 처리 - 해봅시다

def div1(a, b):
print(a / b)


def div2(a, b):
try:
print(a / b)
except ZeroDivisionError:
print("I can't...")



모듈 임포트 - 해봅시다

socket 코드

# socket 모듈에서 socket 함수 및 AF_INET, SOCK_STREAM 객체 가져오기
from socket import socket, AF_INET, SOCK_STREAM

# socket 함수를 이용해 소켓 객체 생성
s = socket(AF_INET, SOCK_STREAM)

# 소켓에 주소 부여
# 모든 주소의 연결 수락 시, 0.0.0.0 사용
# 5000번 포트 사용
s.bind(('0.0.0.0', 5000))

# 10 개의 연결을 대기시켜놓는다.
s.listen(10)
print("Listening...")

# 연결 요청이 왔을 때, 연결한 소켓 객체를 반환
conn, addr = s.accept()

# 연결된 객체에게서 1024 만큼 데이터를 받고, decode 수행 후 출력
print(conn.recv(1024).decode())


ngrok 설치하기


ngrok 사용하기




카카오톡 친구 링크