본문 바로가기

python58

8. 파이썬 if문 (3) if a: cmd1 cmd2 cmd3 else: if b: cmd1 cmd2 cmd3 else: if c: cmd1 cmd2 cmd3 if문이 실행되지 않았을 경우 다른 조건으로 검사를 해보고 싶은데. 조건이 3개만 되어도 3단 들여쓰기가 되는 것을 볼 수 있다. 이런 식으로 코드를 짜야했으면 파이썬은 망했을 것이다... 이럴 때 필요한 것이 바로 elif이다. if a: cmd1 cmd2 cmd3 elif b: cmd1 cmd2 cmd3 elif c: cmd1 cmd2 cmd3 하나 알아둬야할 점은 순서는 무조건 if - elif ... elif - else 라는 점이다. 어차피 그렇게 코드를 짤리도 없겠지만 else 다음에 elif가 오면 안 된다. 2021. 4. 24.
7. 파이썬 if문 (2) a라는 조건이 있는데 그 조건이 맞을 때랑 맞지 않을 때를 구분하고 싶다. 그럴 때마다 if a: a가맞을때명령 if not a: a가틀릴때명령 이런 식으로 쓰기는 귀찮다. 게다가 위험하다. a가맞을때명령에서 a의 값을 바꾸는 코드(예를 들어 a = False)를 넣기라도 한다면 a가틀릴때명령까지 둘다 실행이 될 수도 있다. 그럴 때 필요한 것이 바로 else다. if a: a가맞을때명령 else: a가틀릴때명령 이런 식으로 쓰면 a가맞을때명령과 a가틀릴때명령이 절대로 둘다 실행될 수 없다. 거꾸로 말하면 두 명령 중 하나는 무조건 실행이 된다. 왜냐하면 a는 맞거나 틀리거나 무조건 둘 중 하나니까...(bool의 자료형이 True와 False 밖에 없기 때문) >>> if 0: ... print('He.. 2021. 4. 24.
6. 파이썬 if문 (1) if는 조건문이다. 조건에 맞으면 if문 안의 코드를 실행하고, 그렇지 않으면 실행하지 않는다. if라는 키워드를 먼저 쓰고, 그 다음에 조건을 적은 후, 콜론을 적고, 그 다음 줄로 넘어가서 같은 폭만큼의 들여쓰기를 하면서 코드를 쓴다. 조건에 맞다는 것은 그 조건이 bool형으로 변환되었을 때 True라는 뜻이고, 그렇지 않으면 False라는 뜻이다. >>> if True: ... print('Hello, world!') ... Hello, world! 파이썬은 다른 언어와는 다르게 들여쓰기로 if문, for문, while문, 함수 정의, 클래스 정의가 어디까지인지 구분한다. if 조건: if문안의명령1 if문안의명령2 if 조건2: if문2안의명령1 if문2안의명령2 if문2끝나고if문안의명령3 i.. 2021. 4. 24.
5. 파이썬 자료형 (4) dict는 dictionary의 줄임말이다. 중괄호로 시작해서 중괄호로 끝난다. dict는 key, value의 배열이다. 사전으로 친다면 key는 단어, value는 뜻풀이라고 할 수 있겠다. 빈 dict는 {}로 쓴다. key value 1 4 2 5 3 6 4 6 위 표를 파이썬의 dict로 표현하면, {1: 4, 2: 5, 3: 6, 4: 6}이 된다. 각각의 key-value 쌍을 쉼표, 로 구분하고, key와 value는 콜론: 으로 구분하는 것을 알 수 있다. key에는 list, dict형 같은 건 들어갈 수 없다. value에는 파이썬에 존재하는 모든 것(dict 포함)이 들어갈 수 있다. dict형에서 순서는 딱히 중요하지 않다. 왜냐하면 key를 통해 value를 찾는 식이기 때문이다.. 2021. 4. 23.
4. 파이썬 자료형 (3) list는 tuple과 비슷하지만 다르다고 할 수 있다. list는 대괄호로 감싸져 있고, 쉼표, 로 요소를 구분한다. 속이 빈 list를 만들려면 []라고 쓰면 된다. 요소가 하나이든 두 개이든 몇 개이든 상관없이 []로 감싸기만 하면 list가 된다. >>> type([]) >>> type([1]) >>> type([1, 2, 3]) 그렇다면 tuple과 list는 도대체 뭐가 다른걸까? tuple과 list는 메소드면에서 많은 차이가 난다. tuple list 요소 수정이 가능한가? x o count o o index o o append x o remove x o pop x o ... ... ... list가 tuple보다 더 많은 기능을 가지고 있다고 할 수 있겠다. 나는 편의상 tuple보다 l.. 2021. 4. 23.
3. 파이썬 자료형 (2) tuple은 배열이다. int, float, str, complex 모두 들어갈 수 있는 배열이다. 상자 속의 상자 같은 느낌처럼 tuple 자기 자신도 tuple에 들어갈 수 있다. 괄호로 시작해서 괄호로 끝난다. 괄호 사이에 요소들이 들어가며, 요소 사이는 쉼표로 구분한다. 아무것도 없는 tuple을 만들기 위해서는 괄호 사이에 아무것도 안 넣으면 된다. >>> type(()) 요소가 하나인 tuple을 만들 때 주의할 점이 있다. 이건 진짜로 파이썬 코딩하면서 죽을 때까지 진짜진짜진짜 알고 있어야 한다. 파이썬은 어떤 값을 괄호로 감싸면 그 괄호를 그냥 풀어버린다. (당연히 2겹으로 싸든 3겹으로 싸든 마찬가지다.) 즉 'asdf' 하나만 가지고 있는 tuple을 만들 때 ('asdf')라고 쓰면 .. 2021. 4. 23.
2. 파이썬 자료형 (1) 파이썬에 존재하는 모든 것에는 자료형이라는 것이 있다. 어떤 값의 자료형이 뭔지 확인하려면 type 함수를 이용하면 된다. int는 정수 범위다. >>> type(383709) float는 실수 전체 범위다. 소수점이 적혀있으면 싹다 float에 속한다고 보면 된다. #은 주석 >>> type(0.0) >>> type(.5) # 0.5 >>> type(9.) # 9.0 >>> type(38702358710351723501273503.35710235701235) str은 문자열이다. 문자열과 수를 구분하기 위해 문자열은 따옴표로 감싸서 표현해주어야 한다. 따옴표는 큰 따옴표", 작은 따옴표', 큰 따옴표 3개""", 작은 따옴표 3개'''가 될 수 있다. 따옴표를 열고서 안 닫으면 코드가 망한다. str은.. 2021. 4. 23.
1. 파이썬 변수 정의 파이썬에서 변수를 정의하는 법은 굉장히 간단하다. a = 1 라고 하면 a가 1이 된다. 일반적으로 파이썬에서 =는 변수를 정의하기 위해 사용된다. 등호 왼쪽에는 변수의 이름, 등호 오른쪽에서는 변수의 값을 쓰면 된다. 변수를 덮어쓰는 방법도 간단하다. a = 2 라고 하면 전에 있던 a의 값은 지워지고 2라는 값이 들어간다. 그래서 전에 있던 값을 그대로 유지하고 싶다면 변수 이름을 같게 해서는 안 된다. 변수를 한 번에 여러 개 정의할 수도 있다. a, b, c = 1, 2, 3 이라고 하면 a에는 1, b에는 2, c에는 3이 들어간다. 변수의 값을 서로 바꿀 수도 있다. a에 있는 값을 b로, b에 있는 값을 a로 넣고 싶다면 a, b = b, a 위 한 줄이면 충분하다. 2021. 4. 23.
파이썬 연산자 연산자란 무엇인가? 연산한 값을 반환하는 함수를 말한다. 예를 들어 1 + 2은 1과 2를 더한 값을 반환하는 함수라고 할 수 있다. 기본적인 연산자들은 + 더하기 - 빼기 / 나누기 // 몫만 나옴 % 나머지만 나옴 * 곱하기 ** 제곱하기 가 있다. 등호 앞에 위에 있는 6개의 연산자를 써서 코드를 간단하게 할 수 있다. 예를 들어 a = a ** 3을 간단히 하고 싶다면 a **= 3으로 쓰면 된다. 2021. 4. 23.
python mmap ipc github.com/off99555/python-mmap-ipc 위는 다른 사람이 만든 python mmap ipc 예제이다. 가장 중요한 점은 두 프로세스에서 mmap.mmap의 세 번째 인수를 같게 하는 것이다. 이렇게 하면 공유 메모리가 생성이 되는 것 같다. 2021. 4. 20.