12주차 화 1107 (lambda, 함수, 변수) :: newb

ABOUT ME

Today
Yesterday
Total
  • 12주차 화 1107 (lambda, 함수, 변수)
    광주인력개발원 일일포스팅(메모장) 2023. 11. 7. 16:53
    728x90
    반응형

    ★복습

    제어문

    내가 천재가 아니라면 다른사람이 한걸 많이 보자...

     

    리스트 내포문

    리스트 내포 개념

    + 리스트 내포는 원하는 자료들을 조회 또는 추출하여 리스트로 변환하는 표현

    + 리스트 내포는 조건식을 이용하여 같은 연산을 전체 항목이나 일부 항목에 적용

    + 리스트 내포를 이용하여 항목들을 대문자나 소문자로 바꾸는 등의 작업을 처리

     

           2      <          2

                               1<1

    [표현식 for 변수 in 항목들]

     

    num = [-20, -10, 0, 10, 20]
    [str(x)for x in num]

    ['-20', '-10', '0', '10', '20']

     

    num의 항목을 in에 넣고 표현식으로 출력

     

    ★학습

    함수

    • 입력값, 출력값(반환값)이 있다.
    • 코드의 반복을 줄이기 위해서
    • def 함수명(변수1, 변수2…): 실행문1 실행문2… return 결과값
    • (변수1, 변수2) <= 변수 생략 가능
    • return 문 생략 가능
    def twice(x):
        return  x*2
    a = 2
    b = 3
    print(twice(a))
    print(twice(b))

    4 6

    def hello(x):
        print('hello', x)
    hello('python')

    hello python

    a = hello('python')
    print(a)

    hello python
    None

    def say():
        print('ho')
    a = say
    a()
    

    ho

    def add_minus(x, y):
        a = x + y
        b = x - y
        return a, b
    add_minus(5, 7)

    (12, -2)

    print(type(add_minus(5, 7)))

    <class 'tuple'>

    더하기, 빼기 = add_minus(7, 8)
    print(더하기, 빼기)

    15 -1

    결과값 = add_minus(7, 8)
    print(결과값[0], 결과값[1])

    15 -1

    ※ 결과값 처럼 구분하기 힘든 이름은 한번더 생각해서 바꿔주기

    def add_minus(x, y):
        return x + y
        return x - y
    add_minus(3, 4)

    7

    변수의 범위

    x = 1
    def twice(x):
        x = x * 2
        return  x
    # 매개변수 x 는 x *2 에 사용되는 x 
    # x * 2를 받는 x (x = ...)는 리턴 x  
    twice(x)

    2

    b = twice(x)
    c = twice
    def sum_many(*args):
        # 동적일 때 
        sum = 0 
        for i in args:
            sum += i
        return  sum
    sum_many(1, 2, 3, 4, 5)

    15

    def say_myself(name, gender='M'):
        print(f'나의 이름은{name}입니다.')
        print(f'나의 성별은{gender}입니다.')
    say_myself('홍길동')

    나의 이름은홍길동입니다.
    나의 성별은M입니다.

    say_myself('홍길동','f')

    나의 이름은홍길동입니다.
    나의 성별은f입니다.

    # 파라미터 종류 별 순서가 중요하다.
    x = 1
    def vartest():
        global x
        #인터프리터가 밖에 있는 x 를 가져오지만 가끔 인식을 못할때가 있어서 glober을 써주는게 안전하다.
        x1 = 2
        print('바깥쪽: ', x, '안쪽: ', x1)
    vartest()

    바깥쪽:  1 안쪽:  2

    lambda 함수

    • lambda 변수1(파라미터), 변수2(파라미터), …(…): 결과값
    def 함수이름(파라미터1, 파라미터2):
        return 결과값
    a = lambda x: x*2
    a(3)

    6

    def 제곱(x):
        return  x*2
    f = open('foo.txt','w')
    f.write('Life is to short')
    f.close()

    쓰기

    f = open('foo.txt', 'r')
    f.readline()
    f.close()

    읽기

    with open('./foo1.txt', 'w') as f:
        f.write('test \n test \n')

    쓰기

    with open('./foo.txt', 'r') as f:
        print(f.readline())

    읽기

    import pickle
    

     

    피클사용

    xx = 1
    with open('foo1.pickke', 'wb') as f:
        pickle.dump(xx, f)

    쓰기

    with open('foo1.pickke', 'rb') as f:
        a = pickle.load(f)
        print(a)

    읽기

    1

    728x90
    반응형
Designed by Tistory.