Python

[Python] 기본 함수

디지몬진화 2024. 4. 21. 03:04

1. abs()

-자신에게 전달된 값의 절대값을 계산하여 반환

 

2. sqrt()

- 제곱근을 계산하는 함수

 

3. input()

- 입력을 받기 전에 사용자에게 출력하는 프롬프트 문자열을 가질 수 있음

 

4.round()

- 숫자를 가장 가까운 정수로 반올림

 

>>> result1 = round(3.14159)

>>> print (result1)

3

 

>>> result2 = round(3.14159, 2) #소수점이하 2자리 반올림

>>> print (result2)

3.14

 

5. len()

- 문자열의 길이를 계산

 

6. upper(), lower()

- 문자열을 대문자, 소문자로 바꾼다

 

7. find()

- 문자열에서 어떤 단어를 찾는다

>>> message = 'merry christmas'

>>> message.find('ch')

6

 

'\'

- 문자 앞에 \가 붙으면 특수 문자의 의미를 잃어버린다.

>>> message = 'does\'t'

>>> print(message)

doesn't          -->       \뒤에 '는 특수문자로 인식 x

 

- \n 은 줄바꿈을 의미한다.

>>> print('C:\some\name')
C:\some
ame

 

 

- 문자열 앞에 r을 붙이면 \를 특수문자로 해석하지 않는다.

>>> print(r'C:\some\name')
C:\some\name

 

r-문자열

- r-문자열은 raw 문자열을 의미한다.

 

f-문자열

- 문자열 안에 출력하고 싶은 변수를 중괄호로 감싸서 넣는 방법이다.

>>> price = 10000
>>> print(f"상품의 가격은 {price}원입니다.")
상품의 가격은 10000원입니다.

 

8. 리스트

8-1 append()

- 리스트.append() 를 통해 리스트에 항목을 추가

 

8-2 reverse()

- 리스트.reverse()를 통해 리스트를 역순으로 변환

 

8-3 insert()

- 특정한 위치에 요소를 추가할때 사용

>>> shopping_list = ["두부", "양배추", "딸기"]
>>> shopping_list.insert(1, "생수")
>>> shopping_list
['두부', '생수', '양배추', '딸기']

 

8-4 pop()

- pop() : 특정한 위치에 있는 항목 삭제

>>> heroes = [ "스파이더맨", "슈퍼맨", "헐크", "아이언맨", "배트맨" ]
>>> heroes.pop(1)
'슈퍼맨'
>>> heroes
['스파이더맨', '헐크', '아이언맨', '배트맨’]

 

8-5 remove()

- remove() : 항목을 받아서 삭제

>>> heroes = [ "스파이더맨", "슈퍼맨", "헐크", "아이언맨", "배트맨", "조커" ]
>>> heroes.remove("조커")
>>> heroes
['스파이더맨', '슈퍼맨', '헐크', '아이언맨', '배트맨']

 

8-6 count()

- 리스트에서 지정한 값이 몇 번 등장하는지를 반환

>>> animals = ['dog', 'cat', 'dog', 'elephant', 'dog', 'lion', 'tiger']
>>> dog_count = animals.count('dog')
>>> print(f"dog의 개수: {dog_count}")
dog의 개수: 3

 

8-7 sort()

-리스트를 정렬

- sort() : 리스트를 제자리에서 정렬(원본 리스트가 변경)

>>> a = [ 3, 2, 1, 5, 4 ]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

 

8-8 sorted()

- sorted() : 원본을 유지하고 새로 정렬된 리스트를 원한다면 내장함수인 sorted()를 사용하는 것이 좋음

>>> a = [ 3, 2, 1, 5, 4 ]
>>> b = sorted(a)
>>> b
[1, 2, 3, 4, 5]

 

8-9 리스트안에 for문

- 조건을 가지는 리스트 함축

>>>myLIst = [(x,y,z) for x in range(1,31) for y in range(x,31) for z in range(y,31) if x**2 + y**2 == z**2]

>>>print(myList)

[(3, 4, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 15, 17), (9, 12, 15), (10, 24, 26), (12,
16, 20), (15, 20, 25), (18, 24, 30), (20, 21, 29)]

 

아래 표는 리스트 연산을 정리해 놓은 표이다.

리스트 연산 정리

 

 

9. import math

9-1 math.isclose(비교할 첫번째 숫자, 비교할 두번째 숫자)

- 함수는 두 숫자의 차이가 허용 오차 범위 내에 있는지 여부를 확인하여 두 숫자가 "거의 같은지"를 판단

- 주로 부동소수점 숫자를 비교할 때 사용

 

>>> import math
>>> a = 0.1 + 0.1 + 0.1
>>> b = 0.3
>>> if math.isclose(a, b):
print("a와 b가 거의 동일합니다.")

 

10.반복문

10-1 for문

- 정해진 횟수만큼 반복하는 구조

10-1-1 range()

- 큰 리스트를 손으로 만드는 것은 거의 불가능하다. 편리하게 만들때 유용한 함수가 range() 함수이다.

 

10-2 while문

- 어떤 조건이 만족되는 동안, 반복을 계속하는 구조

 

11. enumerate()

- 순회 가능한 객체를 받아 해당 객체의 각 요소와 인덱스를 함께 반환

 

12. square()

- 정수를 제곱

 

13. compute_average()

- 평균을 구함

 

14. set_cursor_type()

- 커서의 타입을 설정

 

15.def함수

- 코드를 재활용해서 사용할 수 있음

 

15-1 변경 불가능 객체

1) 정수

>>>def modify(n):
>>>n=n+1
>>>k = 10
>>>print("k=", k)
>>>modify(k)
>>>print("k=", k)

 

k = 10

k = 10

 

2) 문자열

>>> def modify1(s):
>>> s += "To You"
>>> msg = "Happy Birthday"

>>> print("msg=", msg)
>>> modify1(msg)
>>> print("msg=", msg)

 

msg= Happy Birthday
msg= Happy Birthday

 

list는 변경 가능

 

지역변수, 전역변수- 지역변수 : 함수 안에 정의된 변수- 전역변수 : 함수의 외부에서 선언된 변수

 

>>> def sub():
>>>      s = "사과가 좋음!"
>>>      print(s)
>>> sub()
>>> print(s)

s는 지역함수이므로 함수 안에서만 사용가능따라서 이 코드는 에러가 뜸 (s를 찾을 수 없음)

 

>>> s = "사과가 좋음!"

>>> def sub():
>>>       s = "메론이 좋음!"
>>>       print(s)

>>> sub()
>>> print(s)

메론이 좋음!

사과가 좋음!

 

만약 함수안에서 전역변수의 값을 변경하려면 global 키워드를 사용해야함.

 

※무명함수(람다식)- 이름이 없는 함수 - lambda 키워드를 사용하여 정의