파이썬 스터디1

seonae's wiki
Seonae (토론 | 기여) 사용자의 2019년 1월 10일 (목) 14:13 판 (자료형:문자)

이동: 둘러보기, 검색

스터디 홈

도입:점프투파이썬


기초

  • 변수(variable) : 프로그램에서 사용되는 데이터를 저장해 놓는 일종의 저장 공간[1]
  • 파이썬에서는 정확히 객체참조하는 이름을 의미.
  • 데이터를 처리할때 데이터자체가 아니라 변수를 가지고 유연하게 처리하게 됨.


  • 변수 이름을 짓는 규칙
    • 공백이 없을 것
    • 유니코드 문자나 밑줄(_)로 시작할 것
    • 예약어는 사용불가
    • 한글도 사용가능은 함.
    • 그 외에도 여러가지 규칙이 있으나 생략.
    • 일반적으로 변수이름은 영문소문자나 camelCase형태를 사용.


  • 예약어(reserved words) : 이미 사용중인 이름
>>>import keyword
>>>keyword.kwlist


  • 주석(comment)은 두가지로, 한줄은 #, 여러줄은 으로.
print("주석") #주석입니다.
'''이것도
주석입니다'''


  • 치환문(assignment) : '='을 사용하는 문. 왼쪽의 변수에 오른쪽의 객체를 할당.
  • 파이썬에서는 변수의 자료형을 정해주지 않아도 됨.
>>>a = 1
>>>b = 1
>>>1+2 = c
  • 다양한 치환문
>>>c, d = 3, 4
>>> x = y = z =0
>>>e = 3.5; f = 5.6
>>>e, f = f, e
>>>a, *b = [1,2,3,4,5]
>>>*a, b = [1,2,3,4,5]
  • 확장치환문 : +=, -=, *=, /= 등
>>>a = 1
>>>a += 1
>>>a


  • 콘솔(console) : 오퍼레이터(operator, 사용자)와 컴퓨터 사이에 대화할 수 있는 입출력장치
  • 콘솔 입력 : input()
>>>name = input('name?')
name? 이름
>>>name
  • 콘솔 출력 : print()
>>>print("Hello, World!")
>>>print('add :' , 4+5, 'sub :' , 4-2)

자료형

  • 자료형(datatype) : 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻한다. 프로그램의 기본이자 핵심 단위[2]
자료형 설명
bool True나 False True, False
int, float, complex 정수, 실수, 복소수 등의 숫자 123, 1.43, 5+4j
str 유니코드 문자 표현. 변경 불가 '문자', hello
bytes 0~255사이의 코드 b'Python'
list 순서가 있는 객체의 집합. [ 1, 2, 3], ['물', '별']
dict 순서가 없는 객체의 집합. key와 value {'너' : 1, '나' : 2}
tuple 순서가 있는 객체의 집합. 변경 불가. (1,2,3)
set 집합 {1, 2, 3}


  • bool(부울) : 참과 거짓을 표현하는 자료형
>>> a= 1
>>> a <0
>>> a >0

>>> True + True
>>> True * False

자료형:숫자

  • 숫자형(number) : 숫자형태의 자료형. 정수, 실수, 2진수, 8진수, 16진수, 복소수 등
#정수형
>>> a = 123
>>> a = -178
>>> a = 0
#실수형
>>> a = 1.2
>>> a = -3.45

>>> a = 0o177    #8진수
>>> b = 0xABC   #16진수
  • int() : 다른 자료형을 정수로 변환하는 함수
>>>int(2.9)
>>>int('123')


  • 연산자(operator)
    • 산술 연산자
>>> 1+2   #덧셈 +
>>> 4-3    #뺄셈 -
>>> 2*6    #곱셈 *
>>>10/2   #나눗셈 /

 #제곱 연산자 **
>>> a = 3 
>>> b = 4
>>> a ** b

#나머지 연산자 %. 나눗셈에서 나머지 값을 반환.
>>> 7 % 3
>>> 3 % 7

#몫 연산자 //. 나눗셈에서 몫을 반환.
>>> 7 / 4   #나눗셈
>>> 7 // 4  #몫

#몫과 나머지를 한번에
>>>divmod(5, 2) #5를 2로 나누면, 몫은 2, 나머지는 1
    • 관계연산자 : >, <, >=, <=, ==, =!
>>> 6 == 9
>>> 6 != 9
>>>1 > 3
>>>4 <=5
    • 논리연산자 : not, and, or
>>> a = 20
>>> b = 30
>>> a > 10  and b < 50


연습문제1

  • 점수의 평균 구하기 : 국어 80, 영어 75, 수학 55
  • 자연수가 홀수인지 짝수인지 판별하기

자료형:문자

  • 시퀀스(sequence) 자료형 : 여러 객체를 저장하는 자료형이며, 객체는 순서를 가짐. 인덱스로 참조 가능. 문자열, 리스트, 튜플.
  • 문자열(string) : 문자, 단어 등으로 구성된 문자들의 집합[3]
  • 문자열 사용하기
"Hello World"
'Python is fun'
"""Life is too short, You need python"""
'''Life is too short, 
You need python'''
  • 이스케이프 문자 : 프로그래밍에서 쓰는 문자
\n 줄바꿈, \t 탭, \\ 문자 \, \' 문자 ', \" 문자"


  • 문자열 연산
#문자열 연결하기(concatenation)
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail

#문자열 곱하기
>>> a = "python"
>>> a * 2

print("=" * 50)
print("My Program")
print("=" * 50)

#길이구하기 len()
>>> a = "Life is too short"
>>> len(a)

#멤버십 테스트 in
>>> a = "Life is too short"
>>> 'too' in a


  • 인덱싱(indexing)과 슬라이싱(slicing) : 인덱싱은 가리키는 것, 슬라이싱은 잘라내는 것.
#인덱싱
>>> a = "Life is too short, You need Python"

Life is too short, You need Python
0         1         2         3 
0123456789012345678901234567890123
#'''파이썬은 0부터 숫자를 센다.'''
>>> a[0]
>>> a[3]
>>> a[-1]

#슬라이싱
>>>a = "Life is too short, You need Python"
>>> a[0:4] #[시작번호:끝번호]
>>> a[10:-1]
>>> a[4:]
>>> a[:-7]
>>> a[:]

#슬라이싱을 이용한 문자열 교체 (문자열에서는 교체 안됨x)
>>>a = "Pithon"
>>>a[1]
>>>a[1] = 'y'
>>>a

연습문제2

  • 홍길동씨의 주민번호를 앞자리와 뒷자리로 구분해보자
>>> pin = "881120-1068234"
  • 주민번호에서 성별을 알려주는 숫자를 출력해보자


  • s = 'spam'이라고 할 때 아래의 결과는?
>>>s[100]
>>>s[1:100]
>>>s[4:0]
  1. http://tcpschool.com/python2018/python_datatype_variable
  2. https://wikidocs.net/11
  3. https://wikidocs.net/13#_1