[Python] jupyter notebook 기본 사용법 Python 문법

2023. 3. 31. 16:50Language/Python

셀만들기
   - 현재 셀 위에 셀 만들기 : 단축키 a
   - 현재 셀 아래에 셀 만들기 : 단축키 b

 

Phython 기본 문법

   - 출력 print()

      문자 / 문자열 : print("표기하기 원하는 내용")

                              표기하기 원하는 내용

      숫자 : print(1)

                1

      print (1 + 3)
      print (1 - 3)
      print (1 * 3)
      print (1 / 3)

4
-2
3
0.3333333333333333

   - if else

     if 4 in [1,2,3,4]: 
        print("4가있습니다.")
     else:
        print("4가없습니다.")

 

   print('hello python!')
   str_data = 'hello'
   int_data = 1
   float_data = 1.1
   bool_date = True
   print(str_data, int_data, float_data)
   if bool_date == True:
       print("True")

 

   - input() 함수

      name input("What is your name?")

      print('hi ', name)

What is your name?김태희
hi  김태희

   - type 지정과 어떤 type 인지 출력

      digit1 = int (input())
      digit2 = int (input())

      print(type (digit1 * digit2))

2
4
<class 'int'>

 

- 함수

article = """What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."""

 

print (article.count('is'))  - count() 함수 인자값에 들어가는 값이 몇번 나오는지 세어주는 함수
print (len(article))  - len() 함수 인자값에 들어가는 값의 문자열길이를 세어주는 함수
print (article.find('L'))  - find() 함수 인자값에 들어가는 값이 몇번째 위치에 처음으로 나오는지 세어주는 함수
print (article.replace("What", "How"))  - replace() 함수 첫번째 인자값에 들어가는 값을 두버째 인자값에 들어가는 값으로 변환 해주는 함수

 

strip() 특정문자열 지우기 

some_string = "   computer   "
print (some_string)
print (some_string.strip()) 인자값에 아무것도 넣지 않으면 공백을 지워주고

print (some_string.strip(',')) 인자값을 지워줌

 

- 인덱스

print (article[0])  - article[0] 인덱스 번호로 해당 위치 에있는 값을 찾아냄

 

- 슬라이싱

print (article[0])  - article[n:m] 인덱스 번호로 n인덱스 부터 m인덱스 까지 찾아냄

 

- format()

print ("I have a {}, I have an {}.".format("pen","apple"))

I have a pen, I have an apple.

{}에 인자 값 을 넣는다

 

print ("I have a {0}, I have an {1}.".format("pen","apple"))

I have a pen, I have an apple.

print ("I have a {1}, I have an {0}.".format("pen","apple"))

I have a apple, I have an pen.

위치지정 가능

 

interest = 0.897
print (format(interest, ".2f")) - 소수점 2째 자리까지 표시를 해라

0.90

반올림 되어 표시됨

 

- 문자열 출력 (참고)

%s - string

%c - character

%d - int

%f - float

print("I have a %s, I have an %s." % ("pen", "apple"))

 

- List

리스트 선언

 - 리스트 변수 = []

 - 리스트 변수 = list()

 

location = ['서울시', '경기도', '인천시']
print(location)

['서울시', '경기도', '인천시']

 

리스트 추가

location.append('부산시')

location.append('대전시')

['서울시', '경기도', '인천시', '부산시', '대전시']

 

특정 리스트 인덱스 삭제

location.remove("경기도")

['서울시', '인천시', '부산시', '대전시']

del location[0]

['인천시', '부산시', '대전시']

 

원하는 위치 인덱스에 삽입

location.insert(1, '경기도')

['인천시', '경기도', '부산시', '대전시']

 

리스트 정렬

numbers = [2,1,3,4]

numbers.sort() - 오른차순 정렬

print(numbers)

[1, 2, 3, 4]

numbers.reverse()
print(numbers) - 내림차순 정렬

[4, 3, 2, 1]

문자열 특수 함수와 리스트

python_is_easy = "python is easy"

