파이썬 기초 정리

2023. 2. 17. 05:59파이썬

반응형
 

print()
- 어떤 값을 출력해주는 함수

idle에서 실습하면
====================
print('Hello world')
Hello world
print(1)
1
print([1,2,3])
[1, 2, 3]
print(1, 2, 3) 
1 2 3
print(123)
123
print('python')
python
====================
print(1,2,3)을 보면 ,가 띄어쓰기가 되는걸 볼 수 있다.



input()
- 사용자에게 입력을 받는것

idle에서 실습하면
=====================
input()
aaaaaaaa
'aaaaaaaa'

***test1.py실행*****
dd
fdjfkl

input('당신의 이름은?')
당신의 이름은?조동현
'조동현'
age = input('당신의 나이는?')
당신의 나이는?3살
print(age)
3살

======================
위와같이 입력을 받고 텍스트입력 후 엔터하면 출력이된다. 이 출력되는거는 idle내에서 기본적으로 출력다해줘서
그런거지 실제로 test1.py파일로 저장후 실행하면 출력을 하지 않는다.
input으로 사용자에게 입력을 받아 변수에 담을 수 있다.



variable(변수)
- 값을 할당해서 담는 것

idle에서 실습하면
=====================
avc_hi = 1
print(avc_hi)
1
python = 1
PYTHON = 2
print(python)
1
print(PYTHON)
2
변수=123
print(변수)
123
123
123
my variable = 123
SyntaxError: invalid syntax
123variable = 123
SyntaxError: invalid decimal literal

=====================

123이라는 값에 ma_variable이라는 이름을 붙여준거다.
변수명에 _사용 가능하고 대소문자 구분을한다.  한글 변수명도 가능하다
띄어쓰기나 숫자로 시작하는 변수는 에러난다.






Data type
Numeric
-정수, 실수형 자료형

type()
- 자료형을 알수있다.

idle에서 실습하면
=====================
my_int = 123
my_float = 1.23
type(my_int)
<class 'int'>
type(my_float)
<class 'float'>
=====================

String
- 문자열
- '나 "로 구분 '와 "를 섞어쓰면 안된다

idle에서 실습하면
=====================
'hello'
'hello'
"world"
'world'
"hello world'
SyntaxError: incomplete input
=====================

Boolean
- 참과 거짓(true/false)

idle에서 실습하면
=====================
print(1<2)
True
print(2==3)
False
=====================


int(), float(), str(), list()
-자료형을 변환

idle에서 실습하면
=====================
my_int = 1
type(my_int)
<class 'int'>
float(my_int)
1.0
type(my_int)
<class 'int'>
str(my_int)
'1'
int(my_int)
1
my_string = 'hellow'
list(my_string)
['h', 'e', 'l', 'l', 'o', 'w']
=====================




Comment
-주석
-코드에 대한 설명을 적을때 주로 사용
-# 뒤에 쓴다
idle에서 실습하면
=====================
print('Hello World') # 이건안나옴
Hello World
print(2+5) # +계산을한다
7
=====================

