240715 파이썬반
1. gitclone 방법
1)빈 폴더 바탕화면에 생성
2) 우클릭 git bash 열기
3) 명령어 입력
$ git clone 주소(http)
주의 : 복붙시 ctrl+v 아닌 shift + insert
프로그래밍 기초 및 파이썬 문법
1. 프로그래밍 기초
c언어 : 좀 빠르다, 하드웨어, os에 많이 쓰임
자바 : 웹, 윈도우에 많이 쓰임
파이썬 : 데이터, 인공지능
2. 인터프리터
운영체제가 다 다르다보니 (파이썬) 인퍼프리터를 통해 언어의 명령 전달
cf) 자바 virtual machine, c언어는 인터프리터가 없음
ex. 확장자가 .py인 파일에 작성된 파이썬 프로그램을 실행(vs code)
$ python 파일명.확장자
3. 데이터 타입
1) 숫자에도 종류가 많다(int, float 등)
왜일까? :
(1) 메모리 크기에 따라 할당해줘야해서
(2) 컴퓨터는 일반적으로 같은 단위끼리 연산을 할 수 있어서
- float이랑 int는 저장되는 형태가 다르다
2) sequence type : 쉽게 말하면 숫자들이 모여있는 것 (순서o)
4. 컴퓨터 구조
RAM : 동시에 실행되고 있는 프로그램들(용량)
cf) c drive(하드웨어 : 실행되지않은 프로그램들)
5. 파이썬에서의 변수
파이썬은 바로 값을 넣지X
메모리 주소를 할당 -> 이 주소를 참조해 값에 접근
- 장점 : 언어가 깔끔하고 간결해짐
- 단점 : 한번 거쳐야하기에(참조 타입) 조금 느릴 수 있음(타 언어에 비해 느림)
변수 선언을 왜 할까?
- 코드 명확성 ex. pie = 3.14
- 코드 재활용 가능
파이썬 변수명은 스네이크 케이스로
- 소문자로 시작, 다른 단어 나오면 언더바(_)
cf) 자바 : 캐멀케이스
6. sequence type 특징
escape sequence (특수한 역할을 하는 예약 문자들)
- 언어마다 거의 공통적이다
\n #줄바꿈
7. f-string
문자열 안에 변수값, 함수, 문자열 등 다양한 표현식을 넣을 수 있음
8. 슬라이싱
파이썬만의 특징, 슬라이싱!
다른 언어 다 n-1, 파이썬은 -1로
my_str = 'hello'
print(my_str[2:4]) # ll
9. 인덱싱
음수로 접근가능한 파이썬만의 특징
- 퀴즈 :
str = "hello"
hzllo로 바꾸려면?
1) str = st[:1] + 'z' + st[2:]
2) str = list("hello")
str[1] = 'z' #['h', 'z', 'l','l'.'o']
3) str = ['h', 'z', 'l','l'.'o']
".join(str) #hzllo #join () : 문자열 전환
4) str[1] #hzllo
10. .py 파일 내 주피터 환경 간단히 만들기
#%%
# 1. 표준 출력
# print
name = '홍길동'
age = 20
print('내 소개:', name, age)# 변수마다 띄어쓰기 후 출력
print(f'내 소개: {name}, {age}') # f-string
#실행 : cntl + enter
# 실행 후 새로운 블락 생성 : shift + enter
# %% #자동생성
11. print() 특징
#print() 띄어쓰기
#sep은 사이에 들어갈 문자 지정
print(name,age, sep=' ')
print(name, age ,sep = '-')
#print() 자동개행 없앰
#end는 끝에 뭘 넣어줄지 지정
print('포도', end ='')
print('사과')
print('포도', end ='안녕')
print('사과')
#출력결과
홍길동 20
홍길동-20
포도사과
포도안녕사과
12. 문자열에 변수 넣는 3가지 방법
#문자열에 변수값 넣는 3가지 방법
# (1) %-포맷팅
# 아래 방법은 타언어들에서 많이 쓰이는 방법이나 알아두면 좋음
name, age ='홍길동', 30
#s = string
# d = 정수
# f = 실수
text = "my name is %s, my age is %d" %("홍길동", 30)
text = "my name is %s, my age is %d" %(name, age)
print(text)
# %%
# (2) {}-포맷팅
# 아직 많이 쓰이는 방법!!
text = "my name is {}, my age is {}".format(name, age)
print(text)
text = "my name is {0}{0}{0}, my age is {1}".format(name, age)
print(text)
#출력
my name is 홍길동홍길동홍길동, my age is 30
# %%
# (3) f-포맷팅 (python 3.6 버전 이상부터 지원)
# 가장 많이 쓰이는 방법
text = f"my name is {name}, my age is {age}"
print(text)
# f-포맷팅 장점 및 활용
# {} 안에 표현식<함수, 연산자, 변수 등의 처리 결과>를 넣을 수 있음
text = f"my name is {name+'님'}, my age is {age+5}"
print(text)
그리고 헷갈리는 문법
{}-포맷팅 , f스트링에서의 자리수 및 정렬 지정
#자리수 및 정렬 지정
# 정렬 '>' : 오른쪽 , '<' : 왼쪽 , '^' : 가운데
# 공백 혹은 문자 삽입으로 자리수 정리
text = f"my name is {name+'님' : ^20}, my age is {age+5:>20}"
print(text)
text = f"my name is {name+'님' : -^20}, my age is {age+5:a>20}"
print(text)
#???????????????
#소수점 자리수 지정
float_num = 3.141592
print(f'소숫점 자릿수 지정 {float_num:^10.3f}')
위 코드는 오류를 출력한다
ValueError: Invalid format specifier
해결 코드 : 문자열 포맷팅에서는 자리수 및 정렬 설정시 공백이 중요하다
#자리수 및 정렬 지정
# 정렬 '>' : 오른쪽 , '<' : 왼쪽 , '^' : 가운데
# 공백 혹은 문자 삽입으로 자리수 정리
# 최소 20 글자 이내 가운데 정렬 # 최소20 글자 이내 오른쪽 정렬
text = f"my name is {name+'님':^20}, my age is {age+5:>20}"
print(text)
text = f"my name is {name+'님':-^20}, my age is {age+5:a>20}"
#공백 말고 -로 채워지기도 함
print(text)
#소수점 자리수 지정
float_num = 3.141592
print(f'소숫점 자릿수 지정 {float_num:^10.3f}')
#출력
my name is 홍길동님 , my age is 35
my name is --------홍길동님--------, my age is aaaaaaaaaaaaaaaaaa35
소숫점 자릿수 지정 3.142
13. 표준 입력
# %%
# 표준 입력
# input()
print("문자열을 입력하세요 >", end = '')
text = input() #키보드로부터 입력받아 문자열로 변환
print(text )
text = input("문자열을 입력하세요 >")
print(text)
#출력
문자열을 입력하세요 >하이
하이
text = input("실수 입력해바잉 >")
print(float(text)+3.14)
#출력
4.34
text = input("실수 입력해바잉 >")
print(float(text)+4) #실수 + 정수(자동으로 실수로 바꿈)
#출력
7.140000000000001
+ 추가 :
sequence type 중 escape sequence :
- 파이썬 일반 문법 규칙을 잠시 탈출한다는 의미를 가짐
- 역슬래시(\) 뒤에 특정 문자가 와서 특수한 기능을 하는 문자 조합을 말함
#예약 문자 #의미
\n , 줄바꿈
\t, 탭
\\, 찐 백슬래시(백슬래시 나타낼 때란 뜻ㅋㅋ)
\' 작은 따옴표(살리고 싶을 때)
\" 큰 따옴표(살리고 싶을 때)
아래 두개 개념 ex.
print("12") # 출력 : 12
print('\"12\"') # 출력 : "12"
'SSAFY' 카테고리의 다른 글
[수업기록] 파이썬 기초 문법(2) (4) | 2024.07.16 |
---|---|
[수업복습] 슬라이싱 팬다. (1) | 2024.07.15 |
[입과 후 스타트캠프를 마치며] 드디어 (12) | 2024.07.14 |
[수업기록] GIT(2) (0) | 2024.07.12 |
[수업기록]마크다운, CLI(bash), GIT (0) | 2024.07.11 |