python_is_easy.split() - 공백 기준으로 리스트 변환

['python', 'is', 'easy']

python_is_easy = "python_is_easy"

python_is_easy.split('_') - _기준으로 리스트 변환

['python', 'is', 'easy']

 

- 조건문

if 조건 :

             실행문1

             실행문2

 

and

if 조건1 and 조건2:

              실행문

 

or

if 조건1 or 조건2:

              실행문

 

not

if not 조건:

              실행문

 

age = input("나이는?")
age_digit = int(age)

if age_digit >= 19:
    print("당신은 성인입니다.")
if age_digit < 19:
    print("당신은 미성연자 입니다.")

나이는?15
당신은 미성연자 입니다.

 

and

age1 = input("철수의 나이는?")
age_digit1 = int(age1)

age2 = input("영희의 나이는?")
age_digit2 = int(age2)

if age_digit1 >= 19 and age_digit2 >= 19:
    print ("19금")
else:
    print ("미성연")

철수의 나이는?20
영희의 나이는?20
19금

 

or

age1 = input("철수의 나이는?")
age_digit1 = int(age1)

age2 = input("영희의 나이는?")
age_digit2 = int(age2)

if age_digit1 >= 19 or age_digit2 >= 19:
    print ("19금")

철수의 나이는?10
영희의 나이는?21
19금

 

not

age1 = input("철수의 나이는?")
age_digit1 = int(age1)

if not age_digit1 >= 19:
    print ("19금")
else:
    print ("미성연")

철수의 나이는?15
19금

 

cash = int(input("현금은?"))

if cash > 100000:
    print("레스토랑으로 간다")

현금은?1000000
레스토랑으로 간다

 

else

age = int(input("나이는?"))

if age >= 19:
    print ("당신은 성인입니다.")
else:
    print("당신은 청소년입니다.")

나이는?20
당신은 성인입니다.
나이는?15
당신은 청소년입니다.

 

elif

age = int(input("나이는?"))

if age >= 19:
    print ("당신은 성인입니다.")
elif age >= 13 and age < 19:
    print("당신은 청소년입니다.")
elif age < 13 and age >= 5:
    print("당신은 아동입니다.")
else:
    print("안녕")

나이는?20
당신은 성인입니다.
나이는?15
당신은 청소년입니다.
나이는?11
당신은 아동입니다.
나이는?1
안녕

 

조건문 안에 조건문

if 조건1:

              실행문1

else:

               if 조건2:

                             실행문2

               else:

                             실행문3

 

코드

cash = int(input("현금은?"))

if cash > 100000:
    print("레스토랑")
else:
    if cash >= 50000:
        print("밥집")
    else:
        print("집")

현금은?1000000
레스토랑
현금은?50000
밥집
현금은?1
집

 

- 기본 자료형

\t - 탭

\n - 다음줄

code = '000660\n00000102\t12312312'
print (code)
000660
00000102	12312312

 

- list 구조

data = str(input("주민번호는?"))

data_list = data.split("-")
last = data_list[1]
print (last[0])

 

split 사용하여 배열에 담긴 2번째 인덱스 추출후 data_list에 옴겨 담은후 last 변수에 data_list에 담긴 첫번제 인덱스 를

last 변수에 넣어줌

주민번호는?123456-1234567
1

 

- 반본문

 

for

for i in range(10):
    print(i)

0
1
2
3
4
5
6
7
8
9

for i in ["python","java","golang"]:
    print(i)

python
java
golang

for i in range(1,11): - 1부터 시작 
    print(i)

1
2
3
4
5
6
7
8
9
10

 

while

while 조건:
    실행문1
    
while name != "foo bar":
    name = input("What's your name? ")
    print("Hi, " + name + "So, where is foo bar?")

What's your name? s
Hi, s So, where is foo bar?
What's your name? sss
Hi, sss So, where is foo bar?
What's your name? foo bar
Hi, foo bar So, where is foo bar?

    

while 1: - 무한 루프 1은 참이기 때문에
    print("Hello world!")

 

