str.split(sep=None, maxsplit=-1)maxsplit=-1sep=None['1', '', '2']). ['1', '2', '3']). Splitting an empty string with a specified separator returns [''].[]. For example, ' 1 2 3 '.split() returns ['1', '2', '3'], and ' 1 2 3 '.split(None, 1) returns ['1', '2 3 '].

#키워드 확인 소스
import keyword
print(keyword.kwlist,"\n",'='*50)
print('키워드 갯수 : ', len(keyword.kwlist))
['False', 'None', 'True', 'and', 'as',
'assert', 'async', 'await', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else',
'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda',
'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', 'yield']
==================================================
키워드 갯수 : 35
Class = '홍길동&홍길민&홍길초&홍길순&홍길말&홍길서&홍길명&홍길태&홍길남&홍길훈&홍길평&홍길산&홍길숙&홍길례&홍길만&홍길구&홍길대&홍길택&홍길섭&홍길상'
#위의 문자열 변수명을 class의 소문자로 쓰면 에러 발생합니다.
#상단의 키워드 확인 소스 참조
s = pd.Series(Class.split('&'), index=[f'{i:02d}' for i in range(1, len(list(Class.split('&')))+1)])
print(s)
{i:02d}에서 각 부분의 의미::(콜론) : 포맷 코드의 시작을 나타냄0 : 자리수가 부족할 때 왼쪽을 0으로 채움2 : 전체 자릿수를 2자리로 맞춤d : 정수(decimal) 타입임을 의미
D2 설치했는데 Jetbrain Mono 쓸 수 있는 분들은 Jetbrain도 좋아요.
* (언패킹, positional arguments)의미: 리스트, 튜플 등 시퀀스 타입의 값을 함수의 위치 인자(positional arguments)로 하나씩 풀어서 전달합니다.
예시:
def func(a, b, c):
print(a, b, c)
values = [1, 2, 3]
func(*values) # func(1, 2, 3)과 동일
설명:
*inputList는 [100, True, 'jaehyun']을 각각의 인자(100, True, 'jaehyun')로 풀어서 함수에 전달합니다.
** (언패킹, keyword arguments)의미: 딕셔너리의 key-value 쌍을 함수의 키워드 인자(keyword arguments)로 하나씩 풀어서 전달합니다.
예시:
def func(score, name, age):
print(score, name, age)
info = {'score': 100, 'name': 'Joey', 'age': 10}
func(**info)
# func(score=100, name='Joey', age=10)과 동일
설명:
**inputDic는 {'score':100, 'name':'jaehyun', 'age':10}을 각각의 키워드 인자(score=100, name='jaehyun', age=10)로 풀어서 함수에 전달합니다.
*args, **kwargs*args : 위치 인자를 튜플로 받음**kwargs : 키워드 인자를 딕셔너리로 받음* : 리스트/튜플 등 시퀀스 → 여러 개의 위치 인자로 언패킹** : 딕셔너리 → 여러 개의 키워드 인자로 언패킹이 기능 덕분에 함수에 유연하게 여러 인자를 전달할 수 있습니다!
def test(a, b, c):
print(a, b, c)
lst = [1, 2, 3]
dct = {'a': 10, 'b': 20, 'c': 30}
test(*lst) # 1 2 3
test(**dct) # 10 20 30
open(file, mode, encoding)r: 읽기용 파일 객체를 열기(기본값)x: 쓰기용 파일 객체를 열기a: 기존 파일의 맨 마지막에 추가용 파일 객체를 열기encoding='utf8'# (1) 현재 작업 디렉터리
import os
print("\n현재 경로:", os.getcwd())
# (2) 예외 처리
try:
# (3) 파일 읽기
ftest1 = open('data/ftest.txt', mode ='r', encoding='utf8')
print(ftest1.read()) # 파일 전체 읽기
# (4) 파일 쓰기
ftest2 = open('data/ftest2.txt', mode ='w', encoding='utf8')
ftest2.write("my first test~~~") # 파일 쓰기
# (5) 파일 쓰기 + 내용 추가
ftest3 = open('data/ftest2.txt', mode ='a', encoding='utf8')
ftest3.write("\nmy second text ~~~") # 파일 쓰기(추가)
except Exception as e:
print("Error 발생:", e)
finally:
ftest1.close() # 파일 객체 닫기
ftest2.close()
ftest3.close()