[스파르타 내배캠 ai 3기] 파이썬 (2)

_포카칩·2022년 9월 16일
0

3. 파이썬 활용

가.자료형 활용하기

1)사칙연산

  • // : 나머지 없는 나누기(/는 소수점나오는데, //는 소수점 버림)
  • % : 나머지
  • 변수에 값 할당하면 연산 축약문법 사용 가능
    num += 1 / num -= 1 / num *= 1

2)string

  • 문자열에서 '+'와 '*'기호 지원
  • fstring으로 문자열, 변수 함께 다루기 가능
    -print(f"a는 {}이다.")

3)list

  • 인덱스와 슬라이싱 기능 이용하여 특정값 가져오기 가능
    -인덱스: a_list[0]
    -슬라이싱: a_list[start:end:간격]
    a)[a:] : a부터
    b)[:b] : b까지
    c)[::c] : c만큼
  • list 자료형에서는 값을 원하는대로 추가, 수정, 삭제 가능
    *numbers={1,2,3,4,5}
    -numbers.append(6) > 6이라는 것을 numbers 마지막 자리에 넣음.
    -numbers.remove(1) > 1이라는 것을 삭제
    -numbers.[-1]=7 > 마지막 요소의 값을 7로 변경
    -numbers.pop() > list에서 마지막 요소 삭제 후 변수에 할당
  • 자료형의 요소는 숫자나 문자 외에도 다양하게 사용 가능
  • len()함수 사용해 list의 길이 구할 수 있음
    print(len(numbers))

4)tuple

  • 인덱싱 기능 활용 가능
  • 요소의 값을 수정, 삭제할 수 없고 추가만 가능
    numbers += (6,7)
  • 다양한 자료형 사용 가능
  • len()을 이용해 길이 구하기 가능
    print(len(numbers))

5)set

-자료형 중복값 포함 안하고, 인덱싱과 슬라이싱 안됨.

  • len()을 이용해 길이 구하기 가능

6)dictionary

  • key: value로 구성, key를 이용해 value를 가져올 수 있음.
    p = {"a" : 1, "b" : 2, "c" : 3}
    print(p["a"]) > 1
    *존재하지 않는 key로 value 호출시 에러 발생
    이경우 .get을 활용해서 key 없을 때 값을 지정 가능.
    print(p.get("d", 20)) > 20으로 출력
  • 딕셔너리에서는 자유롭게 값을 추가, 수정, 삭제 가능.
    -변경 : p["a"]=4
    -추가 : p["e"]=5
    -삭제 : del(p["a"])

나.자료형 변환(파이썬에서 자유롭게 가능)

1)string > int
-int("10") > str10에서 int 10으로 바뀜.
2)list > tuple > set
-tuple(list1) > list가 tuple로 바뀜.
-set(tuple) > tuple이 set으로 바뀜.
3)any > string
-어떤 것이라도 str()해주면 다 str로 바뀜.
+)이 외에도 다양한 자료형 변환 가능

다.함수

1)def 함수명 ():
2)결과 리턴
def m(a,b):
return a*b

num1 = 5
num2 = 10

result = m(num1,num2)
print(result) > 50

라.다른 파일에 있는 코드 import해서 사용하기

1)예제에서 사용된 파일 구조

│ a.py
│ main.py
├─ folder
│ ├─ b.py
│ ├─ c.py

2)import"파일명" 사용

-서로다른 파일 a.py/main.py
#a.py
def afunc():
print("excute a")
#main.py
import a
a.a_func()
하면 a파일을 불러와서 print("excute a")사용._
=> import "파일명" > "파일명"+"."+"함수명"

3)from 사용

#a.py
def a_func():
print("excute a")

case 1
#main.py
from a import a_func()
a_func()
< 2)과 다르게 앞에 a.이 사라짐.
=>from "파일명" import "함수명" > "함수명"
case 2
#main.py
from a import * < '*'은 모든 함수를 import
a_func()
=>form "파일명" import "*" > "함수명"

4)다른폴더 파일 import

#folder / b.py
def b_func():
print("excute b")

#folder / c.py
def c_func1():
print("excute c1")
def c_func2():
print("excute c2")

#main.py
from folder import b
form folder.c import *

b.b_func() >> excute b
c_func1() >> excute c1
c_func2() >> excute c2

=> from "폴더명" import "파일명" > "파일명"+"."+"함수명"
=> form "폴더명.파일명" import "함수명" > "함수명"

***결론: import에 함수명이 들어오면 바로 함수써주면 작동

5)변수 import

#folder/b.py
PIE = 3.14
HELLO = "world"
#main.py / case 1
from folder.b import * < 권장X / 존재하는 모든 변수 import
print(PIE) > 3.14
print(HELLO) > "world"
#main.py / case 2
from folder.b import PIE, HELLO < 사용 할 변수를 각각 import
print(PIE) > 3.14
print(HELLO) > "world"
#main.py / case 3
from folder import b < 권장O / b 파일 import
print(b.PIE) > 3.14
print(b.HELLO) > "world"

마.값 비교하기

  • 비교연산자 사용해 값비교하고, True, False 판단. 비교 결과는 조건문에서 사용됨
    1)일치 : == / "a"=="b" < false
    2)불일치 : !=
    3)대,소 비교 : >,<
    4)대,소 비교(같은 것 포함) : >=,<=
    5)특정 값 포함 여부 : in / 4 in [1,2,3] < false
    +)모든 비교연산자의 결과는 print()로 확인 가능

바.조건문

1)특정 비교결과 혹은 값이 True or False일 경우 실행될 로직 정의
2)and, or사용하여 2개이상 조건을 복합적으로 사용
3)비어있는 string, list등은 분기문에서 False로 판단
empty_string = ""
empty_list = []
if not empty_string:
print("string is empty!!") > 출력(비어 있으니까)
if not empty_list:
print("list is empty!!") > 출력(비어 있으니까)
if empty_string:
print("string is empty!!") > 출력안함 (false)
if empty_string:
print("string is empty!!") > 출력안함 (false)

4)특정 값이 True or False인지는 bool()함수 사용해 확인
print(bool("")) >>False : 빈 str
print(bool(0)) >>False : 숫자 o
print(bool([])) >>False : 빈 list

print(bool("sample")) >>True
print(bool([1, 2])) >>True
print(bool(1)) >>True
print(bool(-1)) >>True : 0이 아닌 숫자는 True로 판단

profile
I love pocachip.

0개의 댓글