i = 1
while i <= 3:
    print(i)
    i += 1

1
2
3

※Python 에는 증감 연산자가 존재하지 않는다 ++, --

 

- 함수

def function(parameter):

   실행문1

   실행문2

   ...

   return output

 

def func1 ():
    return print("!!!")

 

y = func1()

print(y)

!!!

 

- 데이터 구조

리스트, 튜플, 딕셔너리, 집합

 

Tuple

Tuple은 괄호를 이용해 선언할 수 있습니다

tuple1 = ( 1, 2, 3, 4 )

tuple 삭제나 추가가 불가능 합니다.

tuple 끼리 더하거나 반복하는 것은 가능합니다.

tuple2 = ( 5, 6 )

print( tuple1 + tuple2 )

(1, 2, 3, 4, 5, 6)

priint( tuple1 * 3)

(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)

tuple1[0]

1

튜플을 사용하여 변수값 바꾸기

x = 1

y = 2

x, y = y, x

print("x =", x , "y =", y)

x = 2 y = 1

tuple ←→ list

tuple 에서 list로 변환 방법

data1 = (1,2,3)

type(data1)

tuple

list(data1)

[1, 2, 3]

datq1_list = list(data1)

type(datq1_list)

list

data1_tuple = tuple(datq1_list)

type(data1_tuple)

tuple

 

딕셔너리 또는 사전

선언 변수명 = {} 또는 dict(), 초기값과 함께 선언, 변수명 = {key : value, key : value}

data_dict = {'한국' : 'KR', '일본' : 'JP'} - 키와 값으로 이루어져있다

읽기 변수명[키]

data_dict['한국']

'KR'

추가 변수명[새로운키] = 새로운값

data_dict['미국'] = 'USA'

data_dict

{'한국': 'KR', '일본': 'JP', '미국': 'USA'}

삭제 del 변수명[키]

del data_dict['미국']

data_dict

{'한국': 'KR', '일본': 'JP'}

수정 변수명[키] = '새로운값'

data_dict['일본'] = 'JR'

data_dict

{'한국': 'KR', '일본': 'JR'}

key만 출력하는 법

print(data_dict.keys())

dict_keys(['한국', '일본'])

value만 출력할때

print(data_dict.values())

dict_values(['KR', 'JR'])

key와 value를 함께 출력할때

print(data_dict.items())

dict_items([('한국', 'KR'), ('일본', 'JR')])

 

집합 또는 set

- 수학 집합 연산을 쉽게 하기 위해 만든 자료형

- 순서 없음

- 중복 없음

선언 + 입력: 변수명 = set(), 변수명 = {데이터1, 데이터2, ...}, 변수명 =  set(데이터1), 변수명 = set({데이터1, 데이터2, ...})

data_set = {'apple', 'dell', 'samsung', 'lg'}

type(data_set)

set

읽기 : 

for data in data_set:
    print(data)

lg
dell
samsung
apple

'motorola' in data_set

False

if 'apple' in data_set:
    print(data_set)

{'lg', 'dell', 'samsung', 'apple'}

data1 = {'apple', 'samsung', 'lg'}

data2 = {'samsung', 'lg', 'xaiomi'}

data1 & data2 #교집합

{'lg', 'samsung'}

data1 | data2 #합집합

{'apple', 'lg', 'samsung', 'xaiomi'}

data1 - data2 #차집합 

{'apple'}

data2 - data1 #차집합

{'xaiomi'}

data1 ^ data2 #대칭 차집합

{'apple', 'xaiomi'}

 

- 추가 :

number_list2 = {1, 2, 3}
number_list2.add(4)
number_list2

{1, 2, 3, 4}

- 추가(업데이트)

number_list2 = {1, 2, 3}
number_list2.add(4)
number_list2.update([5,6])
number_list2

{1, 2, 3, 4, 5, 6}

- 삭제

number_list2 = {1, 2, 3}
number_list2.add(4)
number_list2.update([5,6])
number_list2.remove(2)
number_list2

{1, 3, 4, 5, 6}
반응형