문자열 처리
- 문자열도 시퀀스의 일종 sequence
값 수정 가능 mutable 참조주소는 하나고 새로 초기화 시 새로운 참조와 값이 생성되는 것
값 수정 불가 immutable
In [32]: s = "Hello World"
In [33]: vowals = 'aieouAIEOU'
In [34]: result = ''
In [35]: for ch in s:
...: print (ch)
...:
H
e
l
l
o
W
o
r
l
d
In [36]: for ch in s:
...: if ch in vawals:
...: print (ch)
...:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[36], line 2
1 for ch in s:
----> 2 if ch in vawals:
3 print (ch)
NameError: name 'vawals' is not defined
In [37]: for ch in s:
...: if ch in vowals:
...: print (ch)
...:
e
o
o
In [38]: for ch in s:
...: if ch not in vowals:
...: print (ch)
...:
H
l
l
W
r
l
d
반복문에는 for문 과 while문이 있다
for문은 리스트에서 한 항목씩 가져와서 처리한다
range() 함수를 이용하면 정수들의 리스트를 생성할 수 있다.
while 문은 조건이 만족되는 동안 , 반복을 계속한다.''
=======================================
함수
- 함수(funtion)는 특정 작업을 수행하는
명령어들의 모음에 이름을 붙인 것.
- 함수는 작업에 필요한 데이터를 전달받을 수 있으며,
작업이 완료된 후에는 작업의 결과를 호출자에게 반환할 수 있다.
: 수학에서의 함수는 반드시 값을 리턴한다.
프로그래밍에서는 두가지의 함수가 종류가 있다 . : 값을 리턴하는 함수 (= 리터럴 함수_)
값을 리턴하지 않는 함수 (= 프로시져 함수)
함수의 예 )
print()
input()
abs(), ...
- 함수 안의 명령어들은 실행하려면 함수를 호출(call)하면 된다
함수 사용 하는 것을 함수 사용이라 함.
함수 작성
def 함수 이름 ( 매개변수 이름1, 2 ):
문장
문장
def gugudan(dan): # 매개변수 (parameter)
pass # 함수를 완정하기 전에 임시로 컴파일 에러를 중지 시키는 용
gugudan(2) # argumen : 함수를 실행 할 때 넘겨주는 값
gugudan(3)
함수 Function
- 특정 작업을 수행하는 명령어들의 모음에 이름을 붙인 것
- 함수는 작업에 필요한 데이터를 전달받을 수 있으며, 작업이 완료된 후에는 작업의 결과를 호출자에게 반환할 수 있다.
입력 함수 출력
함수를 호출할 때 사용하는 변수 : 매개변수 .
argument 전달인자 연산자 //
모든 연산자는 하나 이상의 매개변수가 있고
연산을 하면 항상 값을 리턴한다.
prameter 매개변수
함수안에서의 정의 및 사용에 나열되어 있는 변수
argument 전달인자
함수를 호출할 때 전달되는 실제 값 의미
함수의 예
print()
input()
abs(), ....
- 함수 안의 명령어들을 실행하려면 함수 호출 (call) 하면 된다.
>>> value = abs (-100)
>>> value
100
함수를 왜 사용하나
중복된 반복적인 코드를 피하고
재사용이 가능해서 더 편리하기 위해..
함수 작성
def 함수 이름 (매개변수1, 매개변수2) :
문장1
문장1 (함수의 몸체
함수를 정의하는 키워드 def
매개변수는 외부로부터 작업에 필요한 데이터를 받는다. 없어도 된다.
: 콜른을 찍어서 함수 정의가 끝나지 않았음을 표시한다.
함수 사용의 장점
- 프로그램 안에서 중복된 코드를 제거한다.
- 복잡한 프로그래밍 작업을 더 간단한 작업들로 분해할 수 있다.
- 함수는 한번 만들어지면 다른 프로그램에서도 재사용 될 수 있다.
- 함수를 사용하면 가독성이 증대되고 , 유지 관리도 쉬워진다.
함수의 이름
- 함수의 목적을 설명하는 동사 또는 동사 + 명사를 사용
함수호출
- 함수를 사용하려면 함수를 호출 (call) 하여야 한다.
함수는 여러번 호출 할 수있다.
함수를 이용할 때 주의 할 점
- 파이썬 인터프리터는 함수가 정의되면 함수 안의 문장들은 즉시 실행하지 않는다
- 함수 정의가 아닌 문장들은 즉시 실행하게 된다.
소수를 판별하는 함수 is_prime()을 작성하여 사용.
인수와 매개 변수
- 인수 (argument) 는 호출 프로그램에 의하여 함수에 실제로 전달되는 값이다.
- 매개 변수 (praameter)는 이 값을 전달받는 변수이다.
디폴트 인수 (* 자바에는 없다 )
- 파이썬에서는 함수의 매개변수가 기본값을 가질 수 있다
이것을 디폴드 인수 (default arugument) 라고 한다
키워드 인수
- 인수들이 위치가 아니고 키워드에 의하여 함수로 전달되는 방식
(숫서가 바뀌어도 전달이 된다. )
참조값에 의한 인수 전달
- 함수를 호출할 때 , 변수를 전달하는 2가지 방법
: 값에 의한 호출 (call-by-value)
: 참조에 의한 호출
이뷰터블 객체 전달 (수정불가객체)
def modify1(s):
s += "To You"
msg = "Happy Birthday"
print("msg = " , msg)
modify1(msg)
print("mdg=", msg)
지역 변수와 전역 변수
함수의 외부에 있는 전역변수 : 모든 함수에서 참조 할 수 있는 변수
함수의 내부에 있는 지역변수
매개변수 = 지역변수
상수
- 상수 변하지 않는 수 : 변수를 한번 할당하면 변경 할 수 없는 수
무명함수
- 무명 함수는 이름은 없고 몸체만 있는 함수이다.
파이썬에서 무명함수는 lambda 키워드로 만들어진다
lambda 인수1, 인수2 : 수식
모듈이란 ?>
- 함수나 변수들을 모아 놓은 파일을 모듈 (module)
핵심정리
- 함수는 동일한 코드를 재사용하기 위한 것이다. 함수는 def로 작성된다..
- 함수 안에서 선언되는 변수는 자역변수이고 함수의 외부에서 선언되는 변수는 전역변수이다.
- 함수나 변수들을 모아 놓은 파일을 모듈(module)이라고 한다.
python 함수
함수모형 Math 함수 .
def factorial(n):
value = 1;
for i in range(1, n+1):
value *= i
return value
Function 함수
def gugudan(dan): # 매개변수 (parameter)
for i in range(1, 10):
print(f"{dan} X {i} = {dan*i:2}")
pass
def power(a, b):
c = a**b
return c
pass
for i in range(2, 10):
print(f"{i}단")
gugudan(i) # 아규먼트(argument)
print()
Function 함수2
def power(a, b):
c = a**b
return c
pass
print(power(2, 3))
def totalSum(limit):
sum = 0
for i in range(1, limit+1):
sum += i
return sum
value = totalSum(235)
print(value)
for i in range(1, 101):
print(f'{i} = {totalSum(i)}')
Default Argument 디폴트 인수
def multifly(a, b=2): # default 인수
return a * b
print(multifly(10, 20), multifly(10), multifly(5))
print("Hello", "World", sep='@', end='\n\n\n') # keyword 인수
print("Hello", "World", '@', end='\n\n\n')
print("Program End...")
Mutable Immutable 뮤터블 / 이뮤터블
def modify1(v):
print("v : ", v, id(v))
v += "###"
print("v : ", v, id(v))
value = "Hello"
print("전 :", value, id(value))
modify1(v=value)
print("후 :", value, id(value))
print("#"*20)
def modify2(v):
v += [10]*3
value = [1,2,3,4]
print("전 :", value, id(value))
modify2(v=value)
print("후 :", value, id(value))
def modify3(v):
v += 20
value = 10
print("전 :", value, id(value))
modify3(v=value)
print("후 :", value, id(value))
print("Program End...")
Global Variable_NonLocalVariable _ 전역변수 지역변수
num = 100 # 전역변수
def xxx():
# print(num) #
global num
num = 200 # 지역변수
print(num) # 지역변수 참조
xxx()
print(num)
print("Program End...")
TupleAssingment 튜플대입
x = 1
y = 2
x1, y1 = 10, 20 # tuple 대입
print(x1, y1)
x1, y1 = y1, x1
print(x1, y1)
tmp = x1
x1 = y1
y1 = tmp
print(x1, y1)
print("Program End...")
import example
from time import sleep
import time as t
def sleep(millis):
print("%d millis" % millis)
sleep(10)
print("호출전...")
t.sleep(5)
print("호출후...")
print("End...")
'Hello World > Python' 카테고리의 다른 글
Python - 조건문 if-else문 / 연산자 / 문법 실습 [개발스터디 기몬] (0) | 2023.03.16 |
---|---|
Python - 변수와 계산 / 연산자 지수계산 ** [개발스터디 기몬] (0) | 2023.03.15 |
Python - python memo 변수과 계산 / 문법 익히기 [개발스터디 기몬] (0) | 2023.03.14 |
Python - 파이썬 설치 / 파이썬 이론 , 파이썬 특징 /Install python, Install LiClipse / 실습정리 [개발스터디 기몬] (0) | 2023.03.14 |
댓글