python-7: 기본 정리
대부분의 프로그래밍 언어들은 특정 부분을 구분하기 위하여 ;이나 { 등의 기호로 시작과 끝을 표현하는 엄격한 구조를 따라야 했지만 파이썬은 이 대신 들여쓰기를 사용합니다
1. console 에 나타내기
print("Hello world")
2. 변수
a = 2
b = 3
c = a + b
print(c)
- 변수는 데이터를 담는 메모리 공간
- 변수에는 숫자, 문자, 목록 등을 담을 수 있음
- 파이썬은 Top To Bottom 순서로 읽는다
- 파이썬 변수는 각 메모리(0x0001)를 할당받고 거기에 값이 입력된다
- 파이썬은 변수 이름에 공백은 허용하지 않는다
- 파이썬은 변수 단어 사이에 _ 사용 snake_case(스네이크표기법)
- 파이썬 변수 이름은 항상 글자로 시작(숫자,특수문자로 시작X)
3. Booleans and Strings
- string(문자열): s= “text” / “123”
- 문자열을 곱하면(“a”x 문자를
- Booleans(불린): True / False (True와 False의 첫글자는 무조건 대문자!)
대입
A1, b1 = 1,2
• 두개 동시에 대입하고싶을때
B1,a1 = A1, b1
• 두개 값 바꾸고 싶을때
• 왼쪽이 새롭게 정의, 오른쪽이 기존 값
4. \
- 문자열에 \ 문자는 escape 문자인데, 다음과 같다.
- \: \ 문자
- \’ : 따옴표
- \n : 줄 변경
- \t 탭 \
5. 문자열 인덱싱
** ` A = “Life ais short, you need python”` 이라는 문자열을 보자. **
- A에서 첫번째 글자는 L이고 두번째 글자는 i이다.
- 컴퓨터에서 첫번째 자리를 뜻하는 숫자 0을 대입해보면 A[0]을 입력하면 L이라는 결과가 나온다.
- 뒤에서부터 세고 싶으면 A[-1], A[-2] 등을 입력해보면 된다.
6. 문자열 슬라이싱
` A = “Life is short, you need python” ` 슬라이싱이란, 연속된 문자를 뽑을 때 사용하는 기법이다.
- A[0:4] 와 같이 입력하면 A라는 문자열에서 0번째 자리부터 4번째 자리 이전까지 문자를 뽑아낸다.
- 즉, Life가 나온다.
- A[5:] : 5번째 자리부터 끝까지의 문자열
- A[:5] : 5번째 자리 전까지의 문자열
- A[2:-2] : 2번째 자리부터 뒤에서 2번째자리 전까지의 문자열
- 기본적으로 문자열은 데이터를 변경할 수 없기 때문에 슬라이싱을 많이 이용한다.
7. 주요함수
- len(문자열) : 길이를 반환 문자열
- .startswith(문자열2): 문자열이 문자열2로 시작하는지 판단
- 문자열.endswith(문자열2): 문자열이 문자열2로 끝나는지 판단
- 문자열.find(문자열2): 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1을 있을 경우 위치를 반환
- 문자열.count(문자열2): 문자열 안에 문자열2가 몇번 등장하는지 반환 문자열
- .strip(): 양 옆에 있는 공백 제거 문자열
- 기타: rfind, lstrip, rstrip, isalpha, isnumeric, isalnum, replace, split, upper, lower, join*
8. formating
- 만약, 같은 문자열 안에 여러가지 서로 다른 문자를 넣고 싶다면?
-
예를 들면,
“현재 시간은 7시 입니다.”
“현재 시간은 8시 입니다.” - 이럴 때 사용하는 것이 포매팅이다.
- 포매팅 방법
1)
“현재 시간은 {}시 입니다.”
.format(7)
2)
“현재 시간은 %d시 입니다.” % 7
- 2번째 방법의 경우엔 % 뒤에 입력할 값의 형태를 지정해줘야 한다.
- %d : 정수
- %s : 문자열
- %f : 실수
- %o : 8진수
- %x : 16진수
9.형 변환
- 정수로 변환: int()
- 실수로 변환: float()
- 문자열로 변환: str()
10. 순서형
- 순서형(sequential type)이란 값들이 연속적으로 저장된 형태를 뜻한다.
- 즉, 문자열도 순서형이다. 그 외에 대표적인 순서형으로 리스트와, 튜플이 있다.
- 순서형(sequential type)이란 값들이 연속적으로 저장된 형태를 뜻한다.
- 즉, 문자열도 순서형이다. 그 외에 대표적인 순서형으로 리스트와, 튜플이 있다.
- 순서형 type의 공통된 연산으로
- 인덱싱 : A[3]
- 슬라이싱 : A[3:6]
- 연결하기: + 연산자
- 반복하기: * 연산자
- 멤버 검사: in 연산자
- 길이 반환: len() 이 있다
11. 리스트
- 리스트 = [요소1, 요소2, 요소3, …]
- 예시)
A= [1,2,3]
A=[‘sd’,’as’,’fg’]
A=[1,2,’ff’]
A=list()
- ` A=[]` *리스트도 인덱싱 슬라이싱 가능
다중 리스트
- 예시) A= [1,2,3,[1,2,3]]
A[3][2] = ?
- 다중 리스트에서도 슬라이싱 인덱싱 가능!
리스트 수정
A = [1,2,3] A[2] = 4 => A = [1,2,4]
리스트 관련 함수들
요소 추가 : 리스트.append( 값 ) 정렬 : 리스트.sort() 뒤집기 : 리스트.reverse() 위치 반환 : 리스트.index( 값 ) 삭제 : del 리스트 [위치 ] 기타: insert, remove, pop, extend
12. 숫자열
- 나눗셈 후 몫을 반환하는 연산자: // 예시) 7//4 = 1
function
- 함수 정의 = def 함수이름( ) : (js:function / py:def)
- 함수 호출 = 함수이름( ) ```
def say_hello():
print("Hello how r u?")
say_hello()
indentation
def say_hello():
print("Hello how r u?")
def say_bye():
print("bye bye")
say_hello()
say_bye()
- say_hello()는 say_bye() 안에있는것으로 인식했고
- say_bye()는 say_bye()와는 다른 것으로 인식했음
- 다른 언어들은 항상 중괄호를 써주는데, 파이썬은 공백으로 판단함
13. parameters
-
function에게 data 보내는 방법은 function을 실행할때 ( ) 소괄호 안에다가 원하는 data를 넣으면된다.
-
근데 실행해보면 작동은 되지 않는다. 그 이유는 우리가 만든 fucntion에 data들어갈 공간이 없기 때문이다.
-
그래서 그 공간을 주기 위해서는 우리가 만든 function ( ) 소괄호안에다가 text을쓰면된다.
(문자열이 아닌 그냥 variable을 만들때 처럼 쓰면된다.) -
그리고 data를 사용할련 우리가 만든 function ( ) 소괄호 안에있는 text를 function 안에 입력하면된다.
-
우리가 만든 funciton ( ) 소괄호안에 있는 공간의 이름을 매개변수(parameter)라고 한다.
-
실행할때 사용되는 function ( ) 소괄호 안에의 이름은 인자(argument)라고 한다.
mutilple parameters
-
paramenter를 여러개 만드는 방법은 function에있는 paramenter에
콤마를 쓰고 paramenter를 추가하면 된다. -
기억해야할 점은 2개의 paramenter가 있으면 function을 call할때
2개의 argument을 보내야한다. (필요한 data를 전부 보내야하기 때문이다) -
주의 해야할 점은 data를 넣는 순서인데 첫번째 argument는 첫번째 parameter에 가고,
두번째argumnet는 2번째 parameter에 간다
def say_hello(user_name, user_age):
print("hello", user_name, "how r u?")
print("you are", user_age, "years old")
say_hello("nico", 12)
default parameters
- parameter에 기본값 설정하기
def say_hello(user_name="anonymous"):
print("hello", user_name)
say_hello("nico")
say_hello()
14. calculator
def plus(a=0, b=0): print(a+b)
def minus(a=0, b=0): print(a-b)
def multiplication(a=0, b=0): print(a*b)
def division(a=0, b=1): print(a/b)
def power_of(a=0): print(a*a)
plus(11,2) minus(5,3) multiplication(3,5) division(15,3) power_of(4)
plus() minus() multiplication() division() power_of()
출처: https://nomadcoders.co/python-for-beginners/lectures/3768
15. return values
def tax_calc(money):
return money * 2
def pay_tax(tax):
print("thank you", tax)
to_pay = tax_calc(15)
pay_tax(to_pay)
- f”“로 문자열을 표현하면 변수를 직관적으로 표현할 수 있다. (변수는 변수명을 중괄호({ })로 나타낸다)
예시)
name = "박기도"
print(f"안녕하세요. {name}입니다")
- 함수에서 값을 return 한 뒤 코드는 실행되지 않는다 예시)
def hello():
return "안녕하세요"
print("~~~") # 무시됨
print(hello())
댓글남기기