양의 정수만 원하는 경우 다음과 같이 숫자를 분할하고 검색할 수 있습니다. [int(s) in str.split() if s.isdigit()][23, 11, 2] 다른 모든 경우에는 정규식을 사용하는 것이 가장 좋습니다. 또한 값을 추출할 때 string에서 int로 변환하는 것이 가장 좋습니다. 예: [float(s) for s in re.findall(r-?\d+\.?\d*, he33.45llo -42 I\m a 32 string 30 )][33.45, -42.0, 32.0, 30.0]
문자열 클래스에는 문자열의 하위 문자열을 바꾸는 데 사용할 수 있는 replace 메서드가 있습니다. 이 방법을 사용하여 제거하려는 문자를 빈 문자열로 바꿀 수 있습니다. 예: >>> "Hello people".replace("e", "") "Hllo popl" 한 줄의 문자열에서 여러 문자를 제거하려면 정규식을 사용하는 것이 좋습니다. |로 여러 문자를 구분할 수 있습니다. re.sub(chars_to_replace, string_to_rep
16진수 문자열에는 일반적으로 0x 접두사가 있습니다. 이 접두사와 유효한 문자열이 있으면 int(string, 0)를 사용하여 정수를 얻을 수 있습니다. 0은 접두어에서 기본을 자동으로 해석하도록 함수에 지시하기 위해 제공됩니다. 예: >>> int("0xfe43", 0) 65091 0x 접두사가 없으면 0 대신 16을 전달하여 숫자의 밑을 지정할 수 있습니다. 예: >>> int("fe43", 16) 65091
변수는 실제로 객체에 대한 이름 매핑이기 때문에 이것은 실제로 Python에서 수행하는 작업이 아닙니다. 정식 이름이 있는 Python의 유일한 객체는 모듈, 함수 및 클래스이며, 물론 이 정식 이름이 함수 또는 클래스가 정의되거나 모듈을 가져온 후 모든 네임스페이스에서 의미가 있다는 보장은 없습니다. 이러한 이름은 개체를 만든 후에 수정할 수도 있으므로 항상 신뢰할 수 있는 것은 아닙니다. 변수 이름을 문자열로 가져오는 방법이 여전히 있습니다. 그래도 추출하려면 변수 이름의 문자열을 알아야 합니다. 또한 이것은 변수 이름에 대한
random.choice(list_of_choices)를 사용하여 임의의 문자를 얻을 수 있습니다. 그런 다음 이것을 반복하고 목록을 얻고 마지막으로 이 목록을 결합하여 문자열을 얻습니다. 여기에서 선택 목록은 대문자와 숫자입니다. 예: import string import random def get_random_string(length): random_list = [] for i in xrange(length): random_lis
Python의 문자열은 변경할 수 없습니다. 즉, 문자열이 생성되면 변경할 수 없습니다. 문자열을 생성하고 동일한 문자열을 생성하여 다른 변수에 할당하면 둘 다 동일한 문자열/메모리를 가리키게 됩니다. 예를 들어, >>> a = 'hi' >>> b = 'hi' >>> id(a) 43706848L >>> id(b) 43706848L 이렇게 문자열 객체를 재사용하는 것을 파이썬에서는 인턴이라고 합니다. 동일한 문자열은 동일한 ID를 갖습니다.
백슬래시는 이스케이프 문자입니다. 따옴표, 큰 따옴표, 줄 바꿈 등과 같은 문자를 이스케이프하는 데 사용됩니다. 백슬래시가 포함된 문자열을 인쇄할 때 백슬래시도 이스케이프하기 위해 필요하기 때문에 두 번 표시됩니다. 이는 인터프리터에게 이 백슬래시가 이스케이프 문자가 아닌 백슬래시로만 사용되어야 함을 의미합니다. 예를 들어, print 'hello \\ John\'s friends' 출력 "hello \ John's friends"
모든 함수에는 __name__이라는 속성이 첨부되어 있습니다. 우리는 이 속성에 접근하고 함수의 이름을 얻을 수 있습니다. 예: def some_func(): return 0 print some_func.__name__ 이것은 우리에게 다음과 같은 결과를 줄 것입니다: some_func
Python 명령문을 실행하려면 exec(string)을 사용할 수 있습니다. 예를 들어, >>> my_code = 'print "Hello World!"' >>> exec(my_code) Hello World! 그러나 표현식의 값만 평가하려면 eval()을 사용할 수 있습니다. 예를 들어, >>> my_expression = "5 + 3" >>> eval(my_expression) 8 참고:eval과 exec는 매
여러 줄 문자열을 만들려면 한 쌍의 작은따옴표/큰따옴표를 사용하는 대신 세 쌍을 사용합니다. 예를 들어, multiline_str = """ My multi-line string """ print multiline_str 이것은 출력을 줄 것입니다: My multi-line string 이 표기법을 사용하여 문자열을 보간할 수 없습니다. 이 표기법은 Python에서 독스트링을 정의하는 데에도 사용됩니다.
배열의 문자열이 다른 문자열에 존재하는지 확인하려면 any 함수를 사용할 수 있습니다. 예시 arr = ['a', 'e', 'i', 'o', 'u'] str = "hello people" if any(c in str for c in arr): print "Found a match" 출력 이렇게 하면 결과가 표시됩니다. Found a match 예 과잉이지만 정규식을 사용하여 배열을 일치시킬 수도
Python 3에서 문자열을 바이트로 변환하려면 문자열 클래스에서 encode() 함수를 사용할 수 있습니다. 예를 들어, >>> s = u"HellΘ WΘrld" >>> s.encode('utf-8') 'Hell\xce\x98 W\xce\x98rld'
빈 문자열은 거짓으로 부울 컨텍스트에서 거짓으로 간주되므로 not string을 사용할 수 있습니다. 예시 string = "" if not string: print "Empty String!" 출력 이것은 출력을 줄 것입니다: Empty String! 예시 문자열에 공백이 있을 수 있고 여전히 false로 평가되기를 원하는 경우 문자열을 제거하고 다시 확인할 수 있습니다. 예: string = " " if not string.strip
파이썬에서 백슬래시 이스케이프 문자열을 이스케이프 해제하는 방법에는 두 가지가 있습니다. 첫 번째는 literal_eval을 사용하여 문자열을 평가하는 것입니다. 이 방법에서는 문자열을 다른 따옴표 레이어로 묶어야 합니다. 예: >>> import ast >>> a = '"Hello,\\nworld"' >>> print ast.literal_eval(a) Hello, world 또 다른 방법은 문자열 클래스에서 decode(string_escape)
시퀀스의 경계를 벗어나는 슬라이스(최소한 내장 기능의 경우)는 오류를 일으키지 않습니다. 인덱싱은 단일 항목을 반환하지만 슬라이싱은 항목의 하위 시퀀스를 반환합니다. 따라서 존재하지 않는 값을 인덱싱하려고 하면 반환할 항목이 없습니다. 그러나 범위 밖의 시퀀스를 슬라이스할 때 여전히 빈 시퀀스를 반환할 수 있습니다. 예: >>> s = [1, 2, 3] >>> s[5:8] [] 하지만 범위를 벗어난 인덱스를 사용하면 오류가 발생합니다. >>> s = [1, 2, 3] >>
문자열 형식을 사용하여 Python에서 부동 소수점 숫자의 형식을 고정 너비로 지정할 수 있습니다. 예를 들어 소수점을 12자 너비와 소수점 오른쪽 4자리로 정렬하려면 다음을 사용할 수 있습니다. >>> x = 12.35874 >>> print "{:12.4f}".format(x) 12.3587 문자열 보간 및 형식 지정을 사용하여 이 결과를 얻을 수도 있습니다. 예: >>> x = 12.35874 >>> pr
목록을 제자리에 정렬하려면, 즉 목록 자체를 정렬하고 해당 목록 자체에서 순서를 변경하려면 문자열 목록에서 sort()를 사용할 수 있습니다. 예를 들어, print a[Followers, Hello, My] 원래 목록을 그대로 유지하고 대신 정렬된 요소의 새 목록을 원하면 sorted(list)를 사용할 수 있습니다. 예를 들어, print b[팔로워, 안녕하세요, 내]
문자열을 숫자와 연결하려면 str(number)을 사용하여 숫자를 문자열로 변환해야 합니다. 예를 들어, >>> a = "string" >>> b = 1 >>> print a + str(b) string1 Python 2에서는 backtick(``)을 사용하여 숫자를 묶고 숫자와 문자열로 동일한 결과를 얻을 수도 있습니다. 백틱은 Python 3에서 제거되었습니다. 예를 들어, >>> a = "string" >>>
ASCII 문자만 있고 인쇄할 수 없는 문자를 제거하려는 경우 가장 쉬운 방법은 string.printable을 사용하여 해당 문자를 필터링하는 것입니다. 예를 들어, >>> import string >>> filter(lambda x: x in string.printable, '\x01string') string 0x01은 인쇄 가능한 문자가 아니므로 인쇄되지 않았습니다. 유니코드도 지원해야 하는 경우 유니코드 데이터 모듈과 정규식을 사용하여 이러한 문자를 제거해야 합니다. 예시 im
파이썬에서 백슬래시 이스케이프 문자열을 이스케이프 해제하는 방법에는 두 가지가 있습니다. 첫 번째는 literal_eval을 사용하여 문자열을 평가하는 것입니다. 이 방법에서는 문자열을 다른 따옴표 레이어로 묶어야 합니다. 예: >>> import ast >>> a = '"Hello,\\nworld"' >>> print ast.literal_eval(a) Hello, world 또 다른 방법은 문자열 클래스에서 decode(string_escape)