Study Record

[파이썬] 기본 문법(조건문, 반복문, 함수) 본문

서버보안/리눅스 서버보안

[파이썬] 기본 문법(조건문, 반복문, 함수)

초코초코초코 2021. 11. 24. 17:01
728x90

1. 제어구문 - 조건믄

 

☞ 참과 거짓에 대한 정보

"python" [1,2]  (1,2)  {1,2} 1  
거짓 "" []  ()  {} 0 None

 

 구문 형식

if 표현식1:
	문장1
elif 표현식2:
	문장2
else:
	문장3

 

☞ 사용 형식

a = [1, 2, 3, 4, 5]

# example1
if 2 in a:
	print("a 안에 2가 들어있다.")
else:
	print("a 안에 2는 없다.")

# example2
if 2 not in a:
	print("a 안에 2는 없다.")
else:
	print("a 안에 2가 들어있다.")
    
# example3
if a[2] == 3:
	print("a[2] 의 값은 3이다.")
elif a[2] == 1:
	print("a[2] 의 값은 1이다.")
else:
	print("a[2] 의 값은 3도 1도 아니다")

 

2. 반복문

  • 프로그래밍에서 반복문(for/while)과 조건문(if)은 중요한 요소이다.
  • 반복문은 특정한 작업을 지정된 조건만큼 반복적으로 수행하는 문법이다.
  • 파이썬에서는 반복문으로 for, while 사용할 수 있다.
  • 반복구문 제어를 할 때는 break, continue 사용할 수 있다.

 

☞ for문

for i in range(10):
	# i가 0 ~ 9
	print(i),         # 한줄에 표시(Python 2.X) 
	print(i, end=" ")  # 한줄에 표시(Python 3.X)
    
# range(0, 10) --> 0, 1, 2, ~ 8, 9
# range(1, 11) --> 1, 2, 3, ~ 9, 10
# range(1, 10, 2) --> 1, 3, 5, 7, 9

for i in 'apple':
	# i가 'a', 'p', 'p', 'l', 'e'
    print(i)

for i in ['boo', 'kill', 'moon']:
	# i가 'boo', 'kill', 'moon'
    print(i)

for i in ('aaa', 'bb', 'vvv'):
	# i가 'aaa', 'bb', 'vvv'
    print(i)
    
dic = {'aa': 'bb', 'hello': 'ffds'}
for k,v in dic.items():
    # k = 'aa' , 'hello'
    # v = 'bb' , 'ffds'
	print(k, v)
    
list1 = [(1,2), (3,4), (7,6)]
for (value1, value2) in list1:
    # value1 = 1, 3, 7
    # value2 = 2, 4, 6
    print(value1, value2)
    
# index 와 value 모두 넘기기
list2 = ['a', 'b', 'c', 'd']
for index, valie in enumerate(list2):
	# index = '1', '2', '3', '4'
    # value = 'a', 'b', 'c', 'd'

 

☞ while 문

i = 1
while i <= 10:
    if i == 9:
    break
    print(i)
    i += 1

i = 1
while i <= 10:
    i += 1
    if i%2 == 1:
    	continue
    print(i, end=" ")

 

3. 함수

  • 함수란, 입력에 대한 작업의 결과를 출력해 주는 기능의 모음이다.
  • 입력 : 인자(parameters)
  • 출력 : 결과(return)
  • 입력값(함수인자, 입력인수) ---> 함수 ---> 출력값(리턴값, 결과값)

내장 함수
- (EX) help(), dir(), list(), tuple(), dict(), set(), ...
- 일반적으로 내장함수는 그냥 사용하면 된다.

외장 함수
- (EX) sys.exit(), sys.argv(), os.system(), glob.glob(), random.random()  
- 일반적으로 외장함수는 moduleimport 한 이후에 사용한다.

사용자 정의 함수  
- 사용자가 직접 선언하여 사용하는 함수이다.

 

 기본 사용 형식

def sum(a, b):        # a, b는 매개변수이다.
	return a + b
 
print(sum(3, 4))      # 3, 4는 인자(인수)이다.

매개 변수는 함수에 입력으로 전달된 값을 받는 변수를 의미한다.

인자(인수)는 함수를 호출할 때 전달하는 입력값을 의미한다.

☞ 여러 개의 리턴값은 튜플 하나로 반환된다.

def test():
	return 1,2,3,4
    
p = test()			# p = (1, 2, 3, 4)

 

☞ 인자가 많을 경우

def sum_many(choice, *args):
	# args 는 튜플형식으로 나머지 인자값들을 받는다.
    if choice == "sum":
        result = 0
        for i in args:
            result = result + i        # result += i
    elif choice == "mul":
        result = 1
        for i in args:
            result = result * i        # result *= i
    return result
 
result = sum_many('sum', 1, 2, 3, 4, 5)
print(result)

 

☞ default 값 사용 가능

def say_myself(name, old, man=True):
    print("이름은 %s 입니다." % name)
    print("나이는 %d 살입니다." % old)
    if man:
        print("남자입니다.\n")
    else:
        print("여자입니다.\n")
 
say_myself("chan", 13)

 

global 변수 - 권장하지 않음!

def test():
    global a	# 외부의 a 를 가져와 사용한다.
    a += 1
 
a = 1
test()
print(a)	# a = 2

 

 

728x90

'서버보안 > 리눅스 서버보안' 카테고리의 다른 글

[파이썬] 소켓 프로그래밍  (0) 2021.11.24
[파이썬] 연산자  (0) 2021.11.24
[파이썬] 집합(Set)  (0) 2021.11.24
[파이썬] 딕셔너리(JSON)  (0) 2021.11.24
[파이썬] 튜플(tuple)  (0) 2021.11.24