본문 바로가기
SSAFY

[수업기록] git clone, 프로그래밍 기초 및 파이썬 기초 문법(1)

by 주니코니 2024. 7. 15.

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"