💡 Python 개발 Q&A 모음
개발자가 직접 질문하고 정리한 Python 관련 실전 Q&A입니다. 초보부터 중급까지 꼭 알아야 할 핵심 내용을 담았습니다.
Q1. Python에서 if-else-if 구문은 어떻게 사용하나요?
A: Python에서는 if
, elif
, else
를 사용하여 조건 분기를 처리합니다.
score = 85
if score >= 90:
print("A학점")
elif score >= 80:
print("B학점")
elif score >= 70:
print("C학점")
else:
print("F학점")
조건은 위에서부터 순차적으로 평가되며, 첫 번째로 True
가 되는 블록만 실행됩니다.
Q2. Python에서 switch-case 구문은 없나요?
A: Python에는 전통적인 switch-case
문법은 없지만, if-elif
또는 dict
를 활용한 방식으로 대체할 수 있습니다. Python 3.10 이상에서는 match-case
문법도 사용할 수 있습니다.
match fruit:
case 'apple':
print("사과입니다")
case 'banana':
print("바나나입니다")
case _:
print("알 수 없는 과일입니다")
Q3. Python 리스트를 문자열로 변환하려면?
A: join()
메서드를 사용하면 리스트를 원하는 구분자로 연결된 문자열로 만들 수 있습니다.
fruits = ['apple', 'banana', 'orange']
result = ', '.join(fruits)
print(result) # apple, banana, orange
숫자가 섞여 있다면 str()
로 변환 후 join()
을 사용해야 합니다.
Q4. Python에서 나머지를 구하는 방법은?
A: %
연산자를 사용하면 나머지를 구할 수 있습니다.
print(10 % 3) # 1
print(-10 % 3) # 2
Python은 나머지를 왼쪽 피연산자의 부호 기준으로 계산하므로 음수일 때 결과가 다를 수 있습니다.
Q5. Python 딕셔너리에서 특정 값을 변경하려면?
A: 딕셔너리는 dict[key] = new_value
방식으로 값을 쉽게 치환할 수 있습니다.
person = {'name': 'Kang', 'age': 30}
person['age'] = 31
여러 값을 동시에 바꾸고 싶다면 update()
메서드를 사용할 수 있습니다.
Q6. json.loads로 받은 데이터에서 특정 키의 값을 바꾸려면?
A: json.loads()
는 JSON 문자열을 딕셔너리로 변환하므로, 이후에는 일반 딕셔너리처럼 값을 수정하면 됩니다.
import json
data = json.loads('{"name": "Kang", "age": 30}')
data['age'] = 31
Q7. Python에서 서버로 비동기 요청을 보낼 수 있나요?
A: 기본 requests
라이브러리는 동기 방식이지만, aiohttp
나 httpx
를 사용하면 비동기 요청이 가능합니다.
import aiohttp
import asyncio
async def fetch():
async with aiohttp.ClientSession() as session:
async with session.get('https://api.example.com/data') as response:
print(await response.json())
asyncio.run(fetch())
비동기 방식은 여러 요청을 동시에 처리하거나 UI를 멈추지 않고 작업할 때 유용합니다.
** 실제 예제 코드가 이상 하다면 댓글 달아 주시면 찾아 보고 수정 하겠습니다.
'파이썬 스크립트' 카테고리의 다른 글
Threads API: 포스팅 조회·삭제 자동화 정리 (ft chatGPT) (4) | 2025.08.17 |
---|---|
카나나 ? 바나나 ? 카카오 에서 제공 하는 OPEN Source AI ... (8) | 2025.07.31 |
Python으로 만드는 날짜 기반 자동 번역기 (3) | 2025.07.13 |
🧵 Python으로 Threads API 자동화하기 (1) | 2025.07.03 |
Python xlwings Tip 2개... (1) | 2025.05.12 |