직접 해보는 손코딩 따라하기 + 챕터- 의 소단원의 마무리의 확인문제의 코딩 직접작성하기
02-1 자료형과 문자형
안 | 녕 | 하 | 세 | 요 | |
앞에서부터 선택 | [0] | [1] | [2] | [3] | [4] |
뒤에서부터 선택 | [-5] | [-4] | [-3] | [-2] | [-1] |
[ ] 기호를 이용해 문자열의 특정 위치에 있는 문자를 참조하는 것을 인덱싱 indexing 이라고 하고,
[:] 기호를 이용해 일부를 추출하는 것을 슬라이싱slicing 이라고 합니다.
(왼쪽사진)
오류 발생하면 밑에 정상적인 코드들도 진행하지 않고
오류난 지점에서 맥혀버림.
#확인4 👉 파이썬은 문자 선택 연산자에서 인덱싱할 때 0부터 셉니다. 👉 안녕하세요. 5글자 니까 5-1 = [0부터:4까지]
IndexError: string index out of range
인덱스의 범위를 넘어가는 인덱싱을 할 때는 오류를 발생합니다.
02-2 숫자 자료형과 문자형
- 소수점이 없는 숫자 : 0, 1, 273, -52 👉 정수(integer)
- 소수점이 있는 숫자 : 0.0 , 52.273 , -1.2 👉 실수(floating point, 부동 소수점)
네이버 지식백과 : 네이버캐스트, "사칙연산" https://terms.naver.com/entry.naver?docId=3567720&cid=58944&categoryId=58970
https://zomzom.tistory.com/4123
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
02-3 변수와 입력
변수(變數) = 변할수 있는 자료, 숫자 뿐만 아니라 모든 자료형을 의미.
파이썬에서는 변수를 생성하는 그 자체가 사용하겠다고 선언하는 것. 변수에는 모든 자료형의 값을 저장可
첫째, 변수를 선언하는 방법 : 변수를 생성하는 것 ex. 3.14159265.... 라는 원주율의 값을 π라는 기호로 정의하듯이, pi를 "사용하겠댜"라고 선언하는 것
둘쨰, 변수에 값을 할당하는 방법
변수에 값을 넣는 것을 의미. π=3.14159265...이듯이 변수로 사용하겠다고 선언한 pi에 값을 넣는 것, 즉 pi=3.14159265...
이때 = 기호는 '같다'는 의미가 아닌 우변의 값을 좌변에 '넣겠다','할당하겠다'라는 의미입니다.
= 할당연산자
셋째, 변수를 참조하는 방법
변수에서 값을 꺼내는 것을 의미 ... (중략)...
변수 안에 있는 값을 사용하는 것을 '변수 참조'라고 합니다. ex. 계산할 때 값인 3.1415926를 일일히 작성하지 않고 pi, π 기호를 작성해서 원의 둘레, 원의 넓이를 구하는 공식에 사용하는 것.
변수 만들기/사용하기
82쪽 입력 자료형 확인하기 - type()
input()함수로 자료를 입력받은 후 입력받은 것과 숫자를 더하는 코드를 작성하려고 하면
위 결과 사진 같은 문제점이 발생하게 된다.
- 가운데 사진(진리값 True 를 문자열 로 취급.)
- 오른쪽 사진(숫자값 30을 문자열로 취급.)
문제 원인 : 문자열은 문자열끼리 연산해야 하고, 숫자는 숫자끼리 연산해야 하기 때문이다.
복합 대입 연산자
연산자 이름 | 설명 |
+= | 숫자 덧셈 후 대입, 문자열 연결 후 대입 |
-= | 숫자 뺄셈 후 대입 |
*= | 숫자 곱셈 후 대입, 문자열 반복 후 대입 |
/= | 숫자 나눗셈 후 대입 |
$= | 숫자의 나머지를 구한 후 대입 |
**= | 숫자 제곱 후 대입 |
사용자 입력:input()
입력받은 값 30과 100을 더하고자 한 것이었으나 input()함수로 입력받은 자료는 모두 문자열로 저장되므로 "30"+100이 되어 문자열과 숫자는 더할 수 없어 발생한 에러이다.
TypeError: can only concatenate str (not "int") to str
👉 입력받은 문자열을 숫자로 변환해야 숫자 연산에 활용할 수 있다는 메시지이다.
문자열을 숫자로 바꾸기
ValueError 에외
자료형을 변환할 때 ' 변환할 수 없는 것'을 변환하려고 하면 ValueError 예외가 발생합니다.
이 예외가 발생하는 경우는 2가지가 있습니다.
- 첫째, 숫자가 아닌 것을 숫자로 변환하려고 할 때
- 둘째, 소수점이 있는 숫자 형식의 문자열을 int()함수로 변환하려고 할 때
숫자를 문자열로 바꾸기
str(다른 자료형) : 다른 자료형의 값을 str()함수의 매개변수에 넣으면 문자열로 변환된다.
⭐ input()함수의 입력 자료형은 항상 문자열이기 때문에 입력받은 문자열을 int()혹은 float()함수를 사용해 숫자로 변환해야 숫자 연산에 활용할 수 있습니다.
02-4 숫자와 문자열의 다양한 기능
문자열의 format()함수
format()함수로 숫자를 문자열로 변환하기
format()함수는 문자열이 가지고 있는 함수입니다. 중괄호{}를 포함한 문자열 뒤에 마침표(.)를 찍고 format()함수를 사용하는데, 중괄호의 개수와 format 함수 괄호 안 매개변수의 개수는 반드시 같아야 합니다.
숫자10의 자료형 ☞ 문자열 10 로 변환
앞쪽에 있는 문자열의 {}기호가 format()함수 괄호 안에 있는 매개 변수로 차례로 대치되면서 숫자가 문자열이 되는 것입니다.
문자열의 format()함수
{}기호의 개수가 format함수의 매개변수 개수보다 많으면 IndexError예외가 발생
( {}기호의 개수 > format함수의 매개변수 개수 )
format()함수의 다양한 기능
{: d} d에 공백을 두면 양수의 경우에 기호 위치를 공백으로 비워줍니다.
부동 소수점 출력의 다양한 형태
의미 없는 소수점 제거하기
기호 위치를 공백으로 비워줍니다.
대소문자 바꾸기 : upper()와 lower()
upper()함수는 문자열의 알파벳을 대문자로 만든다.
lower()함수는 문자열의 알파벳을 소문자로 만든다.
✔️비파괴적 함수
upper()함수와 lower()함수를 이용하면 a 의 문자열이 바뀔 것으로 생각하는데, 절대로 원본은 변하지 않는다는 것을 기억하세요👉이렇게 원본을 변화시키지 않는 함수를 '비파괴적 함수'라고 부릅니다. (이와 반대되는 파괴적 함수는 4장에서 알아보도록 하겠습니다.)
문자열 양옆의 공백 제거하기: strip()
upper()함수는 문자열의 알파벳을 대문자로 만든다.
- strip() : 문자열 양옆의 공백을 제거합니다.
- lstip() : 문자열 왼쪽의 공백을 제거합니다. (거의 사용 △)
- rstrip() : 문자열 오른쪽의 공백을 제거합니다. (거의 사용 △)
문자열의 구성 파악하기 : isOO()
- isalnum() : 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인합니다.
- isalpha() : 문자열이 알파벳으로만 구성되어 있는지 확인합니다.
- isidentifier() : 문자열이 식별자로 사용할 수 있는 것인지 확인합니다.
- isdecimal() : 문자열이 정수 형태인지 확인합니다.
- isdigit() : 문자열이 숫자로 인식될 수 잇는 것인지 확인합니다.
- isspace() : 문자열이 공백으로만 구성되어 있는지 확인합니다.
- islower() : 문자열이 소문자로만 구성되어 있는지 확인합니다.
- isupper() : 문자열이 대문자로만 구성되어 있는지 확인합니다.
문자열 찾기 : find()와 rfind()
문자열 내부에 특정 문자가 어디에 위치하는지 확인할 때 사용합니다.
- find() : 왼쪽부터 찾아서 처음 등장하는 위치를 찾습니다.성되어 있는지 확인합니다.
- rfind() : 오른쪽부터 찾아서 처음 등장하는 위치를 찾습니다.
문자열과 in연산자
문자열 내부에 어떤 문자열이 있는지 확인하려면 in연산자를 사용합니다.
출력은 Boolean값(True-맞다, False-아니다)라고 나옵니다.
문자열 자르기 : split()
문자열을 특정한 문자로 자를 때는 split() 함수를 사용합니다.
실행결과로 리스트가 나오게 됩니다.
'#단편모음 > 낱 장' 카테고리의 다른 글
[혼공파] C06 예외처리-230521日 (0) | 2024.04.16 |
---|---|
[혼공파] C05 함수-230516火 (0) | 2024.04.16 |
[혼공파] C04 반복문-230515月 (0) | 2024.04.16 |
[혼공파] C03 조건문-230512金 (0) | 2024.04.16 |
[책] 혼공파 C01 : 파이썬 시작하기 (0) | 2024.02.25 |