파이썬 공부 1일차
파이썬 실행하기 단축키? |
파이썬은 윗 부분에서 코드를 짜고 오른쪽 "▷"를 클릭하여 실행시켜준다
그럼 아래 터미널 부분에서 결과값을 확인 가능하다.
근데 매번 마우스로 "▷"을 클릭하기 너무 귀찮다.
단축키가 있을까?
설정 방법은?
파이썬 버전 마다 다른데, 내가 설치한 버전 같은 경우에는 아래 톱니바퀴(설정) > keyboard shortcuts
클릭시 수많은 단축키들을 확인할 수 있다. (만약 keyboard shortcuts 탭이 따로 없다면, settings 하위에 속해있을 수도 있다)
내가 원하는 것은 "run python file" 검색 후 나만의 단축키를 만들어주면 된다.
나는 ctrl+shift+R로 정했다!
숫자형 |
숫자형 : 숫자 형태로 이루어진 자료형.
우리가 흔히 사용하는 숫자들
- 정수(int) : 123,-123,0
- 실수(float) : 123.45,-123.45,3.4e10
- 8진수 : 0o34,0o25
- 16진수 : 0x2A,0xFF
** 숫자 타입 알아보기
>>> a = 1.25 >>> print(type(a)) <class 'float' > |
>>> a = 7 >>> print(type(a)) <class 'int' > |
**사칙 연산하기 (덧셈, 곱셈, 나눗셈, 몫, 나머지, 제곱)
더하기
>>> a = 3 >>> b = 4 >>> print(a+b) 7 |
곱하기
>>> a = 3 >>> b = 4 >>> print(a*b) 12 |
나누기
>>> a = 3 >>> b = 4 >>> print(a/b) 0.75 |
몫 구하기
>>> a = 3 >>> b = 4 >>> print(a//b) 0 |
나머지 구하기
>>> a = 3 >>> b = 4 >>> print(a%b) 3 |
제곱
>>> a = 3 >>> b = 4 >>> print(a**b) 81 |
*이스케이프 코드란?
\n : 문자열 안에서 줄을 바꿀 때 사용
\t : 문자열 사이에 탭 간격을 줄 때 사용
\\ : 문자 \를 그대로 표현할 때 사용
\' : 작은따옴표를 그대로 표현할 때 사용
\" : 큰따옴표를 그대로 표현할 때 사용
*인덱싱(indexing)
n번째 글자를 말해줘
- 0부터 시작
- 공백도 카운팅
- 마이너스가 붙으면 가장 뒤부터
a[이상 : 미만 : 간격]
*0은 생략가능
*슬라이싱(Slicing)
특정 부분 미끄러져서 다 긁어와
>>>a = "19970422Rainy" >>>print(a[:8]) #첫 글자부터 시작해서 8번 인덱스 전까지 출력 19970422 |
>>>a = "19970422Rainy" >>>print(a[8:]) #8번째 미만부터 맨끝까지 Rainy |
>>>a = "12345678" >>>print(a[::1]) #1칸 간격으로 다 가져와 12345678 |
>>>a = "I eat %d apples." %3 I eat 3 apples >>>b = "I eat " + str(3) + " apples" >>>print(b) I eat 3 apples |
%s : 문자열(String)
%c : 문자 1개(Character)
%d : 정수(Integer)
%f : 부동 소수, 실수(Floating-point)
%o : 8진수
%x : 16진수
%% : Literal % (문자 '%' 자체)
>>> "%10s" % "hi" ' hi' #hi 앞에 10글짜 띄어줘 >>> "%-10sjane." % 'hi' 'hi jane.' #jane 앞에 10글짜 띄어줘 |
>>> a = "%0.4f" % 3.42134234 >>> print(a) #소수점 제한하기 3.4213 |
>>> a = "hobby" >>> print(a.count('b') #a에서 스펠링 b가 몇개 있는지 세어줘 2 |
>>> a = "hobby" >>> print(a.find('b') #a에서 스펠링 b가 몇번째 자리에 있니? 2 |
>>> a = "hobby" >>> print(a.find('x') #x는 없기 때문에 -1이 나옴 -1 |
>>> a = "Life is too short" >>> a.index('t') #t가 몇번째에 있어? 8 |
>>> a = ",".join("abcd") >>> print(a) a,b,c,d |
>>>a = "a:b:c:d" >>>print(a.split(":")) #문자열 나누기 ['a', 'b', 'c', 'd'] |
>>> a = "HI" >>> print(a.lower()) #소문자로 바꿔줘 hi |
>>> a = "hi" >>> print(a.upper()) #대문자로 바꿔줘 HI |
>>> a = "Life is too short" >>> print(a.replace("Life", "Your leg")) Your leg is too short |
>>>a = " HI " >>>print(a.strip()) #공백 없애기 HI |
*리스트를 쓰는 이유 : 각각 상자에 관리하기 힘드니까, 하나로 몰아서 간편하게 관리하고자 함
>>>a = "강하나" >>>b = "홍길동" >>>c = "이지훈" >>>d = "천사랑" >>>e = "구원희" print(e) 구원희 |
>>>a = ["강하나","홍길동","이지훈","천사랑","구원희"] >>>print(a[4]) #리스트 구원희 |
>>>a = [1,"홍길동","이지훈","천사랑","구원희",[1,"김만돌","english"]] >>>print(a[5][2]) #리스트 안에 대괄호로 또 리스트를 넣을 수도 있고 숫자, 영어 상관없음 english |
>>>a = [1, 2, 3] >>>a[2] = 4 >>>print(a) #리스트 값 수정하기 [1, 2, 4] |
>>>a = ["가","나","다"] >>>a[0:2] = ["A","B","C"] #0부터 2전까지를 다음과 같이 바꿔줘 >>>print(a) #연속리스트 교체하기 ['A', 'B', 'C','다'] |
a = ["가","나","다"] a[0:2] = [] print(a) #삭제하기 ['다] |
>>>a = ["가","나","다"] >>>a.append("라") >>>print(a) #마지막에 추가하기 ['가', '나', '다', '라'] |
>>>a = ["가","나","다"] >>>a.insert(3,"라") >>>print(a) #3번째에 "라"를 추가해줘 ['가', '나', '다', '라'] |
>>>a = [1,5,3] >>>a.insert(0,4) >>>print(a) #0번째에 4를 추가해줘 [4,1,5,3] |
>>>a = ["라","다","가"] >>>a.sort() >>>print(a) #가나다순, 알파벳순, 숫자 크기순으로 리스트됨 ['가','다','라'] |
>>>a = [100,2,56] >>>a.sort() >>>print(a) #가나다순, 알파벳순, 숫자 크기순으로 리스트됨 [2, 56, 100] |
>>>a = [100,2,56] >>>a.reverse() >>>print(a) #리스트를 거꾸로 뒤집어줌 [56, 2, 100] |
>>>a = [1,5,3] >>>a.remove(1) >>>print(a) #1을 제거해줘 [5,3] |
>>>a = [5,3,1,5,5,5] >>>a.remove(5) >>>print(a) #5을 제거해줘. 단, 처음만 제거됨 [3,1,5,5,5] |
>>>a = [1,2,3] >>>a.index(3) #3이 몇번째에 있는지 2 |
>>>a = [1,2,3] >>>print(a.pop()) >>>print(a) #a리스트에서 마지막이 제외된 1,2가 남게됨 3 [1,2] |
>>>a = [1,5,3,1] >>>print(a.count(1)) #a리스트에 있는 1의 개수를 세어줌 2 |
>>>a = [1,5,3,1,1] >>>a.extend([8,3]) >>>print(a) #마지막에 연장해서 추가해줘 [1, 5, 3, 1, 1, 8, 3] |
*불 boolean (참거짓 - 논리 자료형)
a = True print(type(a)) #트루의 타입은 불(참거짓) <class 'bool'> |
값 | 참 or 거짓 |
"python" | 참 |
"" | 거짓 |
[1, 2, 3] | 참 |
[ ] | 거짓 |
( ) | 거짓 |
{ } | 거짓 |
1 | 참 |
0 | 거짓 |
None | 거짓 |
**변수 : 자료형의 값을 저장하는 공간
- 파이썬에서 사용하는 변수는 객체를 가리키는 것
>>> a = 3
ex. 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성
변수 a는 객체가 저장한 메모리의 위치를 가리키는 레퍼런스(reference)
a 라는 변수는 3이라는 정수형 객체를 가리키고 있다
메모리는 저장공간인데,
메모리에 먼저 올린 다음, 연산을 한다.
변수는 담는 상자일 뿐, 메모리에 값이 저장되어있다.
#파이썬튜터 #파이썬시각화 #직관적으로파이썬보기
https://pythontutor.com/render.html#mode=edit
단계별로 시각화해서 볼 수 있는 사이트 : 파이썬튜터
>>>a = [1,2,3] >>>b = a >>>a[1] = 4 >>>print(a) >>>print(b) [1,4,3] [1,4,3] #a의 첫번째를 4로 바꿨으니, b는 안바뀔 것 같지만, b도 같이 바뀐다 a와 b가 같은 곳을 바라보고 있어서 주소값이 같이 바뀌어버린다. >>>a = [1,2,3] >>>b = a >>>a[1] = 4 >>>print(id(a)) >>>print(id(b)) #같은 곳을 바라보기 때문에 주소값이 같다 139929101700736 139929101700736 그렇다면, a와 b를 분리해서 다르게 보려면 어떻게 해야할까? a[:] 를 넣으면, 기존의 a가 복제된다고 생각하면 됨. >>>a = [1,2,3] >>>b = a [:] >>>a[1] = 4 >>>print(a) >>>print(b) #a만 바뀌고 b는 a의 원래를 값을 가져감 [1, 4, 3] [1, 2, 3] _____________________________________________________ >>>a = [1,2,3] >>>b = a [:] >>>a[1] = 4 >>>print(id(a)) >>>print(id(b)) #[:] a 처음부터 끝까지 슬라이싱 되어져서 새로운 b값이 생성됨. a는 a고, b는 b야 → 주소값이 달라졌음 140512685596288 140512685596544 |
파이썬은 이게 된다!!! a,b 값을 각각 바꾸고싶다면? [다른 코드언어] a = 3 b = 5 tmp = b #tmp라는 임시공에 일단 b를 저장해두고 b = a #그럼 b는 비었으니, a를 갖다쓰고 a = tmp #그럼 이제 b가 비었으니, 아까 임시저장해둔 tmp(원래b값)을 가져온다 print(a) print(b) 5 3 _____________________________________________________________________ [파이썬] a = 3 b = 5 a,b = b,a print(a) print(b) 5 3 |
댓글