본문 바로가기
  • Top Genius in the world
알고리듬

[알고리듬] #34 구문구조와 할당문

by Mr.Algo 2024. 4. 5.
728x90
반응형

파이썬 실습창을 열 수 있습니다.실습창 열기

 

함께하면 즐겁다.

 

 

1. 구문 구조

python 프로그램의 줄 구조, 문장 그룹, 들여쓰기의 구문 구조를 요약하였습니다.

no contents sample description
1 줄 이음
\ 사용
x=5
a=(1+x)**3 \
    + (1-x)**3
print(a)
-기본적으로 한 문장은 줄 바꿈 문자(newline)로 끝난다.(엔터 키)

-
긴 문장은 줄 이음 문자(\)를 사용하여 여러 줄을 작성할 수 있다.

‘\’의 이름은 ‘back slash’이다.
2 container
\ 생략
a=[1,
     3,5,
    'odd number',]
print(a)
-container(list, tuple, dict, range, set, frozenset)와 같이 (), {}, [] 로 둘러싸인 값들은 줄 이음 문자(\)를 생략할 수 .

또한 항목의 마지막에 코머
(,)를 붙여도 된다.
3 삼중따옴표
\ 생략
a="""88
   seoul
   olympic"""
print(a)
-삼중 따옴표(''' ''')로 둘러싸인 여러 줄의 문자열은 줄 이음 문자(\)를 생략할 수 있다.
4 여러 문장
; 사용
a=3; b=5;
print(a,b)
-;(semi colon)을 사용하면 같은 줄에 여러 문장을 쓸 수 있다.
5 들여쓰기
4칸 권장
a=3
if a==3:
    a=a*3+1
    flag=1
else:
    a=a/2
    flag=0
print(a,flag)
-들여쓰기는 함수(def), 조건문(if), 반복문(for, while), 클래스(class) 등의 code block을 나타낸다.

한 블록 안에서 첫 번째 문장에 적용되는 들여쓰기(indentation)는 제한이 없지만, 블록 전체적으로는 일관성이 있어야 한다. ‘a=a*3+1'’flag=1'의 시작 위치가 같아야 한다.

-들여쓰기는 4칸을 권장한다(경험에 따르면).

* 왼쪽의 프로그램은 a3과 같으면 'a*3+1'a자신에게, flag에는 1을 할당하고, 아니면 '(a/2)a자신에게 flag에는 0을 할당한다.
6 한 문장 블록
같은 줄 가능
a=3
if a==3: a=a*3+1
else: a=a/2
print(a)
-code block이 오직 한 문장이면 줄을 바꾸지 않아도 된다.
7 주석
# 사용
# 들여쓰기 예
a=3
if a==3: a=a*3+1
else: a=a/2
print(a)

-#(number sign)은 그 줄의 끝까지 주석인 것을 표시한다.
주석(comment)은 참고 사항을 적는 것으로 실행에 영향은 없다.

-많은 줄을 한 번에 주석 처리하려면 블록을 만들고 Ctrl+/ 이다.
전체를 주석 처리하려면 Ctrl+a(전체 블록), Ctrl+/하면 된다.
또는 삼중따옴표로 둘러싼다.

-따옴표로 둘러싸인 문자열 속의 #은 주석으로 취급되지 않는다.
8 빈 줄 줄 사이를
띄운다
.
빈 줄은 무시하므로 code의 가독성을 높일 때 사용할 수 있다.

 

2. 할당문

할당문(assignment statement)은 object와 식별자(identifier)를 참조(binding, reference) 시키는 문장입니다.

할당문 사용 방법을 요약하였습니다.

no form assignment description
1 '=' 왼쪽에
1개의 변수
a=3 3a에 할당하라.
(=의 이름은 할당연산자)
a=(a+b)/2-1 ‘=’오른 쪽의 연산 결과를
a에 할당하라.
c="Good morning." ‘=’오른쪽의 문자열을
c에 할당하라.
2 ‘=’ 왼쪽에
2개 이상의 변수


a,b=3,5 a에는 3, b에는 5
순서대로 할당하라
.

tuple (3,5)
unpacking한 것이다.
a,b=b,a ab, ba가 할당.된다.
(a, b
의 객체 바뀜)된다.
k,b,s=2018,"FIFA","Worldcup" 순서대로 할당
x,y,z='abc' x='a', y='b',z='c'
3 분할 대입
s[i:j:stride]=r

s=[0,1,2,3,4,5]
s[1:5:2]=[7,8]
print(s)

[0, 7, 2, 8, 4, 5] 출력
인덱스 1, 3의 값을 7, 8로  대체
4 여러 개의 ‘=’ a=b=3 3a에도 할당하고,
b
에도 할당하라.

a와 b는 같다.
(3 오브젝트에 이름이 2개)
t=o=p=a+3*5 (a+3*5)의 값을
t, o, p에 각각 할당하라.
5 container 할당문 datetime=((9,26,2015),(9,48,'am'))
(month, day, year),(hour, minute,am_pm)=datetime
print(month, day, year, hour, minute, am_pm)
# ‘9 26 2015 9 48 am’가 출력된다.

 

꼭 알아야 하는 유용한 정보들입니다.

잘 기억하세요.

 

오늘 끝.

728x90
반응형