목록python (26)
Dolphins의 HelloWorld
urllib -> 연결 만들기, GET요청 전송, 새로운 줄 전송, 데이터 받기 등등을 모두 처리 먼저 라이브러리를 import 해주어야한다. import urllib.request, urllib.parse, urllib.error 그리고 아래 코드와 같이 홈페이지 주소를 넣고 명령어를 입력하면 그 홈페이지의 내용이 출력되는 모습을 볼 수 있다. import urllib.request, urllib.parse, urllib.error handle = urllib.request.urlopen('http://www.daum.net') for line in handle: print(line.decode().strip()) 그리고 이렇게 얻은 정보에서 우리가 흔히 사용하는 dictionary를 통해 문자열을 처..
Lambda 람다는 함수 이름 없이, 함수처럼 쓸 수 있는 익명함수를 의미한다. 사용방법은 java나 c#같은 언어에서의 방법과 거의 비슷하다. 단지 lambda라는 명령어를 따로 써주는것이 파이썬에서의 람다의 특징이다. 예시를 통해 간단하게 보고 넘어가겠다. #매개변수 없는 경우 function1 = lambda : print('Hello') function1() #매개변수로 받은것을 제곱하는 함수 function2 = lambda x : x**2 print(function2(3)) Map 기본 형식은 map(function_name, list_data) 이며 list에 있는 모든 값들에게 사용자가 넣어준 함수를 적용시킨다. def func (x): return x**3 mylist = [1,2,3,4..
Enumerate Enumerate함수를 쓰면 list의 원소를 뽑아낼 때 순서도 같이 뽑아낼 수 있다. 아래의 예시를 통해 Enumerate가 사용되는 예시를 살펴보자. sentence = 'Eight of the boys were taken out of the cave' mylist = sentence.split() # 가장 기본적인 enumerate 사용 for index,value in enumerate(mylist): print(index,value) # unpacking한 것을 배열에 저장한 예 exp = list(enumerate(mylist)) print(exp) # unpacking 한 것을 dictionary에 저장한 예 exp2 = dict() exp2 = {x:y for x,y in..
Split 함수 Split 함수는 구분자를 통해 문자열을 나눠주는 역할을 한다. 나누어진 문자열은 List형태로 변환된다. 구분자를 주지 않았을 때는 기본적으로 공백을 기준으로 문자열이 나누어지게 된다. 아래의 코드를 통해 Split함수가 활용되는 모습을 살펴보자. sentence = 'President Donald Trump is heading this week to Europe' print(sentence.split()) #공백을 기준으로 분리 sentence = 'http://dolphins-it.tistory.com/category/python' print(sentence.split('.')) #.을 기준으로 분리 a,b,c = sentence.split('.') print(a); print(b)..
ASCII 코드 / 유니코드 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반한다.-> 메모리에서 8비트를 차지한다. 파이썬에서 ord()를 사용하면 ASCII문자에 대응하는 숫자를 알 수 있다. print(ord(' ')) #결과 : 32print(ord('!')) #33print(ord('A')) #65 하지만 ASCII는 영문자 외에 다른 문자를 표현하기에는 부족하며 그래서 발전한것이 Unicode이다. 이미 Unicode는 많은 문자를 포함하고 있으며, 여전히 다른 새로운 문자를 저장할 여력이 있다. 하지만 문제는 유니코드를 네트워크를 전송할 때 용량이 과도하게 크다는 점이다. 때문에 유니코드를 압축한 UTF-8을 사용한다. (UT..
정규식 활용 공백 사이에 있는 데이터 읽기 import re data = 'Martial mat1234@gmail.com London Male' result = re.findall('\S+@\S+',data) # @전후로 공백 전까지의 문자열 저장 print(result) 원하는 부분만 출력 원하는 정보를 얻어내기 위해 뽑아낸 문자열중에 특정 부분만 활용하고자 할 때가 있다. 그럴 때 쓰는 것이 ( ) 이다. 정규식에서 소괄호를 사용하면 그 안에있는 부분만 선택적으로 추출할 수 있다. 아래의 예시를 통해 이해해보자. import re data = 'Martial mat1234@gmail.com London Male' result = re.findall('Martial\s([^ ]*)',data) prin..
정의 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어. 문자열 비교나 처리를 하기 용이한 와일드카드 표현식. 정규식의 규칙 ^ 라인의 처음을 매칭 $ 라인의 끝을 매칭 . 줄바꿈 문자인 '\n'을 제외하고 모든 문자와 매칭 \s 공백 문자를 매칭 \S 공백이 아닌 문자를 매칭 * 반복되는 문자를 매칭 + 한번이상 반복될 때 사용 [abc] a,b,c 중 한개의 문자와 매치 [a-z0-9] - 기호로 문자 범위 명시 ? 있어도 되고 없어도 될 때 정규식 활용 정규식을 사용하기 위해서는 먼저 re모듈을 import 해주어야 한다. dir 명령어를 써서 re를 통해 사용할 수 있는 메소드들을 출력해보면 다음과 같다. 여기에 있는 함수들 중 search는 라이브러리의 find 메소드와 같은 역할..
tuple은 list와 비슷하다 tuple을 선언해줄 때는 exp = (1,2,3) 과 같이 대괄호가 아닌 소괄호를 통해서 선언을 해주고 print를 하거나 exp[0]과 같은 명령어를 입력하면 list와 같은 방식으로 결과값이 나온다. 결정적인 list와 tuple의 차이점은 tuple은 변경불가능하다는 점이다. list = [1,2,3,4] tuple = (1,2,3,4) list[1] = 10 tuple[1] = 10 위의 코드를 통해 item을 할당하는 과정에서 list와 달리 tuple에서 에러가 나는것을 확인할 수 있다. tuple은 list보다 빠르고 용량을 덜 차지하는 특징을 가지고있다.고로 데이터에 대한 변경이 없다면 tuple을 사용하는 것이 훨씬 효율적이다. tuple의 특징 dict..
Dictionary을 생성해주는 기본적인 형태는 my_dict = dict() 이다. Dictionary는 c++이나 java의 map의 개념과 비슷하다 즉 key를 통해 value를 찾는 것이다. 아래의 예시를 통해 이러한 Dictionary의 특성을 살펴보자. my_dict = dict() my_dict['first'] = 1; my_dict['second'] = 2 my_dict['third'] = 3 print(my_dict) my_dict['third'] = my_dict['third'] +3 print(my_dict['third']) 빈도수 측정하기 Dictionary를 사용하면 우리가 원하는 특정 단어가 얼마나 자주 등장하는지 측정하는 것이 가능하다. 방법은 간단하다. list를 검사하면서 ..
문자열을 배열로 활용할 때 용이하게 쓰는 함수가 split 함수이다. 평범한 문자열에 split함수를 적용하면 스페이스를 기준으로 문자열이 쪼개져서 배열로 들어가게된다. 아래의 예시를 보면서 쉽게 이해해보자. s = 'May i help you' list = s.split() print(list) 문자열이 쪼개져 단어들이 차례대로 배열로 들어간것을 확인할 수 있다. 공백 뿐만이 아니라 다른 분리자를 활용하여 문자열을 쪼개서 배열에 들어가게 할 수도 있다. 그런경우 list.split(분리자)형식을 쓰는데 예시를 통해 확인해보겠다. s = 'name,address,phone_number,e-mail' list = s.split(',') print(list)