Python 기본 개념
2019. 9. 12. 23:29ㆍpython
기본 문법
- Print 출력
- Input 값을 저장할 수 있다.
- Type 변수이 타입을 알 수 있다
- 변수명을 숫자로 시작하면 안된다.
- 띄어쓰기를 하면 안된다 (대신 언더바 사용)
사이트: python tutor => liveprogramig
Python 자료형
1. 숫자 (int)
2. 문자 (string)
값을 변경하거나 순서를 변경할 수 없다.
- " " , ' ' 둘다 사용 가능
my_str = “김씨가족”
my_str = ‘Pumkin’
- 따옴표 3개를 쓰면 여러줄 문자열을 한꺼번에 저장이 가능하다.
my_str = “””제스터
토미
메타”””
- % operator ( ‘%s’ => 문자 ’%d’ =. 정수 ‘%f’ => 실수) 문자를 포맷팅 하는방법 중 오래된 방법 포맷팅할 문자열이 길어지면 지저분해 진다.
my_str = “My name is %s” % “Young choi”
print(my_str) => "My name is Young choi"
- {} 안에 숫자를 넣으면 인덱스 값으로 인식 문자열을 자유롭게 표현하기 위한 방식.
“{ }”.format( )
'{} x {} = {}'.format(2, 3, 2*3)
=> "2 x 3 = 6"
'{1} x {0} = {2}'.format(2, 3, 2*3)
=> "3 x 2 = 6"
- Indexing 각 문자 마다 인덱스가 있고 -로도 표기가 가능하다.
0 1 2 3 4 5
P y t h o n
-6-5-4-3-2-1
- Slicing 문자열을 잘라서 복사해온다.
P /y t h/ o n [1:4]
P y t / h o n [:3]
P y /t h o n [2:]
- string.split() 문자열을 공백 단위로 잘라준다.
- Docstring 함수를 설명할때 사용
“”” 주석입니다 “””
- Escape Code
end 문자열의 마지막을 지정해 줄 수 있다.
print( ‘Hello’, end= ‘World ‘ )
'Hello World'
\n 줄바꿈
print('Hello\nWorld')
'Hello
World'
\t 탭
print('Hello\tWorld)
'Hello World'
3.Boolean (True, False)
4.List
한꺼번에 모아서 쓰는것 많은 수의 값을 한번에 저장한다. 값을 변경할 수 있다.
그릇이 없는 상태에서 물을 부으면 흘러가 버리는 것 처럼 list를 먼저 정의한 다음 값을 넣어야 한다.
- append
my_list = []
my_list.append(3)
print(my_list) => [3]
- Indexing, slicing
Indexing
0 1 2 3 4
[1,2,3,4,5]
slicing
my_list = [1,2,3,4]
print(my_list[1:2]) => [2]
- Method
sort() => list내의 값들을 정렬해준다.
my_list = [2,4,3,1]
my_list.sort()
print(my_list) => [1,2,3,4]
count(val) => val의 수를 카운트 해준다.
my_list = [1,2,1,3,4]
my_list.count(1) => 2
del list 값을 삭제해준다.
my_list = [1,24,5,2]
del my_list[1]
print(my_list) => [1,5,2]
del my_list
print(my_list) => not defined
len(list) 길이를 알려준다.
my_list = [1,2,3,4]
len(my_list) => 4
5. tuple
( )를 사용하지만 하지안아도 된다. 그리고 값을 바꿀수 없다.
Packing
my_tuple = 1,2,3
print(my_tuple) => (1, 2, 3)
unpacking
num1, num2, num3 = my_tuple
print(num1) => 1
print(num2) => 2
print(num3) => 3
num2, num1 = num1, num2
print(num1) => 2
print(num2) => 1
오른쪽에서 팩킹 왼쪽에서 언팩킹
6. Dictionary
키와 값 쌍으로 이루어져 있는것 ({key1: val1, …})
Method
my_dict = {"a" : 1 , "b" : 2, "c" : 3}
my_dict.values() 값만 뽑아온다.
1,2,3
my_dict.keys() 키만 뽑아온다.
"a","b","c"
my_dict.items() key value 둘다 뽑아온다.
"a":1 , "b":2 , "c":3
7. float 소수
8. Comment 주석 #
반복문
For 변수 in 컨테이너:
실행할 명령1
실행할 명령2 => 코드블럭
while 조건: => 조건이 false가 될때 까지 반복
실행할 명령1
실행할 명령2
띄어쓰기를 4번 해주거나 tap을 해줘야한다. 만약 띄어쓰기를 했다면 계속 띄어쓰기를 사용해야 한다. 중간에 tap을 사용하면 에러가 난다.
띄어쓰기나 tap 뭘 사용해도 무관하지만 보통 띄어쓰기를 권장한다고 한다.
Comprehension
iterable한 오브젝트를 생성하기 위한 방법 다음과 같은 4가지 방법이 있다.
- List Comprehension (LC)
- Set Comprehension (SC)
- Dict Comprehension (DC)
- Generator Expression (GE)
Numbers = [1,2,3,4,5,6,7,8,9,10]
odd_numbers = []
일반적인 반복문
For number in numbers:
If number % 2 == 1:
odd_numbers.append(number)
print(odd_numbers)
comprehension 으로 변형
[number for number in numbers if number % 2 == 1]
if 문
If 조건:
실행할 멸령1. => 코드블럭 조건이 참일경우값이 들어감
실행할 명령2
else:
실행할 명령1
실행할 명령2
If 조건:
실행할 멸령1.
실행할 명령2
elif 조건:
실행할 명령1
실행할 명령2
```
Continue 다시 조건으로 돌아감
Break 강제로 종료
Function
- 내장함수 => print…
- 모듈의 함수 => 가져다가 쓸 수 있는 함수
- 사용자 정의 함수 => 직접 만드는 함수
함수 정의
def 함수이름(인자1,…):
실행할 명령1
실행할 명령2
return 결과
리턴값을 돌려줄때 tuple로 만들어서 돌려준다.
def add_mul(num1, num2):
return num1 + num2, num1 * num2
결과갑 => (3,2)
tuple로 리턴되기 때문에 패킹과 언팩킹도 가능하다.
my_add, my_mul = add_mul(1, 2)
my_add = 3
my_mul = 2
Module
이미 만들어져 있는 것들을 import해서 사용한다.
random
Import random
random.chice
Fruits = [‘망고’ , ‘사과’, ‘키위’]
print(random.choice(Fruits))
random.sample
print(random.sample(students,2)
print(random.sample(range(1,46),6)
random.randint
print(random.randint(8,10))