문자열 문자열은 따옴표(" 또는 ')로 묶어서 표현한다. print "Hello" 따옴표를 3단으로 묶기도 한다. 3단 따옴표 안에서는 이스케잎 하지 않은 개행문자나 따옴표를 사용할 수 있는 장점이 있다. print """Hello, 'Python'.""" 특수문자를 나타내기 위해서 역슬래시(\)가 사용될 수 있다. print " \n " 문자열 앞에 접두어로 r 또는 R을 붙이면 Raw String을 나타내며, u 또는 U를 붙이면 유니코드 임을 나타낸다. 파이썬 3부터는 b 또는 B를 사용해서 바이트 표현임을 나타낼 수 있다. u 또는 b 뒤에 r을 함께 사용할 수도 있다. Raw 모드는 이스케잎 문자가 많이 사용될 때 유용하다. print "\u0062" print ur "\u0062" 문자열을 결합하려면 + 연산자를 사용하거나 공백문자를 사용한다. print "Foo" + "Boo" print "Foo" "Boo" 정수 정수는 10진수, 16진수, 8진수, 2진수로 표현할 수 있다. 16진수는 0x, 8진수는 0o, 2진수는 0b로 시작한다. 큰 정수를 표현할 때는 숫자 뒤에 l 또는 L을 붙인다. 부동소수 소수점을 사용하거나 e를 사용해 지수로 표현된 숫자는 부동소수다. 허수 허수를 표현할 떄는 숫자 뒤에 j 또는 J를 붙인다.
파이썬에서는 모든 것이 객체다. 변수도 객체고, 함수도 객체고, 심지어 코드도 객체다. 모든 객체는 ID, 타입, 그리고 값을 가진다. ID는 객체의 인스턴스가 자지는 고유 식별자이며 변경될 수 없는 값이다. 타입은 객체의 자료형이며 이 또한 변경될 수 없다. 값은 객체의 내용이다. a = 3 print (id(a)) # ID print (type(a)) # 타입 print (a) #값 값을 변경할 수 있는 것을 mutable 객체라 하고, 값을 변경할 수 없는 것을 immutable 객체라고 한다. 대부분의 기본 타입들은 immutable 이다. 숫자, 문자열, 튜플은 변경할 수 없는 객체이고, 리스트, 딕셔너리 등은 변경가능한 객체이다. a = 3 print (id(a)) # 1799077480 a = 4 print (id(a)) # 1799077496 a = 3 print (id(a)) # 1799077480 위 코드와 같이 변수의 값을 변경하는 경우에, 실제로는 변수가 가르키는 대상이 바뀌는 것이다. 3을 가리키면 '그것'은 3이되고 4를 가리키면 '그것'은 4가 되는지라, 3은 3이요 4는 4이니라. 명시적으로 변수를 메모리에서 해제하려면 del() 함수를 사용하면 되는데, 파이썬에서는 가비지컬렉션이 작동하므로 굳이 쓸 일은 없다.
#!/ usr /bin/python3 # 정규표현식 # by Elex (http://python.elex.pe.kr/) import re def main (): # 패턴 컴파일 pattern = re.compile( "([\.0-9a-z_-]+)@([0-9a-z_-]+)(\.[0-9a-z_-]+){1,2}" , re.IGNORECASE) txt = "someone's email address is email @email.com " # 찾기 match = re.search(pattern, txt) # 또는 match = re.search( "([\.0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}" , txt) if match: print ( '{} is valid email address.' .format(match.group())) # 바꾸기 print (re.sub( "([\.0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}" , "*****" , txt)) # 또는 if match: print (txt.replace(match.group(), "*****" )) if __name__ == "__main__" : main() 파이썬에서 정규표현식 관련 기능은 re라는 모듈을 통해서 제공된다. 패턴 문자열을 컴파일한 후에 search() 메서드를 사용할 수도 있고, search() 메서드에 패턴 문자열을 직접 지정해서 사용할 수도 있다. search() 메서드는 일치 결과를 반환하는데 일치하...
댓글
댓글 쓰기