728x90
반응형

변수

 

변수의 이름

- 의미 있는 이름을 사용한다.

- 소문자와 대문자는 서로 다르게 취급된다.

- 변수의 이름은 영문자와 숫자, 밑줄(_)로 이루어진다.

- 변수의 이름 중간에 공백이 들어가면 안 된다. 단어를 구분하려면 밑줄(_)을 사용한다.

- 파이썬의 예약어(파이썬이 사용하는 특수한 언어)를 변수로 사용할 수 없다.

 

변수 예시

- 올바른 예 : size, cloud9, max_size, _count- 올바르지 않은 예     >> 6pack : 숫자가 앞에 오면 안 된다.     >> mid score : 중간에 공백이 있으면 안 된다.     >> class : 예약어를 변수로 사용할 수 없다.     >> money# : 특수문자 사용할 수 없다.

 

낙타체낙타체는 변수의 첫 글자는 소문자로, 나머지 단어의 첫 글자는 대문자로 적는 방법이다. 예를 들어, myNewCar처럼 'm'은 소문자로, 나머지 단어들의 첫 글자는 대문자로 표기한다.

 

Python PEP

파이썬 코드를 어떻게 구상해야 할지 알려주는 스타일 가이드

https://peps.python.org/pep-0008/

 

PEP 8 – Style Guide for Python Code | peps.python.org

PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Alyssa Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents This document gives coding conventions for the Python

peps.python.org


(2일 차 이어서)

변수의 유형

 

5. 딕셔너리

- key : value 쌍이 모여있는 형태 => property 형식
- key : value 들을 {}로 감싼다.
- 변수명 = { 'key' : 'value', ... , 'keyX' : 'valueX'}
- key는 중복될 수 없다.

- 위치도 인덱싱이 되지 않는다.
- 사용 이유 : 데이터에 이름을 붙여 더욱 명시적으로 사용하기 위함

- 함수로 가져오고 싶은 key를 정확히 명시하지않고, key 이름에 오타가 나면 에러가 나지 않고 새로운 key로 생성 될 수 있으니 주의해야 한다.

- list를 key로 사용할 수 없다.

Key가 List로 올 수 없음을 보여주는 예


- 딕셔너리 생성해보기

딕셔너리 생성하기

 

5-1. 딕셔너리 함수

- keys() : 딕셔너리에 들어있는 key들을 반환

- values() : 딕셔너리에 들어있는 value들을 반환

- items() : key와 value를 tuple로 반환

- get(‘value를 알고 싶은 key’) : key에 대응하는 value를 반환

- zip(unpack의 반대) : tuple/list 두개를 하나의 딕셔너리로 변환

     >> a, b = (1, 2) 1, 2 로 묶는것을 zip 그 반대가 unpack

- del() : 메모리 상의 변수를 지우는 함수 (다른 변수에도 사용 가능)

del() 사용

 

# 파이썬의 반복문

 

# 파이썬은 변수를 정할 때 타입을 따로 정하지 않는다. 그래서 변수가 어떤 타입인지 잘 모를 경우 나중에 변수끼리 연산할 때 타입이 달라 오류가 난다. 그렇기 때문에 변수의 타입을 잘 알고 가는 것이 중요하다.

 

6. boolean

- 참 또는 거짓을 나타내는 자료형

- True, False처럼 첫 글자가 대문자여야 함

- True인 것들, False인 것들

 

7. 값 변수, 참조 변수

- 값 변수 :  기본 타입

- 참조 변수 : 기본 타입 이외의 것


- copy() : 값을 받아오는 변수가 참조 변수일 경우에도 copy()로 값을 받아오면 값 변수가 된다.

copy()로 값 변수 받아오기


- Python Tutor

언어가 동작되는 것을 시각화 해주는 사이트

https://pythontutor.com/

 

Online Python Tutor - visualize, debug, get AI help for Python, Java, C, C++, and JavaScript

Online Compiler, Visual Debugger, and AI Tutor for Python, Java, C, C++, and JavaScript Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to he

pythontutor.com

 

8. 집합(set)

- set([]) << 이런 식으로 선언

- 요소에 접근할 때 list()로 변환해서 인덱스로 접근한다.

- 순서가 없고, 중복이 없다.

 

8-1. 집합에 사용되는 연산

- 교집합 : intersection (&)
- 차집합 : difference (-)
- 합집합 : union (|)


제어문

 

1. if

- 참, 거짓에 따라 동작을 수행

- 들여쓰기를 잘 해야 해!

들여쓰기 잘못했을 시 발생하는 오류


