"파이썬 스터디1"의 두 판 사이의 차이
seonae's wiki
(→변수) |
|||
(같은 사용자의 중간 판 17개는 보이지 않습니다) | |||
4번째 줄: | 4번째 줄: | ||
|일정 = 2019/1/10 1-3시 | |일정 = 2019/1/10 1-3시 | ||
|장소 = 강의동 110호 | |장소 = 강의동 110호 | ||
− | |참여인원 = 광우,선애 | + | |참여인원 = 광우,선애,승진,나라,에릭,인혁 |
|내용 = 파이썬기초 : 변수, 자료형(숫자,문자) | |내용 = 파이썬기초 : 변수, 자료형(숫자,문자) | ||
}} | }} | ||
− | === | + | ===도입:점프투파이썬=== |
*[https://wikidocs.net/4307 파이썬이란?] | *[https://wikidocs.net/4307 파이썬이란?] | ||
*[https://wikidocs.net/6 파이썬의 특징] | *[https://wikidocs.net/6 파이썬의 특징] | ||
77번째 줄: | 77번째 줄: | ||
<pre> | <pre> | ||
>>>name = input('name?') | >>>name = input('name?') | ||
− | name | + | name? 이름 |
>>>name | >>>name | ||
</pre> | </pre> | ||
84번째 줄: | 84번째 줄: | ||
>>>print("Hello, World!") | >>>print("Hello, World!") | ||
>>>print('add :' , 4+5, 'sub :' , 4-2) | >>>print('add :' , 4+5, 'sub :' , 4-2) | ||
+ | </pre> | ||
+ | |||
+ | ===자료형=== | ||
+ | *자료형(datatype) : 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻한다. 프로그램의 기본이자 핵심 단위<ref>https://wikidocs.net/11</ref> | ||
+ | {| class="wikitable" style="background:white;" | ||
+ | ! 자료형 || 설명 || 예 | ||
+ | |- | ||
+ | | '''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(부울) : 참과 거짓을 표현하는 자료형 | ||
+ | <pre> | ||
+ | >>> a= 1 | ||
+ | >>> a <0 | ||
+ | >>> a >0 | ||
+ | |||
+ | >>> True + True | ||
+ | >>> True * False | ||
</pre> | </pre> | ||
===자료형:숫자=== | ===자료형:숫자=== | ||
+ | *숫자형(number) : 숫자형태의 자료형. '''정수''', 실수, 2진수, 8진수, 16진수, 복소수 등 | ||
+ | <pre> | ||
+ | #정수형 | ||
+ | >>> a = 123 | ||
+ | >>> a = -178 | ||
+ | >>> a = 0 | ||
+ | #실수형 | ||
+ | >>> a = 1.2 | ||
+ | >>> a = -3.45 | ||
+ | |||
+ | >>> a = 0o177 #8진수 | ||
+ | >>> b = 0xABC #16진수 | ||
+ | </pre> | ||
+ | |||
+ | *int() : 다른 자료형을 정수로 변환하는 함수 | ||
+ | <pre> | ||
+ | >>>int(2.9) | ||
+ | >>>int('123') | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | *연산자(operator) | ||
+ | **산술 연산자 | ||
+ | <pre> | ||
+ | >>> 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 | ||
+ | </pre> | ||
+ | |||
+ | **관계연산자 : >, <, >=, <=, ==, =! | ||
+ | <pre> | ||
+ | >>> 6 == 9 | ||
+ | >>> 6 != 9 | ||
+ | >>>1 > 3 | ||
+ | >>>4 <=5 | ||
+ | </pre> | ||
+ | **논리연산자 : not, and, or | ||
+ | <pre> | ||
+ | >>> a = 20 | ||
+ | >>> b = 30 | ||
+ | >>> a > 10 and b < 50 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ====연습문제1==== | ||
+ | * 점수의 평균 구하기 : 국어 80, 영어 75, 수학 55 | ||
+ | *자연수가 홀수인지 짝수인지 판별하기 | ||
===자료형:문자=== | ===자료형:문자=== | ||
+ | *시퀀스(sequence) 자료형 : 여러 객체를 저장하는 자료형이며, 객체는 순서를 가짐. 인덱스로 참조 가능. 문자열, 리스트, 튜플. | ||
+ | *문자열(string) : 문자, 단어 등으로 구성된 문자들의 집합<ref>https://wikidocs.net/13#_1</ref> | ||
+ | *문자열 사용하기 | ||
+ | <pre> | ||
+ | "Hello World" | ||
+ | 'Python is fun' | ||
+ | """Life is too short, You need python""" | ||
+ | '''Life is too short, | ||
+ | You need python''' | ||
+ | </pre> | ||
+ | *이스케이프 문자 : 프로그래밍에서 쓰는 문자 | ||
+ | \n 줄바꿈, \t 탭, \\ 문자 \, \' 문자 ', \" 문자" | ||
+ | |||
+ | |||
+ | *문자열 연산 | ||
+ | <pre> | ||
+ | #문자열 연결하기(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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | *인덱싱(indexing)과 슬라이싱(slicing) : 인덱싱은 가리키는 것, 슬라이싱은 잘라내는 것. | ||
+ | <pre> | ||
+ | #인덱싱 | ||
+ | >>> 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 | ||
+ | </pre> | ||
+ | |||
+ | ====연습문제2==== | ||
+ | *홍길동씨의 주민번호를 앞자리와 뒷자리로 구분해보자 | ||
+ | <pre>>>> pin = "881120-1068234"</pre> | ||
+ | *주민번호에서 성별을 알려주는 숫자를 출력해보자 | ||
+ | |||
+ | |||
+ | *s = 'spam'이라고 할 때 아래의 결과는? | ||
+ | <pre> | ||
+ | >>>s[100] | ||
+ | >>>s[1:100] | ||
+ | >>>s[4:0] | ||
+ | </pre> |
2019년 1월 16일 (수) 23:05 기준 최신판
2019 파이썬 스터디 | |
---|---|
일정 | 2019/1/10 1-3시 |
장소 | 강의동 110호 |
참여인원 | 광우,선애,승진,나라,에릭,인혁 |
내용 | 파이썬기초 : 변수, 자료형(숫자,문자) |
도입:점프투파이썬
- 파이썬이 설치되어 있지 않다면? 온라인에서 바로 실행해보세요
- 연습용 온라인 에디터
기초
- 변수(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]