Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bckkingkkang/pythonstudy

혼자 공부하는 파이썬, pycharm - python
https://github.com/bckkingkkang/pythonstudy

pycharm python

Last synced: 1 day ago
JSON representation

혼자 공부하는 파이썬, pycharm - python

Awesome Lists containing this project

README

        

# pythonStudy

## Python
```
귀도 반 로섬이 설계한 인터프리터 언어로 웹 개발, 데이터 분석, 인공지능, 교육 등 다양한 분야에서
적극적으로 활용되는 프로그래밍 언어이다.
```
* Python의 특징
> 1. 구문이 간결하고 들여쓰기를 이용하여 블록을 구분하므로 **단순하고 쉬운 문법**을 가진다.
> 2. **고수준 언어**로 메모리를 자동으로 관리해준다.
> 3. **플랫폼 독립적인 언어**로, 다른 운영체제에서의 코드 수정 없이 그대로 실행할 수 있다.
> 4. 코드 한 줄씩 번역하여 실행하는 **대화 가능한 인터프리터 언어**이다.
> 5. **다양한 라이브러리를 제공**하므로 함수나 모듈을 불러와서 쉽게 사용할 수 있다.
***
### 변수명의 규칙
* 대문자와 소문자는 구분한다.
* 영문자와 숫자, 밑줄 문자(_)로 구성된다.
* 변수 이름 중간에 공백을 사용할 수 없다.
* 숫자로 시작할 수 없다.
* 파이썬 키워드(예약어)는 사용할 수 없다.

>> **파이썬 셸 모드** : 대화하듯이 코드를 작성하여 실행
>>
>> **스크립트 모드** : 코드 편집기를 통해 코드를 작성한 후 실행
***
### 비트 논리 연산자와 시프트 연산자
| 구분 | 연산자 | 기능 | 의미 |
|:----:|:------:|:----:|:------:|
|비트 논리 연산자 | a & b | 논리곱(and) | a와 b의 비트 간 논리곱(and 연산) 한다.|
|비트 논리 연산자 | a \| b | 논리합(or) | a와 b 비트 간 논리합(or 연산) 한다.|
|비트 논리 연산자 | a ^ b | 배타적 논리합(xor) | a와 b의 비트 간 배타적 논리합(xor 연산) 한다.|
|비트 논리 연산자 | ~a | 부정(not) | a의 비트를 반전시킨다.(a의 1의 보수를 만듦) |
| 시프트 연산자 | a >> n | 오른쪽 시프트 | a의 모든 비트를 n만큼 오른쪽으로 시프트시킨다. |
| 시프트 연산자 | a << n | 왼쪽 시프트 | a의 모든 비트를 n만큼 왼쪽으로 시프트시킨다.|

#### 오른쪽 시프트 >> 연산
* a >> n : 오른쪽으로 n 비트 씩 이동하며 오른쪽 비트는 없어지고 왼쪽은 최상위 비트로 채워진다.

|제목|내용|
|:------:|:---:|
|a| 0 1 1 0 0 0 0 1|
|a >> 1 | 0 0 1 1 0 0 0 0|

2진수 10진수 변환

![스크린샷 2023-08-09 110226](https://github.com/bckkingkkang/pythonStudy/assets/131218470/db7e6bb3-74c5-4875-b8d1-4fbe1564f065)
![스크린샷 2023-08-09 110334](https://github.com/bckkingkkang/pythonStudy/assets/131218470/cdb2eac9-b5ab-431f-b195-0167678b9dee)

***
| 인덱싱 | 슬라이싱 |
|:-----------:|:--------------:|
| 하나의 항목만 가져올 때 | 여러 항목을 가져올 때 |

### 튜플과 리스트
* 리스트는 항목들을 쉼표로 구분해, 대괄호로 묶어 만든다.
* 튜플은 항목들을 쉼표로 구분해, 소괄호로 묶어 만든다.
* 리스트는 인덱스를 사용해 특정 위치의 항목을 가져올 수 있으며 0부터 시작한다.
* 리스트는 슬라이스를 사용하여 항목 일부분을 가져올 수 있다.
* 리스트는 추가, 수정, 삭제, 삽입 등 다양한 메소드를 사용해 변경이 자유로운 자료이다.
* 튜플은 추가, 수정, 삭제 변경이 불가능한 자료형이다.
* 리스트와 튜플은 항목들의 순서를 지닌 자료형이다. 인덱스로 항목의 위치 확인이 가능하다.

### 딕셔너리, 세트
| 딕셔너리 | 튜플 |
|:---------:|:----------:|
|키와 값이 한 쌍을 이루는 항목들을 쉼표로 구분하고, 이들을 중괄호로 묶어 생성 | 세트는 항목들을 쉼표로 구분해 중괄호로 묶어 만든다. |
|딕셔너리는 키로 접근해 값을 가져오거나 수정한다. | 순서가 없으며 중복되는 항목을 지니지 않는다. |
|키로 사용할 수 있는 자료형은 변경 가능하지 않은 자료형들로 구성한다. | 연산기호 및 메소드를 통해 교집합, 합집합, 차집합, 차집합, 대칭 차집합 등을 구할 수 있다. |
|키로 사용가능한 자료형 : 숫자, 문자열, 튜플(변경 가능 자료를 포함하지 않은 경우만 가능)||
|딕셔너리에 자료를 추가하고 싶은 경우 update()를 사용하면 여러 개의 항목을 한 번에 추가할 수 있다. | |
|키가 있는 경우에는 값을 수정, 키가 없는 경우 새로운 항목으로 키와 값을 추가한다. ||

***
### 모듈
```
특정 기능을 수행할 수 있는 정의 항목들(함수, 변수, 클래스 등)을 미리 만들어 모아 놓은 파이썬 파일
```
> 함수란 작업을 실행할 코드를 모아놓은 것으로 이름으로 호출해 정의된 명령을 실행할 수 있다.

* 랜덤 모듈 메소드 별 사용 가능 자료형

| 기능 | 메소드 | 사용할 수 있는 자료형 |
|:------:|:-------------:|:-------------:|
| 실수 무작위 발생 | random(x), randuniform(x) | 실수 |
| 정수 무작위 발생 | randrange(n1, n2, n3), randint(n1, n2) | 정수 |
| 무작위 항목 선택 | choice(x) | 리스트, 문자열, 튜플, 딕셔너리 |
| 무작위 순열 생성 | shuffle(x) | 리스트 |