- pass : 조건문은 있지만 실행할 문장이 없을 경우, 오류를 무시하기 위해서 if 문에 작성하여 조건문을 넘기는 기능


- 숫자에서 0 은 False이며  나머지 숫자는 True의 값을 갖는다.

 

2. while

- 조건이 True일 동안 무한히 반복한다.

- 조건에 대한 탈출문 꼭 적어야 한다.

- break : 탈출문을 안적었을 때 break를 사용해 강제로 종료한다.


- countinue : 조건에 해당하는 경우 그 값을 출력하지 않고 건너뛴다.

 

예제 풀어보기

문제

콘테스트 평가
7명의 심판들의 점수를 입력받아 리스트에 저장하고 최소값과 최대값을 리스트에서 제거하는 프로그램을 작성해보자
제거 전 [10.0, 9.0, 8.3, 7.1, 3.0, 9.0]
제거 후 [9.0, 8.3, 7.1, 9.0]

 

내가 적어본 코드

score = [10.0, 9.0, 8.3, 7.1, 3.0, 9.0]
print(score)
score.remove(min(score))
score.remove(max(score))
print(score)

 

코드실행 결과

정답은...!!

다음주에 공개 됩니다...!

728x90
반응형
728x90
반응형

들어가기 전  

 

PyCharm

PyCharm은 전문 개발자를 위한 전체 스택 Python 통합 개발 환경(IDE)이다. Python 개발, 전체 스택 웹 개발, 데이터 과학 등 모든 Python 워크플로우를 지원한다. 지능형 Python 및 R 코드 지원, Python 웹 개발 프레임워크, javaScript 및 TypeScript, HTML/CSS, 데이터베이스, Jupyter Notebook에 대한 광범위한 지원을 한다.

 

DataSpell

DataSpell은 탐색적 데이터 분석 및 머신 러닝 모델 프로토타이핑을 위해 특별히 설계된 IDE이다. Jupyter Notebook의 대화형 기능과 지능형 Python 및 R코딩 지원을 하나의 사용자 친화적인 환경에 결합했다.

지능적인 코딩 지원, 버전 관리 및 기타 IDE 관련 기능은 물론 데이터를 시각화하고 데이터에서 인사이트를 얻는 데 도움이 되는 테이블, 플록 및 위젯 같은 대화형 출력기능이 있다.

 

추천사이트

1. MDN

https://developer.mozilla.org/ko/

 

MDN Web Docs

The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.

developer.mozilla.org

 

2. SDKMAN (Java 개발환경 관리 Tool)

JVM 기반 언어와 프레임워크를 쉽게 관리할 수 있게 해주는 도구. 이 도구를 사용하면, JDK, Groovy, Scala, Kotlin 등과 같은 JVM 기반의 언어와 Gradle, Maven 등의 빌드 도구를 손쉽게 설치하고 관리할 수 있도록 도와준다.

https://sdkman.io/

 

Home - SDKMAN! the Software Development Kit Manager

SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems.

sdkman.io

 

Settings에서 세부설정 바꾸기

1. Font 변경

2. 각 주석들의 폰트 색상 변경

3. 테마

 

플러그인 옵션 추천

1. CodeGlance3 (코드 미니맵을 생성해주는 플러그인)

2. Tabnine AI Code Compieton (코드 자동 완성) - 유료

 

Run Time Data Areas

자바 가상 머신의 메모리 모델

자바 기술 문서 : https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-2.html#jvms-2.5


Python

-Python에서는 들여쓰기Indent가 문법으로 여겨진다.

-파이썬은 세미콜론을 붙이지 않는다. 단, 세미콜론을 붙여도 문법 에러는 발생하지 않는다. 보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분해준다.

-terminal 에서 pwd 검색 시 경로를, dir 검색 시 세부정보를 알려준다.

-실행 단축키 : Ctrl + Shift + F10

 

Jupyter Notebook

-단축키

ESC : 셀 선택 상태

M : Markdoum 모드로 변경

Y : Code 드로 변경

DD : 셀 삭제

Shift + Enter : 입력 셀 실행 후 아래 셀로 이동 (없으면 새로운 셀 추가)

Ctrl + Enter : 입력 셀 실행

Ctrl + Shift + Enter :  이전으로 돌아감

 

-상단 카테고리 변경 (Code/Markdown)

Code - 코드 작성

Markdown - 메모

Markdown 사용법

https://heropy.blog/2017/09/30/markdown/ 

 

MarkDown 사용법 총정리

마크다운(MarkDown)에 대해서 알고 계신가요?파일 확장자가 .md로 된 파일을 보셨나요?웹 개발을 하면서 아마 README.md라는 이름의 파일을 한 번은 보셨을텐데, ...

