ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python TIL ( for문, ord(), upper(), isalpha(), 함수 선언 등 )
    python 2022. 11. 22. 21:39

    오늘은 내배캠 알고리즘 강의를 들었지만

    정리하고자 하는것은 의외로 python 문법이 되었다 ㅎ

     

    개인적으로 python의 관대한 문법이 내 스타일하고는 맞지 않아서 선호하지 않는 편이긴 한데,

    쓰다보니 뭐 python도 역시 재밌다는 생각

     

     

    우선 제일 많이 쓰게 될

     

    for 반복문
    for number in numbers: # numbers 배열을 돌며 index 0부터 하나씩 number에 순차적으로 할당

    일단 강의에서 가장 많이 본 형태.

    자바의 for each문과 유사하다.

     

     

    그리고 내가 자주 쓰는

    for i in range(len(array)): # i가 0부터 시작해서 len(array)까지 반복, 수식으로 표현하자면 i < len(array)

    while문이 아닌 이상,

    i가 없으면 뭔가 찝찝해하는 나는 range()가 들어간 형태를 더 선호한다!

     

     

     

    그런데 파이썬 반복문을 써보고서 느낀 점이,

    그럼 i를 2씩 증가시키고 싶으면 for 문 안에 i+=1을 넣으면 되는걸까? 싶어서 해보았다. (파이썬에서는 ++와 --가 안된다)

    for i in range(10):
        i += 1;
        print(i);

    실행결과

    전혀 안된다.

    결과창을 보니 i 값은 처음 정해진 range(10)에 의해 1, 2, 3, 4, 5, 6 ... 이런 식으로 재할당이 되는듯 하다.

    그래서 순차적으로 i에 1을 더한 값만이 출력되는듯.

     

     

     

    그래서 2씩 증가시키는 방법을 검색을 해보았따

    for i in range(0, 10, 2): # i에 0부터 10까지, 2씩 증가
        print(i);

    실행결과

    range() 오버로딩을 통해 간단하게 구현이 가능했던것!

    저 형태를 보면 짐작이 되겠지만

    for i in range(2, 10): # 2부터 10까지

    이렇게 범위를 지정할 수도 있다!

     

    파이썬 굿!

     

     

     

     

    break, continue
    for i in range(len(array)):
        if i % 2 ==0:
            break; # 반복문 탈출!
    
    for i in range(len(array)):
        if i % 2 ==0:
            continue; # 반복문 1회 스킵

     

    break와 continue는 그냥 아는대로 써봤더니 잘 작동해서 아주 마음에 들었다.

     

     

     

     

    while문
    while True:
        print('');

    while문은 따로 설명조차 필요 없을듯.

     

     

     

     

     

     

    그리고 문자열 다룰 때 많이 사용하게 될 함수들.

     

    ord(), chr()
    print(ord('a')); # 문자 'a'를 숫자로 변환, 아스키코드 97 출력.
    print(chr(97)); # 숫자 97을 문자로 변환, 아스키코드에 의해 'a' 출력

     

    isupper(), upper()
    print('A'.isupper()); # True 출력.  	'A'가 대문자인지 검증하는 메소드
    print('A'.islower()); # False 출력. 	'A'가 소문자인지 검증하는 메소드
    print('A'.lower()); # 	'a' 출력.		'A'를 소문자로 변환하는 메소드
    print('a'.upper()); # 	'A' 출력.		'a'를 대문자로 변환하는 메소드

    주의해야 할 점은 메소드 이름을 카멜표기법으로 isUpper처럼 쓰면 오류가 난다. (파이썬메소드는 전부 카멜표기법이 아닌듯)

     

    그리고 lower()와 upper()는 알파벳이 아니어도 오류가 나지 않고, 그대로 반환함. '#'.upper()는 #를 그대로 리턴!

     

     

     

    isalpha(), isdigit()
    print('A'.isalpha()); # True 반환. 알파벳인지 검증
    print('나'.isalpha()); # True 반환
    print('23'.isdigit()); # True 반환. 숫자인지 검증

    재밌는 점은 한글도 isalpha()를 통해 True로 검증이 가능하다는 것!

    매우 유용해보이지만 조건을 더 세부적으로 나누고 싶을 땐 오히려 귀찮아지기도 할듯?

     

     

    함수 선언방법
    def testFunc():
        print('test');
        
        return 0;

    python은 앞에 def를 붙여 선언한다.

     

    그런데 저렇게 카멜표기법으로 명명하면 파이썬이 잔소리를한다 ㅋㅋㅋ

     

    이렇게 써도 실행시켜줄거잖아 ㅋㅋ

     

    'python' 카테고리의 다른 글

    python TIL ( __init__(), overloading )  (0) 2022.11.24
    python TIL ( list, dictionary ...)  (0) 2022.11.23
Designed by Tistory.