본문 바로가기
Language/Python

Python :: 파이썬 문법 정리(3)

by stern07s 2023. 4. 14.
728x90
반응형

Python :: 파이썬 문법 정리(3)

 
 
항목 명
설명
예제
sum()
sum(list)를 하면 리스트의 모든 element의 값을 더해서 반환.

C++ 처럼,
함수의 정의가 먼저 나와야 사용할 수 있음.
print foo()
def foo(): ~~~
처럼 하면 에러가 발생(not defined)
def foo(): ~~
print foo()
는 OK.

range
리스트를 생성해서 반환.
range(시작인덱스, 길이)
예) print range(0, 5)
:: [0, 1, 2, 3, 4]
not in
주어진 리스트나 컨테이너에 들어가 있는지 확인할 수 있음.
list = [~~]
if 3 not in list:
if 3 in list:
enumerate()
for index, element in enumerate(list)
의 형태로 사용할 수 있음.
for in 과 마찬가지로 index는 0 ~ n-1까지 증가.
list = [pizza, salad, nacho]
for n, e in enumerate(list):
print n, e
0 pizza
1 salad
2 nacho
zip()
2개 이상의 컨테이너에 대한 반복자를 넘겨줌.
for a, b in zip(list1,list2):
while-else
while루프의 조건문이 false가 되면 else가 실행.
while 루프내에서 break 한 경우는 해당되지 않음.

for-else
위와 동일

list comprension 문법
list의 구성원을 문법으로 찍어내는 기능.
[출력될 elem값 <for문절> <조건절> ]
my_list = [ x * 2 for x in range(6) if x > 3 ]
결과 : [ 8, 10 ]
함수 인자 lambda
parameter로 이름없는 함수를 보낼 수 있음.
lambda 인자명: 조건절
을 사용하면 된다. 조건절에는 return문, if문을 쓰지 않음.
filter(lambda x: x > 5, data)
filter(function, list)
리스트의 element가 function에 해당하는 원소들만 모아서 리스트로 반환.
function에 lambda를 사용.

비트표현
0b + 2진수 의 형태로 표현.
C와 마찬가지로, &, |, <<, >>, ^, ~ 비트연산이 지원.
print 0b101
결과: 5
bin()
주어진 10진수를 2진수로 캐스팅.

클래스의 선언
class <클래스명>(<부모클래스>):
def 메소드명():...
__init__() 는 생성자를 의미.
self는 this 포인터와 같으며, 멤버변수의 추가는, JS와 마찬가지로 __init__()안에 바로 self에 변수를 추가할 수 있음.
또는 class 선언부 안에다가 아무곳이나 바로 변수를 정의 가능.
클래스의 모든 메소드(생성자인 __init__을 포함하여)는 첫 인자가 self. 즉 this 포인터가 되어야 함.
클래스의 인스턴스는 다른 변수와 마찬가지로 identifier에 바로 할당.
class Animal(object):
age = 55
__init__(self):
self.name = "Hello world!"
def print():
print(self.name)
def not_defined_yet():
pass
zebra = Animal()
pass
class 내부 / 혹은 함수의 내용을 stub으로 만들고 싶을때 사용.
class StubClass(object):
pass

 

반응형

댓글