1. 파이썬에 대한 이해
파이썬은 인터프리터 언어로, 성능은 떨어지지만, 쉬운 문법과 높은 생산성으로
유틸리티 제작, 웹 프로그래밍, 임베디드, 데이터베이스, 교육용으로 사용된다.
대화식모드(콘솔), 스크립트모드(IDLE, pycharm과 같은 IDE) - 2가지 모드가 있다.
C와 자바에서는 {} 를 사용하여 블록을 표시하지만
파이썬은 명시적인 블록 사용x , 인덴트(들여쓰기+개행)을 통하여 구조를 만든다.
들여쓰기는 탭 또는 4개의 공백으로 표기 - 파이썬은 4개의 공백을 권장
세미콜론 - 사용은 가능하지만 사용하지말자
한 줄에 하나의 명령을 작성하는 습관을 들이는 것을 권장
주석은 # 쓰고싶은 주석
과 같은 형식으로 사용한다.
/* */ 와 같은 여러줄 주석은 지원하지 않는다. (왓더...?)
출력) >>>print(출력내용, [, sep=구분자] [, end=마침문자])
sep default val = ''' (공백)
end default val = \n (개행문자)
입력) >>>변수 = input( '질문 내용' )
콘솔 : 질문 내용: ....
사용자가 입력하는 값은 항상 문자열로 저장되어 변수에 저장된다.
정수형등으로 사용하고 싶다면 int(변수) 와 같이 사용하면된다.
java의 Integer.parseInt() 와 같은 역할이다!
(변수 = int(input()) 도 가능)
예시)
>>>name = input('이름을 입력하시오:')
사용자 입력값 - 한경은
>>>print('안녕하세요',name,'님')
결과: 안녕하세요 한경은 님
2. 변수
변수에 어떤 값을 넣느냐에따라 변수타입은 계속 변할 수 있다.
하지만 처음 정한 용도대로 사용하는게 좋다.
변수의 현재 타입이 궁금하다면 type(변수) 명령어를 사용한다.
변수가 필요없어지면 del 변수명 와 같은 방법으로 메모리에서 삭제할 수 있으나, 굳이 삭제할 이유는 없다. 알아서 메모리 컬렉션 수행
3. 타입
16진법 접두 : 0x
8진법 접두 : 0o
2진법 접두 : 0b
진법이 다른 수도 print함수는 무조건 10진수로 출력함.
타 진법으로 출력을 원한다면 다음과 같이.
print( hex(26) ) -> 0x1a
print( oct(26) )
print( bin(13) )
etc...
문자열(string)
변수명 = "string contents"
큰따옴표 대신 작은따옴표를 사용해도 된다!
작은따옴표를 사용하는 경우 문자열 내에 큰 따옴표를 그대로 사용해도 괜찮!!
\n \" \\ 와 같은 특수문자 표기법은 C와 동일
* 한줄에 다 쓰기 힘든 긴 문자열 처리법
(1) """ """ 활용
(2) 행 끝에 \ 문자 활용 \
(3) string들 모음을 () 안에 감싸기
boolean 값 - True / False - 첫 문자 꼭 대문자!!!
NULL 값 - None
* 컬렉션
리스트 member = [ x1, x2, x3, x4 ]
튜플 member = ( x1, x2, x3, x4 )
사전(Dictionary)
집합
등
for m in member:
print( m )
등과 같이 활용한다.
(리스트와 달리 튜플은 한번 정의된 이후 값을 추가/변경 등이 불가하다.)
4. 연산자
(C/Java와 다른점 위주로 기술)
/ 연산자 - 소수점까지 계산된 실수형 값을 결과로 내놓는다.
기존 C에서의 / 연산자와 같이 사용하고 싶다면 // 를 사용하면 된다.
5/2 = 2.5
5//2 = 2
++, -- 와 같은 단항증감연산자가 없다.
꼭 +=, -= 와 같이 사용해야...
>>>print("문자열" * 정수값)
결과로 정수값 만큼 반복된 문자열이 출력된다.
정수 또는 실수를 (스트링과 함께) 출력하고 싶을 때
>>> print("korea" + 2002) # 에러
>>> print("korea" + str(2002) ) # korea2002
문자열 -> 정수 및 실수
>>> int(문자열) / float(문자열) # 올바른 형식으로 적혀있어야!
실수 데이터를 int 함수를 사용하여 형변환 하면 무조건 소수점 이하 버림
-> 반올림한 정수값을 원한다면 int대신 round 함수 사용하자
5. 조건문 (if 조건문 + 블록)
if 조건:
명령 # 앞에 공백(인덴트)가 없으면 에러
or
if 조건 : 명령
addition)
if a >1 and a < 10 : 명령
을 파이썬에서는
if 1<a<10 : 명령
과 같이 사용할 수 있다!!!!! wow
* 블록구조
1번)))))))))))
age = 16
if age > 19:
print("문장1")
print("문장2")
2번)))))))))))
age = 16
if age > 19:
print("문장1")
print("문장2")
1 과 2 다르다!
1은 출력x 2는 문장2 는 출력된다.
인덴트(들여쓰기)에 따라 어느 블록에 포함되는지 구분된다.
1번예제는 두 개의 프린트문이 같은 블록안에 포함되어 있는 것으로 파악되어,
조건의 참거짓 여부에 따라 두개가 모두 실행되거나 모두 실행되지 않는다.
if 조건문:
명령1 #블록
명령2 #블록
명령3 #블록
명령4 #블록 외부의 명령
명령5 #블록 외부의 명령
* 파이썬 if~else 조건문!
if 조건1:
명령1
elif 조건2:
명령2
else:
명령3
(들여쓰기 맞춤 주의!)
6. 반복문
* while 문 기본형식
while 조건:
명령
예시)
num = 1
sum = 0
while num <= 100 :
sum += num
num += 1
print ("sum= "+int(sum))
* for 반복문 기본형식
for 제어변수 in collection :
명령
for 제어변수 in range(시작값, 끝값, 증감값) :
명령
for 제어변수 in range(반복횟수) : # 단순히 반복 횟수만 통제할 때!
명령
* break과 continue 문은 그대로 사용된다.
예시)
score = [ 92. 86, 83, -1, 25 ]
for s in score :
if (s == -1) :
continue
print(s)
if ( s>100) :
break
print("성적 처리 끝")
7. 함수
* 함수 선언 기본형식
def 함수명(인수목록) :
본체
결과 값이 있다면 "return 결과" 실행!
* pass 명령
def factorial() :
pass
또는
if score >= 90 :
pass
else :
pass
이와 같이 선언만 해놓고 추후에 implement 할 계획이라면 pass 명령어를 사용한다.
파이썬이 들여쓰기 구조이기 때문에 생겨난 명령어
* 가변 인수
def int sum(*ints):
본체
-> 여러개의 인수값을 받을 수 있다. 몇 개를 넘기던간에 ints 튜플로 묶여서 전달됨.
본체내에서는 for instance in ints : print(instance) 와 같이 사용할 수 있다.
단, 가변인수는 인수 목록의 마지막에 와야한다. 두 개 이상의 가변인수를 받을 수도 없다.
ex)
func(s, *ints) # 가능
func(*ints, s) # 불가
func(*ints, *doubles) #불가
* 인수 기본(default)값 설정
def calcstep(begin, end, step=1) :
......
step에 특별한 값을 지정해주지 않아도 디폴트값으로 세팅됨
* 파이썬은 positional argument(위치 인수전달) 방법과 keyword argument(키워드 인수전달)방법 두가지를 모두 지원한다.
ex) calcstep(3, step=1, end=5) 와 같이 인수이름에 직접 값 배정하여 함수 호출
'프로그래밍 > 기타' 카테고리의 다른 글
윈도우10 계정이름(directory상의 user이름까지) 바꾸고 싶을때 (0) | 2022.01.03 |
---|---|
파워빌더(10.5+SVN) - getLatestVersion 실행 시 PBSCC Proxy 오류 (0) | 2022.01.03 |
Error 해결법) Error 5 : Access is denied (0) | 2021.12.13 |
[Tistory] 새로운 티스토리 편집기의 '코드블럭'을 활용하여 코드 작성 시, 글 발행 후에도 하이라이트(폰트,스타일) 유지시키기. (0) | 2019.04.20 |