haju__log

파이썬 코딩 무료 강의 (8시간) 기초 정리 -1 본문

Python

파이썬 코딩 무료 강의 (8시간) 기초 정리 -1

haju 2023. 9. 3. 19:30
반응형

https://www.youtube.com/watch?v=H3u2HtYGITQ 

 

## 자료형

 

# 숫자형

print(1)
print(type(1)) 
# -> type : 자료형의 종류를 알 수 있음

# 변수 혹은 어떤 두 수를 x,y라 할 때

x*y -> 곱하기
x/y -> 나누기
x//y -> 나눈 후 정수 부분의 값
x%y -> 나눈 나머지의 값
x ** y -> x의 y 거듭제곱
-x -> 음수 x
abs(x) -> 절대값 x
x == y -> x와 y의 값이 같으면 참, 다르면 거짓
x != y -> x와 y의 값이 다르면 참, 같으면 거짓
x > y -> x가 y보다 클 때 참, 아니면 거짓
x < y -> x가 y보다 작을 때 참, 아니면 거짓

 

 

# 문자형

# 참 / 거짓형

 

 

# 연산자 

 

 

# 변수 

 

 

name = "Brian"
#변수명 : name
#변수명이 가르키는 값 : Brian
  1. 변수명 설정 시 알파벳, 숫자, 밑줄만 가능하다.
  2. 변수명 맨 앞 첫글자는 알파벳과 밑줄만 가능하다.
  3. 파이썬에 이미 내장된 함수들(기능)을 변수명으로 설정 불가능하다.
  4. ㄴ for, while, break, pass, continue, elif, import, from, as, ,try, excpet
var = 92 #가능
_var = 92 #가능
3_1homwork = 92  #불가능
var2.1 = 92 #변수에 . 불가능

변경가능한 객체 = Mutable: 리스트, 딕셔너리(사전), 집합(세트), 배열(array, numpy)

변경불가능한 객체 = Immutable: 숫자, 문자열, 튜플

#리스트 : 변경가능 예제

x=[1,2,3]
print(x)
x[0]=-4
print(x)

 

#튜플 : 변경 불가능한 예제
x = (1,2,3)
x[0]=-4

변경불가능하기 때문에 에러메세지가 뜬다.

#증분 대입문

x=5
x=x+1
x+=1 #위와 같은 표현

x+=n -> x=x+n
x//=n -> x=x//n

 

#문자열 

  • 문자 자료형은 변경 불가능한 객체이다. 
print(type("hello"))
print(isinstance("83",str))
print(isinstance(83,str))

 

 

sentence= "The cat is in the hat."
print(sentence[0])
#sentence라는 변수명을 가진 문자열의 첫 번째 인덱스(파이썬에서는 0번째 인덱스) 값을 호출

# 문자자료형은 시퀀스 자료형이다. (시퀀스가 더 큰 개념)

# 시퀀스 자료형은 문자 자료형 외에 리스트, 튜플 자료형 등이 있다. 

 

#enter

\n

#tab

\t

 

print("hello,,,,\n,,,\t,,bye")

 

#파이썬 문자열 형식 지정, 형식화 구문

# https://pyformat.info/

 

PyFormat: Using % and .format() for great good!

Python has had awesome string formatters for many years but the documentation on them is far too theoretic and technical. With this site we try to show you the most common use-cases covered by the old and new style string formatting API with practical exam

pyformat.info

 

# format를 사용해 자리 표시자를 값으로 대체 

print("{name} is {age} years old".format(name="Bruce", age="80"))

# 8자 이상이 되도록 선행 공백으로 문자열을 채우기 

print("{item:>8}".format(item="banna"))

# f-문자열

#파이썬 v3.6 이상 가능함
#f-문자열
#.format()을 사용하지 않아도 된다는 장점
batman = 12
catwoman =10
print(f"Batman has {batman} apples. Catwoman has {catwoman} aplles. Together they have {batman+catwoman} apples.")

# List (목록 자료형)

# 대괄호를 사용하여 리스트를 생성할 수 있다. 

list_ex = [3, 3.5, None, True, 'hello']
print(list_ex)
print(type(list_ex))

list_empty=[]
print(list_empty)

 

리스트 안에 파이썬 표현식, 방정식 등 여러가지를 넣을 수 있다.

  • 2<3 의 수식의 값인 True
  • hello의 .capitalize()함수를 사용하면 첫글자가 대문자로 바뀌어서 결과값이 나오고
  • 제곱의 값도 나오며, 리스트 안에 리스트도 가능하다는 것을 알 수 있다. 
x="hello"
list_ex2 = [2<3, x.capitalize(), 5**2, [1,2]]
print(list_ex2)

# 리스트는 시퀀스 (순서를 가지고 있는 자료형)이기 때문에 a와 b는동일하지 않다. 

