본 자료는 숭실대학교 정보통신전자공학부 소속 소모임 BlindC에서 3학년을 대상으로 하는 자료입니다.개인의 소중한 창작물이기 때문에 자료의 열람은 자유이고, 소스코드를 긁어갈 수 있도록 우클릭제한이나 기타 제한은 걸어놓지 않았으나, 외부 공개나, 2차 수정등은 자제해주시길 부탁드립니다. 최근에 파이썬을 건드릴일이 없었는데, 데이터통신과목 과제로 파이썬을 이용한 소켓 프로그램을 만들라고 나온 모양이다. 후배들이 많이 물어봐서 따로 포스팅하여 정리하는 파이썬 소켓 프로그래밍 기본, 클라이언트에서 소문자를 서버로 전송하여 서버에서 대문자로 바꿔서 다시 클라이언트로 전송, 출력하는 문제이다. 버전은 python 3.5, pycharm 2016 community 버전을 사용하였음.독자들이 python은 처음, ..
예제. 123456789101112131415161718192021222324252627class Student(models.Model): position = ( ('p1','사원'), ('p2','대리'), ('p3','계장'), ('p4','과장'), ('p5','부장'), ) dept = ( ('d1','총무부'), ('d2','사업부'), ('d3','기획팀'), ('d4','홍보실'), ('d5','인사과'), ) st_id = models.CharField(primary_key=True,max_length=50, null=False) st_password = models.CharField(max_length=50, null=False) st_name = models.CharField(max_l..
파이썬 프로젝트 폴더로 이동해서 임의의 새 폴더를 만들어준다.(C:\Users\user\PycharmProjects\girl) 그리고 명령 프롬포트를(실행-cmd입력) 실행하여 새로 만들어준 폴더로 이동한다cd C:\Users\user\PycharmProject\grilcd명령어를 통해서 이동할 수 있다. 위와같이 C:\Python34\python -m venv myvenv 를 프롬포트 창에 입력하면 새로 만들어준 girl 폴더안에 myvenv라는 폴더가 생긴것을 확인할 수 있다.이렇게 해서 girl 폴더에 서버를 구축할 것이다. ( myvenv 폴더의 이름은 임의로 만들어줄 수 있다.) 위와같이 myvenv\Scripts\activate 를 프롬포트에 입력하면 프롬포트의 모양이 바뀐것을 확인할 수 있다..
기존의 리스트 객체를 이용해 조합, 필터링등의 추가적인 연산을 통해 새로운 리스트 객체를 생성하는 경우, 리스트 내장은 매우 효율적이다. 간단한 예제를 통하여 살펴보자. 1234import randomrandom.seed(1)b = [random.randrange(0,20) for i in range(10)] # list comprehensionprint(b)Colored by Color Scriptercs 위 예제를 실행하여 보자. 임의의 값이 10개가 출력되면 정상적으로 출력된 것이다.0부터 20까지의 값을 i 라는 리스트에 10개 추가해서 생성된 리스트 객체를 반환값으로 내놓는다고 생각하면 쉽다. 1print([i for i in b if i%2 == 1])cs 다음과 같은 방법으로도 사용해 볼 수..
이전에 정렬을 하면서 잠깐 짚고 넘어갔던 람다 함수에 대해서 심도있게 알아보겠다. 파이썬에서는 이름이 없고 함수 객체만 존재하는 익명함수를 만들 수 있다. 일반함수와 마찬가지로 필요한곳 어디에서나 쓰일 수 있는 함수이고, 여러개의 전달받을수 있으며 리턴 구문을 적지 않아도 하나의 반환괎을 돌려 줄 수 있다. 바로 람다(lambda) 함수에 대한 설명인데, 람다함수는 한줄을 실행한 결과 값이 바로 반환값이 된다. 람다 함수는 한줄의 간단한 함수가 필요한 경우나 프로그램의 가독성을 위해 함수를 인자로 넘겨줄때 쓸 수 있다. 예제를 통하여 한번 살펴보겠다. 문제. 입력받은 값의 두배를 출력하는 함수를 만들어서 리스트의 값을 모두 출력해 보시오. 1234567def makeDouble(n): return n*2..
1id(n)csid 함수를 통하여 우리는 n 변수의 주소를 확인해 볼 수 있다. 1234a = 5b = 3 print(id(a), id(b))cs위 코드를 통하여 a와 b의 id를 확인해 보자. 정상적으로 출력이 되었는가그렇다면 a의 값을 3으로 바꾸어 출력해보자. 1234a = 3b = 3 print(id(a),id(b),id(3))cs 뭔가 잘못되었다는 것을 출력형태를 통하여 확인할 수 있다.a의 id와 b의 아이디 상수 3의 id가 전부 같다는 것인데.. C언어에서는 있을 수 없는 일이다.하지만 파이썬에서는 모든 변수가 포인터타입으로 값을 가리킨다고 볼 수 있다. 그렇다고 원래 없던 포인터 개념이 생기지는 않는다. C언어처럼 *을 붙여서 역참조하여 원본값을 바꾸는 일은 불가능 하다는 것이다. 이 페..
1234567colors = ('BLACK', 'white', 'Red', 'green', 'blue') def ignore(text): return text.lower() temp = sorted(colors, key=ignore)print(temp)Colored by Color Scripter 위 코드는 앞서 리스트에서 했던 키값을 이용하여 정렬하기를 응용한 정렬이다.우선적으로 colors라는 변수를 살펴보면 이전에 했던 리스트와 다른점을 찾을수가 있는데 바로 괄호의 모양이다.리스트는 대괄호를 사용하고, 튜플은 소괄호를 사용한다. 이후에 알아볼 사전(dictionary)과 set은 중괄호를 사용한다. 튜플의 가장 큰 특징이라고 한다면 값을 수정할 수 없다는 점이다.리스트와 비슷한 역할을 하지만 값을 ..
리스트를 소트하는 여러가지 방법1234567891011import randomdef makeRandoms(size, limit): result = [] for i in range(size): result.append(random.randrange(0,limit)) return result random.seed(1)result = makeRandoms(20,100)print(result)Colored by Color Scriptercs 우선 20개의 랜덤한 변수(0~99)를 리스트에 삽입하고 결과를 확인했다.seed에 1을 넣은것은 시드를 고정시켜서 결과를 확인하기 이전에 랜덤값이 바뀌지 않게 하기 위해서이다. 첫번째 방법은 리스트 클래스 내부에 있는 sort함수 사용하기.12result.sort()pri..
12345678910111213141516171819202122232425262728293031323334353637ary = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]] for i in range(4): for j in range(4): if i >= j: print('*', end='') else: print(' ', end='') print() print()for i in range(4,0,-1): for j in range(4): if i >= j: print('*', end='') else: print(' ', end='') print() print()for i in range(4): for j in range(3, -1, -1): if i >= j: print('..
123456789101112131415161718192021222324252627282930313233343536373839404142import random def printArray(ary): for i in ary: for j in i: print('%3d' % j, end=' ') print() def snailArray(ary): offset=0 num=1 nrows=5 ncols=5 while nrows>0 and ncols>0: for i in range(offset,offset+ncols): ary[offset][i]=num num+=1 for i in range(offset+1,offset+nrows): ary[i][offset+ncols-1]=num num+=1 for i in rang..
- Total
- Today
- Yesterday
- 정렬
- 유즈케이스
- 티그널
- C
- 프로세스
- 데이터베이스
- 클래스
- 티라노 시그널
- Sort
- 스레드
- socket
- 파이썬
- 리눅스
- UML
- 자료구조
- 액터
- 파일
- 안드로이드
- 악보
- 파이썬예제
- 터미널
- 클라이언트
- MFC
- 쓰레드
- 디렉터리
- C++
- 소켓
- C/C++
- 소켓 프로그래밍
- 라즈베리파이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |