2016년 1월 29일 금요일

(K, E) Python important features(파이썬 중요한 문법들)

요약
    1. 파이썬을 공부하면서 중요하다고 생각되는 항목을 나열한다.
    2. 각 항목들 별로 중요도가 다를 테니 순위를 매긴다.
    3. 중요한 내용은 지속 업데이트 하면서 순위를 바꾼다.
   *. 언어에 대한 숙련도가 달라지고 보는 눈이 넓어질 수 있기 때문

Summary
    1. List important features, when my study goes.
    2. Each features has different weight, rank those list
    3. Contents and its ranks should be updated
   * because  I may get different insights.

Lists

import pandas
    read_csv()
이 함수만 쓰면, csv 파일의 내용을 2차원(Dataframe) 구조로 가져와서 행, 열에 대해 접근해서 사용하기만 하면 된다. 아주 심플하다.
with this function, get csv file contents as 2 Dimensional(Dataframe) Structure and access it with row, column index

② df.loc[a:b], df.iloc[1:2], df.ix[a:b] or df.ix[1:2]
Dataframe 에 접근하는 index는 크게 3가지 종류로 볼 수 있다.
Dataframe has 3 main indexer
loc(location), iloc(integer location), ix(index)
라벨의 이름으로 하는 것이 loc, 위치로 하는 것이 iloc, 라벨이나 위치 둘 다 가능한 ix
access with label name 'loc', access with data location(integer numer) 'iloc', both ix

 import openpyxl
    workbook1 = openpyxl.load_workbook('ExcelPowerQueryConsumePredict.xlsx')
    sheet = workbook1.get_sheet_by_name('AAA')
excel 파일의 WorkBook을 가져오고 특정 Sheet를 가져와서 수정할 수 있다.
We can get WorkBook, Sheet contents and modify it.
구현된 Code link
actual Code link

 w[2:5] - slicing
list 의 일부분 만을 발최할 때 ':' 와 위치를 사용하여 자를 수 있다.
when extracting subset of structire ':' and location will be used
w = "Hello World"
print w[2:4] -> "llo"

 a, b = 1, 3
out[]:  a: 1, b: 3
쉼표를 쓰면 = 앞뒤로 여러개가 있어도 된다, 단 r value, l value 수는 같아야 한다.
If we use comma, we can assign multiple values. the numbers should be same.
이 형식은 함수형 프로그래밍을 할 때 유용할 것이라고 이해했다.
I understand this syntax is useful for the functional programming

 import re
    phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')
    mo = phoneNumRegex.search('My number is 415-555-4242.')
    mo.group(1)
   out[]: '415'
    레귤러 익스프레션을 사용하면 특정한 포맷의 데이터에서 특정 부분만을 뽑아낼 수 있다.
    using regular expression , we can extract specific format data from fixed format.

 "a" in ["a", "b", "c", "d"] and "a" in ("a", "b", "c", "d")
out[]: True
속해있다는 것을 in 이라는 키워드로 직관적으로 사용할 수 있었다.
intuitive keyword "in"
추가로 () 는 tuple 이고 []는 List 이다.
additionally () mean Tuple, [] means List

 print "Hello" + "World" 와 print "Hello", "World" 의 차이점
둘 다 print 가 가능하다는 공통점이 있지만
'+' 는 두 스트링을 이어주는 역할이고, ',' 는 두 개의 문자열을 가진 리스트를 만들어 준 것이기 때문에 다르다.
each expression could print but + makes one string, , make list of 2 string.

⑨ if 0 < x < 20:
        print "Number \'x\' is between 0 and 20
    직관적으로 조건문을 만들 수 있다.(일반적으로 프로그래밍 에서는 0 < x and x < 20) 







⑩ print """ 여러줄에 

        걸쳐서
        표현하고 싶을 경우
         \" 혹은 \' 3개로 표현 """


super() 함수는  class 상속 시에 부모의 객체를 불러온다.
* next items: import, keywords
Reference

그래서 자식  class 에서 __init__  시에 특정 동작을 추가하고 싶으면 추가한 다음 뒤에  super().__init__()  함수를 수행하면 부모의 동작을 그대로 하여 의도에 맞게 사용할 수 있다.

    a, b = 1, 3
    함수형 프로그래밍이란 어떤 것인가?
    What is Functional Programming
    Tuple and List
    https://automatetheboringstuff.com/



댓글 없음:

댓글 쓰기