heropy.blog


Python

 

변수

#정의

- 데이터를 저장하고, 변하는 수
- 이름과 값으로 구성

# 변수는 왜 필요한가
- 데이터는 계속 변화하기 때문에, 데이터를 변수로 지정해 놓고 변수 값만 변경하면 된다.

# 변수 이름 규칙
- 영문자로 + 숫자 + underbar의 형식을 사용한다. ex) a, a1, a1_
- 공백이 있으면 안된다 
- 대소문자 구분한다
- 특수문자가 있으면 안된다

# 데이터의 종류
-숫자형 : 정수, 실수
-문자형 : 문자, 문자열
-복합형 : 클래스, 리스트, 딕셔너리

# print 함수
-기본 출력 장치로 결과를 출력
-print(변수 or 출력하고 싶은 결과물)

 

1. 숫자

- 숫자 형태로 이루어진 자료형

- 정수(int) : 1, 2, -1, 0

- 실수(float) : 1.11, -1.000, 10e5, 10e-5

 

1-1. 숫자 변수 예제

# 과일 가게의 총 매출
품목 :
    바나나 (1000원)
    사과 (500원)
    체리 (5000원)
    
고객  
손씨 : 사과 (2)
손씨 : 체리 (3)
김씨 : 사과 (4)
박씨 : 바나나 (1)
박씨 : 사과 (2)
박씨 : 체리 (1)

# 객단가(고객 1명당 평균 매출)를 구해보시오.
바나나 = 1000
사과 = 500 
체리 = 5000

손씨 = (사과 * 2) + (체리 * 3)
김씨 = 사과 * 4
박씨 = (바나나 * 1) + (사과 * 2) + (체리 * 1)
sum = 손씨 + 김씨 + 박씨
print('총 매출 : ', sum)
print('객 단가 : ', sum/3)

결과

총 매출 :  25000
객 단가 :  8333.333333333334

 

2. 문자

-문자 형태의 데이터

-" " 이용하거나 ' ' 로 감싸준다.

- 인덱싱

     >>슬라이싱 : 인덱스의 시작 ~ 끝(범위, 간격)을 지정하는 방법

- java에서 문자열 곱하기는 불가능했지만 파이썬에서는 가능하다

- 문자열 포맷 : 문자열 내에서 변수, 값 또는 표현식을 삽입하거나 형식을 지정하는 방법

 

2-1. 문자열 함수

- upper() : 대문자 바꾸기

- lower() : 소문자 바꾸기

- count() : 문자열 안의 특정 문자열 개수 반환

- join() : 특정 문자열을 기준으로 문자열을 삽입

- split() : 특정 문자열을 기준으로 문자열을 나눈다

- replace() : 특정 문자열을 지정 문자열로 반환

- strip() : 공백제고 (lstrip, rstrip)

- find() : 특정 문자열을 찾아준다

- input() : 기본 입력 장치로 부터 입력된 정보를 반환한다.변수 = input()의 형식으로 사용

 

3. 리스트

- 요소들의 모음을 나타내는 자료형

- 요소들은 []로 감싼다

- 모든 자료형을 담을 수 있다

- 리스트 연산

     >> + 연산자 : 순서대로 연결하여 하나의 리스트로 만든다
     >> * 연산자 : 곱하는 수 만큼 반복하여 하나의 리스트로 만든다

 

3-1. 리스트 함수

- len() : 리스트의 길이를 반환
- sum(), min(), max() 함수 : 리스트 요소의 총합, 최솟값, 최댓값 (문자의 경우도 코드가 있기 때문에 코드가 가장 작은 값, 큰 값 반환)
- in() : 특정 요소가 리스트에 있는지 확인하는 함수
- append() :  맨 마지막에 요소 추가
- extend() :  맨 마지막에 다른 리스트를 추가
- insert() : 특정 위치에 요소를 삽입한다
- remove(), pop() : 리스트의 요소를 삭제
- join() : 리스트의 요소들을 하나의 문자열로 합침
- split() : 문자열 리스트의 요소들로 나눈다

- range() : range(시작, 끝, 간격)을 리스트로 반환해준다.

 

4. 튜플

- 리스트와 같다
- 수정 불가능 (불변성)
- 리스트보다 빠르다
- []가 아닌 () 사용
- append, insert, extend, remove, pop, sort 사용할 수 없다
- 튜플은 항목 할당을 지원하지 않는다. 즉, 대입 연산자가 먹히지 않는다.

 

728x90
반응형

+ Recent posts