#### 프로그래밍 기초
## 01숫자형의 특징
#리터럴(Literal): 소스코드 상에서 내장 자료형의 상수 값을 나타내는 용어
#예시
15
3.14
'파이썬'
[1,2,3]
True
type()함수 : 리터럴의 자료형을 확인할 때 사용
(값에 의해 자료형이 결저오디는 동적타이핑 언어의 성격을 가진 파이썬)
type(15) -> 정수형
type(3.14) -> 부동소수점 숫자형
type('파이썬') -> 문자열형
type('True') -> 부울형
type([1,2,3]) -> 리스트형
-> type()함수의 인자로 해당 리터럴을 전달하면 함수의 반환값으로 자료형의 정보를 얻을 수 있음
#숫자형
: 숫자 리터럴이 사용된 자료형. 정수형, 부동소수점형, 허수형이 있음
정수형의 길이는 무제한이며, 메모리가 허용하는 범위까지 사용할 수 있음
0o 접두어: 8진수 사용
ex) 0o117 = 127
0x 접두어: 16진수 사용
ex) 0xdeadbeef = 3735928559
0b 접두어: 2진수 사용
ex) 0b100110111 =311
매우 큰 수, 매우 정밀한 수를 표현하기ㅏ 위해 지수 표기법 사용 가능
1e100 = 1e+100
3.14e-10 = 3.14e-10
0e0 = 0.0
파이썬의 허수형은 j 접미사를 사용함
10.j = 10j
.001j = 0.001j
정수형 리터럴 내의 _는 무시됨
100_000_000_000 = 100000000000
부동소수점 숫자형 리터럴 내의 _는 무시됨
3.14_15_93 = 3.141593
허수형 리터럴 내의 _는 무시됨
1e100j = 1e+100j
3.14_15_93j = 3.141493j
## 02문자열의 특징
문자열: 문자들의 집합. "" 및 ''로 표현
자료형으로서의 문자형은 제공하지 않음.
ex) "'시간의 역사'남기고 떠난 스티븐 호킹" = '\'시간의 역사\'남기고 떠난 스티븐 호킹'
이스케이프 문자열: 프로그램의 소스 코드 내에서 사용할 수 있도록 백슬래시 기호와 조합해서 사용하는 사전에 정의해둔 문자 조합으로,
문자열의 출력결과를 제어하기 위해 사용함. \' or \" 사용
\n = 줄바꿈
\\ = \
\t = 탭
## 03문자열 포맷팅
문자열 내에 사용된 문자열 표시 유형(문자열 포맷코드)을 특정 값으로 변경하는 기법
# %포맷팅을 사용한 문자열 포맷팅
's': 문자열 포맷. % 다음의 값을 문자열로 변환해 처리하는 기능을 가짐
ex) "이름: %s" % "홍길동" => '이름: 홍길동'
ex) "나이: %s" % 20 => '나이: 20'
ex) "결혼: %s" % False => '결혼: False'
ex)"이름: %s\n나이: %s 세" % ("홍길동",20) => '이름:홍길동\n나이:20세'
'c': 문자 포맷. 정수를 유니코드 문자로 변환해 출력
ex)"%c => %d" % (97,97) => 'a=97'
'd': 10진 정수 형태로 문자열로 변환해 출력
ex) "%d %o %x" % (10,10,10) => '10 12 a'
'o': 8진수 형태로 문자열 출력
'x': 16진수 형태로 문자열 출력
ex) "%s %d %x" % ("가", ord('가'), ord('가')) => '가 44032 ac00'
'f': 부동소수점 숫자로 출력. 소수점 이하 6자리까지만 문자열 출력
ex)"%f %d" % (3.14, 3.14) => '3.140000 3'
'%': %문자 자체를 출력
ex)'%d 점은 상위 %d%% 에 속합니다.' % (98,1) => '98점은 상위 1%에 속합니다'
'%%': %문자 자체를 문자열 내에 포함될 수 있도록 함
#문자열 출력 폭과 정렬 방향
ex) "%10s" % "우측정렬" => ' 우측정렬'
ex) "%-10s" % "좌측정렬" => '좌측정렬 '
#부동소수점 숫자의 출력 폭 지정, 소수점 이하의 정밀도 표현 적용
ex)"%0.2f" % 3.141592 => '3.14'
ex) "%10.2f" % 3.141592 => ' 3.14'
ex) "%010.2f" % 3.141592 => '0000003.14'
#str.format()함수를 이용한 문자열 포맷팅
ex)"이름: {0}, 나이: {1} 세".format('홍길동',20) => '이름: 홍길동, 나이: 20세'
ex)"이름: {}, 나이: {}세".format("홍길동",20) => '이름: 홍길동, 나이: 20세'
ex)"나이: {1}, 이름: {0} 세".format('홍길동',20) => '나이: 20세, 이름: 홍길동'
ex)'{0:c} => {1}'.format(97,97) => 'a => 97' # {0:c} = 유니코드 값으로 변환시켜줌
ex) "{0},{1},{2:x}".format("가", ord("가"), ord("가")) #{0}= 가, {1} = 44032, {2:x} = 16진수 ac00으로 변환
ex) "{0:f} : {1:.2f}".format(3.14, 3.14) => '3.140000, 3.14' #{0:f} = 3.14에 대해 소수점이하 6자리까지 출력된 문자열 변환 결과, {1:.2f}: 3.14에 대해 소수점 이하 2자리까지 출력된 문자열 변환 결과
ex) "이름: {name}, 나이: {age}세".format(name='홍길동', age=20) => '이름: 홍길동, 나이: 20세'
ex)"{0:<10}".format("좌측정렬") => '좌측정렬 '
ex)"{0:>10}".format('우측정렬') => ' 우측정렬'
ex)"{0:^10}".format("중앙정렬") => ' 중앙정렬 '
ex)"{0:*^10}".format("중앙정렬") => '***중앙정렬***'
ex)"{0:0.2f}".format(3.141592) => '3.14'
ex)"{0:10.2f}".format(3.141592) => ' 3.14'
ex)"{0:010.2f}".format(3.141592) => '0000003.14'
ex)"{{ {0.:.1f} }}".format(98.5) => '{98.5}'
## 04주석처리
프로그램의 코드 앞에 #을 붙여 작성된 부분으로, 소스코드에 대한 상세 설명을 달거나 특정 코드를 실행하지 않을 목적으로 사용함
'코딩' 카테고리의 다른 글
| DB (0) | 2020.08.19 |
|---|---|
| [데이터분석/오늘코드] 코로나19 데이터 pandas로 크롤링하기 3 (0) | 2020.08.10 |
| [데이터분석/오늘코드] 코로나19 데이터 pandas로 크롤링하기 2 (0) | 2020.08.09 |
| [데이터분석/오늘코드] 코로나19 데이터 pandas 로 크롤링하기 1 (0) | 2020.08.07 |