'''    '''
"""세개를 문자열 사이에 사용하면 줄바꿈도 적용이 된다.
'''도 가능
idle에서 실습하면
=====================
my_str = "조씨가족"
print(my_str)
조씨가족
type(my_str)
<class 'str'>
my_str = '작은따옴표'
type(my_str)
<class 'str'>
my_str = """여기서
한번더 엔터를 누르면
다음줄이 된다
"""
print(my_str)
여기서
한번더 엔터를 누르면
다음줄이 된다
=====================


Formatting
-%d (정수형 숫자 대입)
-%f (실수형 숫자 대입)
-%s (문자열 대입)

idle에서 실습하면
=====================
var = 'my name is %s' % 'donghyeon'
print(var)
my name is donghyeon
var2 = '%d %d' % (1,2)
print(var2)
1 2
var3 = '%f 파이' % 3.14
print(var3)
3.140000 파이
=====================






'{}'.format()

idle에서 실습하면
=====================
'my name is {}'.format('조동현')
'my name is 조동현'
'{} x {} = {}'.format(3,4,3*4)
'3 x 4 = 12'
'{1} x {0} = {2}'.format(3,4,3*4)
'4 x 3 = 12'
=====================
format()안에 순서대로 값이 들어가는데 0, 1, 2, ... 등 순서를 {}안에 넣어서 순서에 따른 값을 넣을수도 있다.



Indexing
-위치
['h', 'e', 'l', 'l', 'o']
 0   1   2   3  4
위와 같이 각 문자의 위치가 0 ,1, 2 .. 와같이 정해진다.
['h', 'e', 'l', 'l', 'o']
 -5  -4 -3 -2  -1 
-로 뒤에서부터 index를 나타낼 수 있다.           

idle에서 실습하면
=====================
var = 'hello'
list(var)
['h', 'e', 'l', 'l', 'o']
list(var)[0]
'h'
list(var)[3]
'l'
list(var)[-2]
'l'
list(var)[-4]
'e'

=====================



Slicing
- list를 일부 잘라서 가져온다
[ A : B ]
A index부터 시작해서 B index 전까지 뽑아온다
-list()를 이용하면 list로 변환됨
idle에서 실습하면
=====================
var = 'hello'
list(var)[1:4]
['e', 'l', 'l']
list(var)[0:3]
['h', 'e', 'l']
list(var)[:3]
['h', 'e', 'l']
list(var)[1:]
['e', 'l', 'l', 'o']
list(var)[:]
['h', 'e', 'l', 'l', 'o']

=====================



split()
-문자열을 공백단위로 잘라서 list로 만들어줌
-()안에 자르는 단위를 어떤걸 넣어서 할지 결정할 수 있다.

idle에서 실습하면
=====================
var= '안녕 안녕하세요 hi'
var.split()
['안녕', '안녕하세요', 'hi']
var.split('안')
['', '녕 ', '녕하세요 hi']
=====================



Docstring
- 함수 설명할때 쓰는 주석
- """ 와""" 사이에 변수명 없이 사용

idle에서 실습하면
=====================
# 이건주석
"""이건 Docstring 주석 """
=====================



print('' , end='')
- end로 출려되는 문자열의 끝에 붙여줄수 있다.

idle에서 실습하면
=====================
print('hello' , end='w')
hellow
print('마침표가 없습니다' , end='. 내가 붙임')
마침표가 없습니다. 내가 붙임
=====================


\n 과 \t
- \n은 엔터
- \t는 tab

idle에서 실습하면
=====================
print('어느새 \n 부터 힙합은 \t 안멋져')
어느새 
 부터 힙합은   안멋져
=====================


List
- 수많은 값을 담을 수 있다
- 순서가 있다
- 값을 변경할 수 있다(mutable)
[val1, val2, val3 ,.....]

idle에서 실습하면
=====================
myList = [ 2, 3, 4, 1, 3]
print(myList)
[2, 3, 4, 1, 3]
=====================


append()
-list에 사용할 수 있는 함수
-list끝에 값을 추가함
-insert나 pop도 공부하셈

idle에서 실습하면
=====================
myList = [ 2, 3, 4, 1, 3]
print(myList)
[2, 3, 4, 1, 3]
myList.append('추가됨')
print(myList)
[2, 3, 4, 1, 3, '추가됨']
myList.append('추가됨2')
print(myList)
[2, 3, 4, 1, 3, '추가됨', '추가됨2']
=====================


del
-list에 있는 값을 삭제

idle에서 실습하면
=====================
print(myList)
[2, 3, 4, 1, 3, '추가됨', '추가됨2']

del myList[6]
print(myList)
[2, 3, 4, 1, 3, '추가됨']
=====================


list.sort()
-오름차순으로 정렬해준다
idle에서 실습하면
=====================
myList = [5 , 4, 3, 2, 9 ]
myList.sort()
print(myList)
[2, 3, 4, 5, 9]

=====================



count
-list에 몇개있는지 알 수 있다.
idle에서 실습하면
=====================
myList= [1, 1, 2, 2, 2]

myList.count(1)
2
myList.count(2)
3
=====================


len
-list 값의 개수를 알 수 있다.
idle에서 실습하면
=====================
myList= [1, 1, 2, 2, 2]
len(myList)
5
=====================


Tuple
-list와 비슷한데 값을 변경할 수 없다
-list는 mutable, Tuple은 immutable
-[]를 안써도 된다

idle에서 실습하면
=====================
myTuple = ()
type(myTuple)
<class 'tuple'>

myTuple = 4, 5, 6
print(myTuple)
(4, 5, 6)

type(myTuple)
<class 'tuple'>
=====================


packing 과 unpacking
- packing 된 tuple을 = 왼쪽에 unpacking 한다

idle에서 실습하면
=====================
myTuple = 1,2,3
num1 , num2, num3 = myTuple
num1
1
num2
2
num3
3

num1, num2 = num3, num3
num1
3
num2
3
num3
3
=====================





for 

for 변수 in 컨테이너 :
    띄어쓰기4개하고 명령1
    띄어쓰기4개하고 명령2

명령1과 명령2는 코드블록으로 :와 띄어쓰기 4개를 통해서 인식한다.
띄어쓰기 4칸 말고도 2칸도 가능하고 tab도 가능한데 4칸했으면 4칸
2칸 했으면 2칸 똑같이 해야한다. 

idle에서 실습하면
=====================
listdat = [1, 2, 4, 5, 6, 7]
for k in listdat :
    print(k)

    
1
2
4
5
6
7
=====================




range()
range안에 숫자를 하나만 넣으면 0부터 그 숫자까지  0, 1, 2, 3, 4 ... 그숫자
rnage안에 두개의 숫자를 넣으면 range(a , b) 
a부터 b 전까지의 숫자를 나타낸다
 
idle에서 실습하면
=====================
for k in range(4) :
    print(k)

    
0
1
2
3
for k in range(2,4) :
    print(k)

    
2
3

=====================





Comprehension

idle에서 실습하면
=====================
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
odd_numbers = []

for k in numbers :
    if k%2 == 1 :
        odd_numbers.append(k)

print(odd_numbers)
[1, 3, 5, 7, 9]

#위에 코드를 Comprehension을 이용하면 짧게 구현할 수 있다.

[number for number in numbers if number % 2 ==1]
[1, 3, 5, 7, 9]

=====================



Operator 
연산자

할당 연산자
=        

복합 할당 연산자
+=         
-=
*=
/=


idle에서 실습하면
=====================
count = 1
count
1
count += 1
count
2
count -= 1
count
1
count *= 3
count
3
count /= 3
count
1.0
=====================




Arithmetic

**  >>> 제곱

//  >>> 몫
 
%  >>> 나머지


%는 홀짝을 구분할때도 많이 사용된다

idle에서 실습하면
=====================
numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9]


for number in numbers:
    if number % 2 == 0 :
        print('짝수')
    else:
        print('홀수')

        
홀수
짝수
홀수
짝수
홀수
짝수
홀수
짝수
홀수
=====================


문자열에서도 +, * 연산 가능

idle에서 실습하면
=====================
'문자열' + ' 도 더하기가 가능하다'
'문자열 도 더하기가 가능하다'
'문자열 곱하기 ^^  ' *3
'문자열 곱하기 ^^  문자열 곱하기 ^^  문자열 곱하기 ^^  '

=====================


비교연산자
==  >>> 왼쪽과 오른쪽 같은지
!=   >>> 왼쪽과 오른쪽이 다른지
>    >>> 왼쪽이 오른쪽 보다 큰지
<    >>> 왼쪽이 오른쪽 보다 작은지
>=    >>> 왼쪽이 오른쪽 보다 큰거나 같은지
<=    >>> 왼쪽이 오른쪽 보다 작거나 같으지


idle에서 실습하면
=====================
1 == 3
False
1 == 1
True
1 != 3
True
1 != 1
False
1  > 3
False
3  > 1
True
1 >=3
False
1  >= 1
True
1 <= 3
True
1 <= 0
False
=====================



논리연산자
and   >>>  둘다 참이면 참 하나라도 거짓이면 거짓
or     >>>  둘중 하나라도 참이면 참 둘다 거짓이면 거짓
not    >>> 참이면 거짓 거짓이면 참


idle에서 실습하면
=====================
True and True
True
True and False
False
True or False
True
False or False
False
not True
False
not False
True
=====================



in   ,    not in

idle에서 실습하면
=====================
list = [1 , 3, 4, 6, 2, 4]

1 in list
True
9 in list
False
0 not in list
True
=====================


if 문
if 조건:
    명령1
    명령2
elif:
    명령3
    명령4
else:
    명령5
    명령6
-조건이 참이면 명령을 실행

idle에서 실습하면
=====================
if 1 == 1:
    print(1)
elif 2 == 2:
    print(2)
else:
    print(3)

1


if 1 == 2:
    print(1)
elif 2 == 2:
    print(2)
else:
    print(3)
  
2

if 1 == 2:
    print(1)
elif 2 == 3:
    print(2)
else:
    print(3)
  
3    
=====================


while문
while 조건:
    명령1
    명령2
조건이 만족하면 계속 반복적으로 명령을 수행

idle에서 실습하면
=====================
while number < 7:
    print(number)
    number+=1

    
1
2
3
4
5
6
=====================


continue,    break
-continue를 만나면 밑에를 실행하지 않고 위로 올라간다
-break를 만나면 loop를 끝낸다

idle에서 실습하면
=====================    
number = 1

while number < 7:
    number+=1
    if number < 4:
        continue
    print(number)
    if number == 5:
        break

    
4
5

=====================


Dictionary
{key1: val1, key2: val2 ... }
- key, value가 한쌍이 되어 {}안에 값들을 넣는다.
-del을 이용해 Dictionary에서 삭제할 수 있다.
-dictionary이름.values() 메소드를 사용하면 value들만 뽑아온다
-dictionary이름.items() 메소드를 사용하면 key와 value를 뽑아온다

idle에서 실습하면
===================== 
my_dict = { 0 : 'ok', '강아지' : '귀엽다' }
print(my_dict[0])
ok
del(my_dict[0])
my_dict
{'강아지': '귀엽다'}


for val in my_dictionary.values():
    print(val)

    
ok
귀엽다
둘리


my_dictionary = { 0 : 'ok', '강아지' : '귀엽다', '호잇' : '둘리' }
for key , val in my_dictionary.items() :
    print(key, val)

    
0 ok
강아지 귀엽다
호잇 둘리

=====================


Function
-내장함수 : print() 같이 파이썬에서 기본적으로 제공하는 함수  
-모듈의함수 : import를 해서 가져다가 쓸 수 있는 함수
-사용자 정의함수 : 함수를 직접 만들어서 사용하는 함수

def 함수이름(인자1, 인자2, ...):
    명령1
    명령2

    return 결과

 idle에서 실습하면
===================== 

def thisIsFunction(parameter):
    return parameter + ' good'


print(thisIsFunction('sounds'))
sounds good
=====================

결과를 여러개 return 할수도 있다.

def 함수이름(인자1, 인자2, ...):
    명령1
    명령2

    return 결과1, 결과2

 idle에서 실습하면
===================== 
def thisIsFunction2(num1, num2):
    return num1+num2, num1-num2, num1*num2

thisIsFunction2(3,2)
(5, 1, 6)
var1, var2, var3 = thisIsFunction2(3,2)
var1
5
var2
1
var3
6
=====================


모듈
-비슷한 함수를 모아둔 파일
-random 모듈로 실습(choice, sample, randint)
-choice는 랜덤으로 하나 뽑아주는거
-sample은 랜덤으로 몇개 뽑을지 정할수있음
-randint는 범위의 숫자에서 하나 뽑아줌

 idle에서 실습하면
===================== 
import random
aminals = ['cat', 'dog', 'rabit']
print(random.choice(aminals))
cat
print(random.choice(aminals))
rabit
print(random.choice(aminals))
dog
print(random.choice(aminals))
rabit
print(random.choice(aminals))
cat
print(random.choice(aminals))
dog
print(random.choice(aminals))
dog


print(random.sample(aminals, 3))
['dog', 'rabit', 'cat']
print(random.sample(aminals, 2))
['dog', 'cat']
print(random.sample(aminals, 2))
['cat', 'dog']
print(random.sample(aminals, 2))
['dog', 'rabit']
print(random.sample(aminals, 2))
['cat', 'dog']
print(random.sample(aminals, 1))
['dog']


print(random.randint(1,5))
1
print(random.randint(1,5))
2
print(random.randint(1,5))
5
print(random.randint(1,5))
5
print(random.randint(1,5))
4
print(random.randint(1,5))
3
=====================


Object
-함수와 데이터를 모아서 만든거

ex)
김연아라는 객체가 있다면
성별 = 'female'
나이 = '33'

def 트리플악셀():
    return '3바퀴 돈다'



반응형