반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- c#
- 24년 계획
- 2024 계획
- design-system
- 2020년
- 23년 회고
- react
- css framework
- typescript
- design token
- nextjs
- compound component
- 개발자
- style-dictionary
- 프로그래밍
- 디자인 토큰
- 2023 회고
- component
- 뇌를자극하는C#
- 2021년
- 다짐
- frontend
- vite
- javascript
- front
- 디자인시스템
- 라이브러리제작
- 회고
- design
- npm
Archives
- Today
- Total
개탕 IT FACTORY
파이썬 문법 정리 본문
반응형
정수형, 실수형
// 정수형 a = 123 // 양의 정수 a = -123 // 음의 정수 a = 0 // 실수형 a = 157.93 // 양의 실수 a = -1837.2 // 음의 실수 a = 5. // 소수부가 0일시 생략 가능
연산자
사칙연산
a = 3 b = 4 a + b // 7 a * b // 12 a / b // 0.75 a - b // -1
제곱을 나타내는 ** 연산자
a = 3 b = 4 a ** 4 / 3*3*3*3 결과와 같음 81 출력
나머지를 반환하는 % 연산자
7 % 3 // 1 출력 3 % 7 // 3 출력
나눈후 몫을 반환하는 // 연산자
7 / 4 // => 1.75 반환 7 // 4 // => 1 반환
문자열
문자열 만드는 4가지 방법
1. 큰 따옴표(") "Hello World" 2. 작은 따옴표(') 'Hellow World' 3. 큰 따옴표 3개 연속 사용 """Hello World""" 4. 작은 따옴표 3개 연속 사용 '''Hellow World'''
문자열에 작은 따옴표(') 포함시키기
food = "python's favorite food is perl" => 잘 출력됨 food = 'python's favorite food is perl' => SyntaxError: invalid syntax
문자열에 큰 따옴표(") 포함시키기
say = '"Python is very easy." he says.' => 작은 따옴표로 묶어두면된다
백슬래시를 사용하여 작은 따옴표('), 큰 따옴표(") 포함
food = 'Python\'s favorite food is perl' say = "\"Python is very easy.\" he says."
문자열 줄바꾸는 방법
1. 이스케이프 코드 (\n) 삽입 multiline = "Life is too short\nYou need python" 2. 작은따옴표 3개 multiline=''' ... Life is too short ... You need python ... ''' 3. 큰따옴표 3개 multiline=""" ... Life is too short ... You need python ... """
문자열 연산
1. 문자열 연결 (+) head = "python" tail = " is good" head + tail 'python is good' 2. 문자열 곱하기 a = "python" a * 2 'pythonpython' 3. 곱하기 응용 print("=" * 50) print("My Program") print("=" * 50) 출력 ================================================== My Program ================================================== 4. 문자열 길이 구하기 (len함수) a = "Life is too short" len(a) // 문자열 길이구하는 함수 17
- 인덱싱과 슬라이싱 등은 이 곳 참조
리스트(배열)
리스트 만들기
a = [1,2,3,4,5,6,7,8,9] // []=> 대괄호를 통해 만든다 print(a) //[1,2,3,4,5,6,7,8,9] 출력 b = list() // 비어있는 리스트는 이런 형식으로도 생성가능 a = [] b = [1, 2, 3] c = ['Life', 'is', 'too', 'short'] d = [1, 2, 'Life', 'is'] e = [1, 2, ['Life', 'is']]
리스트 인덱싱과 슬라이싱
인덱싱
a = [1,2,3,4,5,6,7,8,9] # 뒤에서 첫번째 원소 출력 print(a[-1]) // 9 출력 # 뒤에서 세번째 원소 출력 print(a[-3]) // 7 출력 a[3] = 7 // 원소값 변경 print(a) // [1,2,3,7,5,6,7,8,9] b = a[0] + a[2] print(b) // 4 출력 [0] = 1, [2] = 3 a = [1, 2, 3, ['a', 'b', 'c']] print(a[3]) // ['a', 'b', 'c'] 출력 printf(a[3][0]) // 'a' 출력
슬라이싱
a = [1,2,3,4,5] print(a[0:2]) // [1,2] 출력 print(a[1:3]) // [2.3] 출력 # a[시작 인덱스: 끝 인덱스] # 끝 인덱스의 경우 -1 한 값과 동일
리스트 컴프리헨션
# 리스트를 초기화하는 방법중 하나 # 대괄호([]) 안에 조건문과 반복문을 넣는 방식으로 초기화 array = [i for i int range(20) if i % 2 == 1 ] print(array) // [1,3,5,7,9,11,13,15,17,19] 출력 // 일반적인 방법으로 적용시 array = [] for i in range(20): if i % 2 == 1 : array.append(i) print(array) # 2차원 리스트를 초기화할 때 매우 효과적 (코딩테스트 책참조) n = 2 m = 3 array = [[0] * m for _ in range(n)] print(array) // [[0,0,0],[0,0,0],[0,0,0],[0,0,0]]
기타 리스트 관련 메서드
a = [1,4,3] print(" 기본 리스트: ", a) // 기본 리스트 : [1,4,3] # 리스트에 원소 삽입 a.append(2) print("삽입 : " ,a) // 삽입 : [1,4,3,2] # 오름차순 정렬 a.sort() printf("오름차순 정렬 : ", a) // 오름차순 정렬 : [1,2,3,4] # 내림차순 정렬 a.sort(revers = True) print("내림차순 정렬 : ",a) // 내림차순 정렬 : [4,3,2,1] # 리스트 원소 뒤집기 a.reverse() print("원소 뒤집기 : " ,a) // 원소 뒤집기 : [1,2,3,4] # 특정 인덱스에 데이터 추가 a.insert(2,3) print("인덱스 2에 3 추가 : " ,a) // 인덱스 2에 3 추가 : [1,2,3,3,4] # 특정 값인 데이터 개수 세기 print("값이 3인 데이터 개수 : " , a.count(3)) // 값이 3인 데이터 개수 : 2 # 특정 값 데이터 삭제 a.remove(1) print("값이 1인 데이터 삭제 : " ,a) // 값이 1인 데이터 삭제 : [2,3,3,4] # 맨 마지막 요소 삭제 a.pop() print(a) // [2,3,3] //-> insert() 와 apppend(),remove() 눈여겨 두기 # 특정 값을 가지는 원소를 제거하는 방법 a = [1,2,3,4,5,5,5] remove_set = {3,5} result = [i for i in a if i not in remove_set] print(result) // [1,2,4]
튜플
튜플의 특징
리스트는 []으로 감싸지만 튜플은 () 로 둘러싼다
리스트는 값 생성,삭제,수정이 가능하지만 튜플은 불가능
t1 = () t2 = (1,) # 1개의 요소만 가질떄도 ,를 넣어야됨 t3 = (1, 2, 3) t4 = 1, 2, 3 t5 = ('a', 'b', ('ab', 'cd'))
튜플 다루기
a = (1,2,'a','b') # 인덱싱하기 print(a[0]) # 1 출력 print(a[3]) # 'b' 출력 # 슬라이싱하기 print(a[1:]) # (2,'a','b') # 튜플 더하기 a = (1,2,'a','b') b = (3,4) c = a + b print(c) # (1,2,'a','b',3,4) # 튜플 곱하기 t1 = (3,4) t2 = t1 * 3 print(t2) # (3, 4, 3, 4, 3, 4) # 튜플 길이 구하기 t1 = (1, 2, 'a', 'b') print(len(t1)) # 4
딕셔너리(사전)
사전(딕셔너리) 키와 값을 쌍을 데이터로 가지는 자료형
# 기본구조 {key1: value1, key2: value2, ...} dic = {'name':'pey','phone':'01012345678','birth':'0101'} # 아래와 같은 구조의 형식 # key value # name pey # phone 01199993323 # birth 1118 a = { 'a': [1,2,3]} # 리스트도 추가가능
딕셔너리 추가 및 삭제
# 추가 a = {1: 'a'} a[2] = 'b' a['name'] = 'pey' a[3] = [1,2,3] print(a) # {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]} # 삭제 del a[1] # del 함수를 사용하여 삭제 print(a) # {2: 'b', 'name': 'pey', 3: [1, 2, 3]}
딕셔너리 사용방법
# key 사용해 value 얻기 a = { 1: 'a', 2: 'b'} print(a[1]) # 'a' print(a[2]) # 'b' a = {'a':1, 'b':2} print(a['a']) # 1 print(a['b']) # 2 dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} print(dic['name']) # 'pey' print(dic['phone']) # 'phone' print(a['birth']) # '1118'
주의 사항
# key값은 고유한 값이므로 중복되는 key값 설정시 하나를 제외한 나머지는 무시 a = { 1 : 'a', 1: 'b'} print(a) # {1:'b'} # key값에는 리스트를 쓸수 없다 a = {[1,2] : 'hi'} # 오류 발생 # value는 상관없이 설정이 가능하다
딕셔너리(사전) 관련 함수
data = dict() data['사과'] = 'Apple' data['바나나'] = 'Banana' data['코코넛'] = 'Coconut' # 키 값만 담은 리스트 key_list = data.keys() # 값 데이터만 담은 리스트 value_list = data.values() print(key_list) # dict_keys(['사과','바나나','코코넛']) print(value_list) # dict_values(['Apple','Banana','Coconut']) for key in key_list: print(data[key]) # Apple # Banana # Coconut # dict_keys 객체를 리스트로 반환할려면 list(data.keys()) # ['사과','바나나','코코넛'] # key,value 쌍으로 얻기 data.items() # dict_items([('사과', 'Apple'), ('바나나', 'Banana'), ('코코넛', 'Coconut')]) # 모두 지우기 data.clear() # {} # key로 value 얻기 data.get('사과') # 'Apple'
집합
집합을 처리하기 위한 집합 자료형
중복을 허용하지 않는다
순서가 없다
# 집합 자료 초기화 방법 1 data = set([1,1,2,3,4,4,5,]) print(data) # {1,2,3,4,5} # 집합 자료형 초기화 방법 2 data = {1,1,2,3,4,4,5} print(data) # {1,2,3,4,5}
집합 자료형의 연산
a = set([1,2,3,4,5]) b = set([3,4,5,6,7]) # 합집합 print(a | b) # {1,2,3,4,5,6,7} # 교집합 print(a & b) # {3,4,5} # 차집합 print(a - b) # {1,2} # 값 추가 (add) data = set([1,2,3]) data.add(4) print(data) # {1,2,3,4} # 여러값 추가하기 (updata) data.update([5,6]) print(data) # {1,2,3,4,5,6} # 특정 값 제거하기 data.remove(3) print(data) # {1,2,4,5,6}
제어문
if (조건 판별식)
# 기본구조 # if 조건문: # 수행할 문장1 # 수행할 문장2 # ... # else: # 수행할 문장A # 수행할 문장B # ... # 사용법 money = 2000 card = True if money >= 3000 or card: print("택시를 타고 가라") else: print("걸어가라") # elif 사용법 pocket = ['paper', 'cellphone'] card = True if 'money' in pocket: print("택시를 타고가라") elif card: print("택시를 타고가라") else: print("걸어가라")
while (반복문)
# 기본구조 while <조건문>: <수행할 문장1> <수행할 문장2> <수행할 문장3> ... # 1 ~ 9까지 더하는 로직 i = 1 result = 0 while i <= 9: reulst += i i += 1 print(result) # 45 # 홀수만 더하고 싶을때 while i <= 9: if i % 2 == 1: result += i i += 1 print(result) # 25
for (반복문)
# 기본구조 for 변수 in 리스트(또는 튜플, 문자열): 수행할 문장1 수행할 문장2 ... test_list = ['one', 'two', 'three'] for i in test_list: print(i) # one # two # three # 복잡한 for 로직( 합격,불합격 로직) marks = [90, 25, 67, 45, 80] number = 0 for mark in marks: number = number +1 if mark >= 60: print("%d번 학생은 합격입니다." % number) else: print("%d번 학생은 불합격입니다." % number) # for와 함께 쓰는 range 함수 # range는 범위를 포함하는 객체를 생성해줌 range(10) => 0부터 10미만 marks = [90, 25, 67, 45, 80] for number in range(len(marks)): if marks[number] < 60: continue print("%d번 학생 축하합니다. 합격입니다." % (number+1))
함수 및 입출력
함수
# 기본구조 def 함수명(매개변수): <수행할 문장1> <수행할 문장2> ... # 더하기 함수 def add(a, b): return a + b a = 3 b = 4 c = add(a,b) print(c) # 7 # 함수 밖에서 변수 데이터를 변경하는 경우 global 키워드 a = 0 def func(): global a a += 1 for i in range(10): func() print(a)
입출력
# 입력 a = input('Life is too short, you need python') print(a) # 'Life is too short, you need python' # 입력을 위한 전형적인 소스코드 # 데이터의 개수 입력 n = int(input()) #각 데이터를 공백으로 구분하여 입력 data = list(map(int, input().split())) data.sort(reverse = True) print(data) # 5 # 65 90 75 34 99 # [99, 90, 75, 65, 34] # 파일 입출력 # sys라이브러리 import sys data = sys.stdin.readline().rstrip() print(data) # Hello World -> 입력 # Hello World -> 출력
반응형
'프로그래밍 > Python' 카테고리의 다른 글
Python의 기본과 설치과정 (0) | 2018.05.20 |
---|