a=[1,"apple",True]
b=[1, True, "apple"]
print(a==b)

 

 

# 인덱싱, 슬라이싱

x=[2,4,6,8,10]
print(len(x)) #리스트의 크기를 반환 #5가 출력됨

print(x[0]) #2가 출력됨
print(x[1]) #인덱싱

print(x[1:3]) #[4,6] 출력 #슬라이싱

 

# 리스트는 변경 가능한 객체의 예시

== 리스트는 업데이트가 가능하다.

x=[2,4,6,8,10]
y=[2,4,6,8,10]

x[1]="apple"
print(x)

 

# append, extend

  • append는 자료형에 상관없이 값을 뒤에 추가함
  • extend iterable 자료형만 가능하다. True 문자열을 추가하면 'True'로 저장하는 것이 아닌 각각의 문자를 하나씩 저장해주어 'T','r','u','e' 가 추가되는 것임
x=[2,4,6,8,10]
x.append("string")
print(x)

x.extend("True")
print(x)

 

# pop : 해당 값 반환 O

# remove  : 해당 값 반환 X

x=[2,4,6,8,10]
print(x.pop(1)) #1번째 값을 반환하면서 삭제
print(x)

y=['a','b','c','d']
print(y.remove('c')) #remove는 반환하지 않음 'c'값을 삭제 
print(y)

 

# 시퀀스의 유형과 기능 

  • 순서가 정해진 유한한 갯수들의 객체를 저장할 수 있는 데이터 타입이다. 

# 시퀀스의 예시

#list
x=['a','b','c','d']
#문자열
"hello my name is peter"
#tuple
('a',False,0,1)
#Numpy Array
x = numpy.ndarray(0.2,0.4)

# 시퀀스 유형끼리는 공통된 인터페이스, 내부 기능을 공유한다. !!

 

# 튜플은 하나의 값만 가질경우는 자동으로 불가능하다. (y 예시 참고 - int 값인 것을 볼 수 있음 !)

# 만들고 싶은 경우에는 ,를 넣어줘야한다. (후행쉼표)

# 튜플(tuple)
x=(1,"a",2)
print(type(x))

y=(3)
print(y)
print(type(y))

z=(3,)
print(z)
print(type(z))

# 리스트와 튜플의 차이점 ( list vs tuple)

  • 리스트 : 변경 가능한 자료형
  • 튜플 : 변경 불가능한 자료형
x=[1,"developer",None]
y=(1,"developer",None)
print(x)
print(y)

#인덱싱 슬라이싱 가능함
print(x[0])
print(y[0])

print(x[0:1])
print(y[0:1])

x[0]=True
print(x)
y[0]=True #실행불가 에러가 남
print(y)

 

# 튜플 자료형으로 변환

x=[2,4,8]
y="apple"
print(tuple(x))
print(tuple(y))

 

# 객체가 시퀀스 내에 포함되어 있는 값인지 확인하는 방법 

obj in seq
x=(1,3,5,'a')
y=[1,3,5,'a']
z='apple'

print('a' in x)
print('a' in y)
print('a' in z)

 

# 시퀀스를 합치는 방법 : + 이용

seq1 + seq2
x=(1,3,5,'a')
y=(2,4,6)
z=x+y
print(z)

 

#시퀀스 인덱싱

x="abcdefg"
print(x[0])

 

#시퀀스 슬라이싱

x="abcdefg"
print(x[0:3])
# x에서 [0,1,2]가 출력된다. 
# 앞 : 뒤 // 앞 숫자부터 시작해서 뒤 숫자 전까지 출력한다는 뜻

# 슬라이싱 명령어 

# 파이썬이 기본적으로 제공하는 슬라이싱
seq[start:stop:step]

#ex>
seq="abcdefg"

print(seq[slice(0,3,1)]) #이렇게도 사용할 수 있지만 아래를 더 많이씀
print(seq[0:3:1])

 

# 시작 인덱스, 끝 인덱스, 단계적 크기(step)

x="abcdefg"
print(x[0:4:1]) #start: 0, stop:4, step:1
print(x[1:4:1]) #step을 정하면 건너뛰는 범위를 설정함
print(x[0:5:1])
print(x[0:5:2])
print(x[0:0:1]) #빈 시퀀스 생성
print(x[:]) #처음부터 끝까지의 값 출력
print(x[::2]) #처음부터 끝까지 범위 중 2step씩 건너서 출력
print(x[::-1]) #역순으로 출력
print(x[-2::]) #리스트를 거꾸로 번호를 주게 되면 -1부터 시작한다.
#따라서 -1은 g, -2는 f이기 때문에 f부터 끝까지 출력하게 되므로 fg가 나옴

반응형

'Python' 카테고리의 다른 글

파이썬 코딩 무료 강의 (8시간) 기초 정리 -2  (0) 2023.09.04
큰따옴표 작은따옴표 출력  (0) 2022.05.28