Python 기초

hohoi·2023년 1월 24일
0

변수 선언

a = 3        
print(a)
b = a        
print(b)
a = 5        
print(a, b)  # 5 3

자료형

숫자형

a = 3.85 #정수, 실수 모두 가능
  • 숫자 간에는 사칙연산 가능
a = 7
b = 2

a+b   # 9 
a-b   # 5
a*b   # 14
a/b   # 3.5
a//b  # 3 (몫)
a%b   # 1 (나머지)
a**b  # 49 (거듭제곱)

a+3*b # 13 (여러 연산을 한 줄에 할 경우 사칙연산의 순서를 따른다.)

  • 변수에 연산을 한 뒤 같은 변수에 저장 가능.
a = 5
a = a + 3 
print(a)  # 8

a += 1    # 줄여 쓸 수도 있다. 8에 1을 더해 9를 a에 저장. 사칙연산 다 가능하다.

JS과는 다르게 증감연산자 (i++, i--) 는 없다.

문자열

  • 글씨를 따음표로 감싸 문자열 자료형으로 정의할 수 있다. 작은따음표(' ')와 큰따음표(" ") 모두 사용 가능하나 짝이 맞아야 한다.

    문자열에 따음표가 포함될 경우, 다른 종류의 따음표를 써서 문자열을 정의해야 함.

word1 = "apple"
word2 = 'apple'

mac = "He's name"
sentence = 'she said, "Hi!"' 

  • 따음표로 감싸지 않으면 변수명으로 인식함.
a = 1
b = "a"
c = a
print(a, b, c) # 1 "a" 1

d = x          # x라는 변수가 정의되지 않았기 때문에 에러메시지가 나온다.
d = "x"

  • 문자열 간 더하기는 두 문자열을 이어붙인 문자열을 반환함.
first_name = "ho"
last_name = "hoie"

first_name + last_name # hohoie
first_name + " " + last_name # ho hohoie

a = "2"
b = "3"
a + b    # 23 

a + 5    # 파이썬에서는 문자열과 숫자형은 더할 수 없음
a * 5    # 22222 a*5는 a+a+a+a+a과 같으므로 "2"가 5번 반복되는 문자열이 반환된다.

문자열 변경(대문자, 소문자로 바꾸기)

myname = 'Hohoie'

myname.upper() # HOHOIE
myname = 'Apple'

myname.lower() # apple

문자열 분리

# 이메일 주소에서 도메인 'gmail'만 추출하기
myemail = 'hohoie@gmail.com'

result = myemail.split('@') # ['test','gmail.com'] (리스트형

result[0] # test 
result[1] # gmail.com 

result2 = result[1].split('.') # ['gmail','com']

result2[0] # gmail -> 찾는 것
result2[1] # com

# 한 줄로
myemail.split('@')[1].split('.')[0]

문자열 대체

text = '서울시-성북구-미아동'
result = text.replace('-', '>')  # '서울시>성북구>미아동'

리스트형

a_list = []
a_list.append(1)     
a_list.append([2,3]) 

# a_list의 값은? [1,[2,3]]
# a_list[0]의 값은? 1
# a_list[1]의 값은? [2,3]
# a_list[1][0]의 값은? 2

딕셔너리형

a_dict = {}
a_dict = {'name':'kim','age':23}
a_dict['height'] = 174 #딕셔너리 추가

# a_dict의 값은? {'name':'kim','age':23, 'height':174}
# a_dict['name']의 값은? 'bob'
# a_dict['age']의 값은? 23
# a_dict['height']의 값은? 174
people = [{'name':'bob','age':20},{'name':'carry','age':38}]

# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'

person = {'name':'john','age':7}
people.append(person)

# people의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
# people[2]['name']의 값은? 'john'

함수

f(x) = 2*x+3
y = f(2)
y의 값은? 7

# 자바스크립트
function f(x) {
	return 2*x+3
}

# 파이썬
def f(x):
	return 2*x+3

y = f(2)
y의 값은? 7
def sum_all(a,b,c):
	return a+b+c

def mul(a,b):
	return a*b

result = sum_all(1,2,3) + mul(10,10) 
print(result)  #106

조건문

def oddeven(num):  
	if num % 2 == 0:
		 return True   
	else:            
		 return False  

result = oddeven(20) #True
def is_adult(age):
	if age > 20:
		print('성인입니다')    
	else:
		print('청소년이에요')  

is_adult(30) # 성인입니다

반복문

fruits = ['사과','배','감','귤']

for i in fruits:
	print(i)

# 사과, 배, 감, 귤 

예제1) 과일 갯수 세어보기

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
	if fruit == '사과':
		count += 1

print(count) #2

불자료형

  • 참, 거짓을 나타냄. 첫 글자는 대문자여야 함.
x = True   # 참
y = False  # 거짓

# 소문자로 쓰면 자료형으로 인식하지 않고 변수명이라 생각해 에러.
z = true   # name 'true' is not defined

# 비교연산자
4 > 2      # True  
5 < 1      # False 
6 >= 5     # True  
4 <= 4     # True  
3 == 5     # False 
4 != 7     # True  

not 연산자

  • NOT 연산자로 참을 거짓으로, 거짓을 참으로 바꿔준다.
a = 4 > 2   # True
not a       # False    

and 연산자

  • AND 연산자로 모두 참이어야 참을 반환한다.
a = 4 > 3		# True
b = 5 < 1		# False
a and b     	# False   

or 연산자

  • OR 연산자로 둘 중 하나만 참이면 참이다.
a = 4 > 3		# True
b = 5 < 1		# False
a or b     		# True
profile
응애 개발러

0개의 댓글