Etc

python 문법정리

노도통 2021. 10. 20. 16:43

파이썬을 내가 사용할일이 있을까..?

--------------------------------------

 

모듈, 함수, 클래스 등 색인

 

3.10.0 Documentation

Python 3.10.0 문서 Welcome! This is the official documentation for Python 3.10.0. 설명서의 파트들: 파이썬 3.10 의 새로운 기능은? 2.0 이후의 모든 "새로운 기능" 문서 자습서 여기에서 시작하세요 라이브러리 레퍼

docs.python.org

 

파이썬은?

인터프리터 언어. 사용하기 편리한 언어

 

- 연산

: 파이썬은.. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 를 다른 언어처럼 계산할 수 있다.

제곱 : x ** 2 (2의 제곱)

 

- 변수

: 다른 언어처럼 변수선언이 가능하다.

ex) myfee = 15000

  • 전역변수 : 함수 밖에서 선언 혹은 global 예약어를 사용하여 선언되는 변수
  • 지역변수 : 함수 안에서 선언되는 변수

- 클래스(Class)

class 클래스명:

class Test:
    def testMethod(self):
        return 'test진행했다'

testarg = Test()
result = testarg.testMethod()
print(result)
=> 'test진행했다'

__init__ 메서드 (초기화)

Class가 호출되면서 불러들이는 생성자(constructor)

 

__del__ 메서드 (소멸자)

Class 호출 완료후, 호출되는 소멸자(destructor).

 

__repr__ (프린팅)

Class 호출시, return에 정해진 내용을 print한다.

 

- 함수(메서드) (def)

def 변수명(param):

    로직 구현

def good(lists):
    for i in lists:
        print(i)

 

- 자료형

None : 값이 없음

bool : True, False

str : 문자열

    문자열 관련 동작

x = 'banana'
x[2:4] => 'na'
x[:3] => 'ban'
x + ' tasty' => 'banana tasty'

int : 정수

float : 소수

complex : 복소수

list : 리스트

        리스트 관련 동작

        ex)

        prime = [3, 2, 7, 11]

        리스트에 추가: prime.append(5) => [3, 2, 7, 11, 5]

        리스트 정렬: prime.sort() => [2, 3, 7, 11]

        리스트에서 삭제: del prime[1] => [3, 5, 7]

        리스트 데이터 할당(=변경): prime[2] = 10 => [3, 2, 10, 11]

 

        리스트에서는, 2차리스트(배열)도 구현 가능.

        primeTwo = [['하나', '둘'], ['셋', '넷'], '다섯', '여섯']

        primeTwo[0][1] => '둘'

 

    - type()

        변수의 자료형 확인

 

- return

결과값을 반환 (파이썬은.. php처럼 데이터 타입의 선언이 없다)

 

- 리스트(list)

배열과 같이 변수들을 나열한다.

ex) family = ['father', 'mother', 'brother', 'me']

ex) family[3] => 'me' 출력.

 

len() : list의 길이, 문자열의 length를 구한다.

ex) len(family) => 4

ex) len(family[3]) => 6

 

remove() : list에서 제외 (array_pop과 유사)

ex) family.remove('father') => print(family) => ['mother', 'brother', 'me']

 

- 튜플(tuple)

리스트(list)와 유사하지만, [ ] 대신 ( ) 을 사용하며, 튜플은 값을 변경할 수 없다.

tupleExample = ('a', 'b', ('c', 'd'))

tupleExample[2][1] => 'd'

(!) 원소 하나만 가진 튜플을 만들 땐, 원소 뒤에 콤마(,)를 찍어야한다. (안그러면 튜플이 아닌 일반 타입의 변수가 할당된다)

 

원소가 없는 튜플 생성

ex)

    empty = ()

 

- 딕셔너리(dict)

key - value 를 쌍으로 가지는 리스트 형태(php의 연관배열과 유사)

 

(!) key에는 str과 int등... value에는 다른 자료형 모두 허용

ex)

    dictExample = {1 : 'good', 'babo' : 9999, 'multi' : [1, 3, 5]}

    dictExample[1] => 'good'

    dictExample[‘babo'] => 9999

    dictExample[‘multi’] => [1, 3, 5]

    dict.keys() => 

 

- print()

console에 출력

1] %s: 문자열, %d: 정수, %f: 부동소수점 (대입해서 사용가능)

ex)

xx = 'good'

xc = 123

print('%s %d' % (xx, xc))

더 자세한 사용법은..

 

7. Input and Output — Python 3.10.0 documentation

7. Input and Output There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This chapter will discuss some of the possibilities. 7.1. Fancier Output Formatting So far we

docs.python.org

 

 

- while

num = 1
while num <= 100:
    print(num)
    num = num + 1

(!) while문 아래에 적용될 코드는 반드시 4칸 들여쓰기해야한다. (while 블록 내부에 있다는 표시) 안그러면 오류난다.

 

- 조건문 (if-elif-else)

a = 1
b = 2
if a < b:
    print('true')
elif a == b:
    print('same')
else:
    print('false')

 

- for문

ex1) list 반복

family = ['father', 'mother', 'brother', 'me']
for x in family:
    print(x) => father, mother, brother, me

ex2) : 문자열을 list에 담기

charList = []
name = 'yunsang'
for char in name:
    charList.append(char)
print(charList) => ['y', 'u', 'n', 's', 'a', 'n', 'g']

 

- range()

범위안의 정수들을 생성.

ex) range(5) => [0,1,2,3,4]

ex) list(range(1,3)) => [1, 2]

ex) for i in range(4,8):

          print(i) => 4 , 5, 6, 7

 

- lambda

익명 함수. 함수형태와 유사하면서도(간단한 것들) 함수를 선언하지 않고서 사용

    문법 : lambda 인자 : 표현식

ex) (lambda x,y: x + y)(10, 20)

ex) f = lambda x,y : x+y

          print(f) => 8

    - map()

    리스트의 요소를 지정된 함수로 처리해주는 함수

    문법 : map(함수, 리스트)

    ex) list(map(lambda x:x+1,range(5)))

 

    - reduce()

    리스트에 저장된 요소를 함수 수행을 통해 누적시킨다.

    문법 : reduce(함수, 반복가능객체)

    (!) python 3버전부터는 내장함수에서 제외되었다. (import를 통해 가져온다)

    ex) reduce(lambda x,y:x+y, [0,1,2,3]) => 6

 

    - filter()

    리스트의 요소를 필터링 (function에서의 결과가 true인 것)

    문법 : filter(함수, 반복가능객체)

    ex) filter(lambda x: x.startswith(‘f’, [‘fox’, ‘flag’, ‘apple’, ‘bad’]) => [‘fox’, ‘flag']

 

- import

파이썬 모듈을 불러온다.

 

1] 전역에 import

ex)

    import math

    math.pi

 

2] 모듈 내 특정 함수

ex)

    from math import pi (원주율)

 

3] alias

ex)

    import math as mm

    mm.pi

 

4] 2]+3]

ex)

    from math import sqrt as mattt

    mattt(4.0)

 

- sys 모듈

파이썬 인터프리터와 관련된 정보와 기능을 제공

 

- os 모듈

운영체제(Operating System) 제어 가능

(linux, windows 명령 프롬프트 등..)

 

- string 모듈

문자열 연산 함수 제공

 

- re 모듈

정규표현식 관련 함수 제공

 

- 예외처리 try, except

오류 발생에 대한 예외처리

try:
    a = 3
    b = 0
    c = a/b
    print(c)
except:
    print('오류 발생')