#전역변수와 지역변수

x=10 #전역변수

def foo():

    print(x)

foo()

print(x)



def foo1():

    y=10

    print(y)

foo1()

print(y)

 

 

foo1()에서 y는 지역변수. 함수 안에서 출력할 수 있지만 바깥에선 출력하지 못함

 

 


def spam():
    eggs=99
    bacon()
    print(eggs)

def bacon():
    ham=101
    eggs=0


spam()

 

 


 

에러처리 try/Exception

#에러처리 try/Exception
def div10(num):
    try:
        return 10/num
    except:
        print("에러발생")
print(div10(2))
print(div10(0)) #에러발생
print(div10(5))

 

 

'Learning > Python' 카테고리의 다른 글

파이썬 함수  (0) 2020.08.25
for 반복문  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24

dir

#내장 함수

#dir: 객체가 가진 변수나 메소드를 보여줌

    print(dir('1'))

 

 


 

 

len()

#len(): 입력값의 길이를 돌려주는 함수

print(len([1,2,3]))

print(len(["1234"]))

 


 

 

max()

#max(): 인수로 반복 가능한 자료형을 입력받아 그 최댓값을 돌려주는 함수

print(max([1,2,3]))

print(max("python"))

 


 

 

sum()

#sum(): 합계

A=[70, 60, 50]

print(sum(A))

 

 

 


함수 작성

#함수 작성
def hello():
	print('하이!')
	print('안녕!')
	print('니 하오!')
hello()
hello()
hello()

 

 

 

 


매개변수가 있는 함수 작성

#매개변수가 있는 함수 작성
def hello(name):
	print('하이 '+name)
hello('길동')
hello('펭수')

 

 

 


 

매개변수와 리턴값이 있는 함수 작성

#매개변수와 리턴값이 있는 함수 작성
#print(len("문자열길이"))


def hello(name):
	print('하이 '+name)
	return len(name)
    
print(hello("길동"))
print(hello("안녕하세요"))

 

 


#예제 1

x=int(input("숫자입력:"))

def is_odd(x):

    if(x%2==0):

        return "짝수"

    else:

        return "홀수"

print(is_odd(x))

 


#예제 2

def avgNums(*num):

    return sum(num)/len(num)

print(avgNums(1,2,3))

print(avgNums(1,2,3,4,5,6,7,8,9,10))

 

'Learning > Python' 카테고리의 다른 글

전역변수 지역변수, 에러처리  (0) 2020.08.25
for 반복문  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24

 

#for 반복문

for num in [1,2,3]:

    print(num)

 

 

 


for ch in '홍길동':

    print(ch)

 

 

 


animals=["개", "고양이", "스컹크", "아나콘다", "코끼리", "하이에나"]

for animal in animals:

    print(animal)

 

 


# range()
# (숫자) 0~숫자-1까지
for n in range(3):
	print(n)

 

 

 


 

#구구단 2단 출력
for i in range(1,10):
    print("{}X{}={}".format(2,i,2*i))

 

 

 


 

 

#구구단 2단~9단 출력
for i in range(2,10):
    for j in range(1,10):
        print('{}X{}={}'.format(i,j,i*j), end=" ")
    print(end='\n')

 

 

 

 


 

연습문제

#연습문제 1
a="Life is too short, you need python"
if "wife" in a:
    print("wife")
elif "python" in a and "you" not in a:
    print("python")
elif "shirt" not in a:
    print("shirt")
elif "need" in a:
    print("need")
else:
    print("none")

 

 


 

#2
i=1
isum=0
while(i<1001):
    i+=1
    if(i%3==0):
        isum+=i
print(isum)

 

 


#3
i=0
while(i<5):
    i+=1
    for j in range(i):
       print("*", end=" ")
    print()

 

 

 


#4
A=[70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
sumi=0
for i in A:
    sumi+=i
print("학급평균:",(sumi/len(A)))

 

 

 


컴프리헨션

#컴프리헨션
list_num=[1,2,3,4,5,6,7,8,9,10]
홀수=[]
for num in list_num:
    if num%2==1:
        홀수.append(num)
print (홀수)

'Learning > Python' 카테고리의 다른 글

전역변수 지역변수, 에러처리  (0) 2020.08.25
파이썬 함수  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24

if문

#if문
name='Alice'
if name=='Alice':
    print('반가워요, Alice.')
    print('종료')

 


 

if else문

#if else문
name='Bob'
if name=='Alice':
    print('당신이 Alice군요')
else:
    print('누구신가요?')

 

 

 


if else문

#if else문
name='Alice'
if name=='Alice':
    print('당신이 Alice군요')
    print('당신이 Alice군요')
    print('당신이 Alice군요')
    print('당신이 Alice군요')
    print('당신이 Alice군요')
else:
    print('누구신가요?')

 

 


 

if elif문

#if elif문
name='Bob'
if name=='Alice':
    print('당신이 Alice군요')
elif name=='Bob':
    print('당신이 Bob이군요')
else:
    print('누구신가요?')

 

 

만약 elif 문에 Bob이 아니라 bob이었다면 '누구신가요?' 가 출력된다. 대소문자 구분.

 

 


 

#예제
name2=input("이름: ")
if name2:
  print("당신의 이름은 {name2} 입니다.")
else:
  print("이름을 입력하지 않았군요!")

 

 

 

 

 


 

 

while 반복문

#while 반복문
count=0
while count<3:
    print('횟수: ',count)
    count+=1

 

 


treeHit=0
while treeHit<10:
    treeHit+=1
    print(f"나무를 {treeHit}번 찍습니다")
    if treeHit==10:
        print("나무가 넘어갑니다.")

 

 

 

 

 


 

coffee=10
while True:
money=int(input("돈을 넣어 주세요: "))
    if money==300:
        print("커피를 줍니다.")
        coffee=coffee-1
    elif money>300:
        print("거스름돈 %d를 주고 커피를 줍니다." %(money -300))
        coffee=coffee-1
    else:
        print("돈을 다시 돌려주고 커피를 주지 않습니다.")
        print("남은 커피의 양은 %d개 입니다." %coffee)
    if coffee==0:
        print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
        break

 

'Learning > Python' 카테고리의 다른 글

파이썬 함수  (0) 2020.08.25
for 반복문  (0) 2020.08.25
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24
변수, 문자열str, 이스케이프 시퀀스  (0) 2020.08.24

bool(참, 거짓 형)

#bool(참, 거짓 형)
bool1=True
bool2=False
bool3=1<2
bool4=1==2
print(bool1,bool2,bool3,bool4)

 


x,y=1,2
print(x>y)
print(x==y)
print(x!=y)

 


불린타입 변환 bool()

#불린타입 변환 bool()
print(bool(1))
print(bool(0))
print(bool('True'))
print(bool('안녕'))

 


논리연산자

#논리연산자
#and: 둘다 true 일때
#or: 둘 중 하나가 true일때
#not: true면 false, false면 True
print(True and True)
print(True and False)
print(False and True)
print(False and False)
print("-------")


#or
print(True or True)
print(True or False)
print(False or True)
print(False or False)
print("-------")


#not
print(not True)
print(not False)
print("-------")

 

문자열 f-string 포맷

#f-string 문자열 포맷
name="홍길동"
age=20
print(f'안녕하세요 {name}님 나이가 {age} 이군요')

 

 


 

print("나는 도시락 %d개를 %s 먹었다." %(7,'배터지게'))

 

 

 


문자열.format() 함수 방법

#문자열.format() 함수 방법
number=20
welcome="환영합니다"
base='{}번 손님{}'
print('{}번 손님 {}'.format(number, welcome))

 

 


 

#예제 1
name="홍길동"
color="보라색"
print('안녕하세요. 제 이름은 {}이고 좋아하는 색상은 {}입니다.'.format(name, color))
print(f'안녕하세요. 제 이름은 {name}이고 좋아하는 색상은 {color}입니다.')

 

 

 


 

문자열 인덱스

#문자열 인덱스
string1='01234567'
print(string1[7])

 


문자열 슬라이싱

#문자열 슬라이싱 [시작:끝-1]
string1='01234567'

print(string1[1:5]) #[1부터 5-1까지 출력]
print(string1[0:3])
print(string1[:3]) #[0부터 3-1까지 출력]
print(string1[3:]) #[3부터 끝까지 출력]
print("-------")

#[시작:끝:증감]
print(string1[::2]) #[처음부터 끝까지 2씩 증감]
print(string1[::-1]) #[끝부터 처음까지 거꾸로]
print(string1[::-2]) #[끝부터 처음까지 거꾸로]
print("-------")


string2='god'
print(string2[::-1])

 

 


 

#예제
rainbow=["빨", "주", "노", "초", "파", "남", "보"]
red_colors=rainbow[:3]
print("red_colors의 값: {}".format(red_colors))


blue_colors=rainbow[4:]
print("blue_colors의 값: {}".format(blue_colors))

 


#문자열의 변경불가 (Immuntability)
string1='123'
string1[0]='9'
print(string1[0])

'Learning > Python' 카테고리의 다른 글

for 반복문  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
변수, 문자열str, 이스케이프 시퀀스  (0) 2020.08.24
파이썬 실행, 데이터 타입, 숫자 연산자  (0) 2020.08.24

식별자 규칙

 

대소문자 구분

문자 또는 언더바로 시작

맨 처음을 제외하고 숫자 포함 가능

특수문자 사용불가

한글을 변수명으로 사용 가능

띄어쓰기 불가

숫자만 사용 불가

파이썬 명령어를 변수명으로 사용 불가

 

 


 

변수

#변수

iq=190 #메모리에 숫자 190은 바이너리(2진수)로 저장됨

print(iq)



#여러개의 변수를 초기화

a,b,c=1,2,3

print(a)

print(b)

print(c)

print("-------")



#예제1

놀이기구="자이로드롭"

print(놀이기구)

나이21살=1,2,3,4

print(나이21살)

이름="박써니"

print(이름)

_myName="홍길동"

print(_myName)

print("-------")



#예제2

x=10

print(x)

print("-------")



#예제3

x,y,z=1,2,3

print(x)

print(y)

print(z)

print("-------")



#예제4

x,y,z=1,1.1,"str"

print(type(x))

print(type(y))

print(type(z))

print("-------")



 


 

 

문자형 데이터 str

#문자형 데이터 str
#쌍따옴표, 한따옴표
print(type('문자열'))
var1='한따옴표'
var2="쌍따옴표"
print("문자열은 "+var1+var2)
print("문자열은 ",var1,var2)

 


 

따옴표 3개

#따옴표 3개씩 쓸때 ''' """
var3='''
따옴표 3개는
문장 모두를
처리하는 문자열
-----
'''
print(var3)

 

 


 

문자열 (+)연산

#문자열 (+)연산
성='홍'
이름="길동"
Name=성+' '+이름
print(Name)

 

 


 

타입 변환 str(), int(), float()

#타입 변환 str(), int(), float()
num=input("숫자하나 입력: ")
print(num+10) #입력받을때 문자로 인식

 

 

 

#타입 변환 str(), int(), float()
num=input("숫자하나 입력: ")
print(int(num)+10)

 

 

 


 

이스케이프 시퀀스

#이스케이프 시퀀스
날씨 = "It\'s \"kind of\" sunny"
print(날씨)

 

 

 


#예제
날씨2="\tIt's \"kind of\" sunny \n Have a nice Day!"
print(날씨2)


#예제2
string1='''
다스베이더가 말했다.
"내가 니 애비다!"
그 말을 들은 루크는 \'깜짝\' 놀랐다.
'''
print(string1)

'Learning > Python' 카테고리의 다른 글

for 반복문  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24
파이썬 실행, 데이터 타입, 숫자 연산자  (0) 2020.08.24

https://www.python.org/

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

 

파이썬 설치 후 터미널, 코드 에디터 (비주얼 스튜디오 코드, 서브라임), IDE 통합개발환경(파이참, 스파이더), 쥬피터 노트북(데이터 분석용)를 이용하여 사용

 

+

온라인에서 프로그램 설치없이 어디서든지 작업할 수 있는 클라우드 개발환경을 사용해본다.

https://repl.it/

 

The collaborative browser based IDE

Repl.it is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages: Clojure, Haskell, Kotlin, QBasic, Forth, LOLCODE, BrainF, Emoticon, Bloop, Unlambda, JavaScript, CoffeeScript,

repl.it

 

 

 

 

출력

print('헬로우 월드!')

 

입력

input ("이름 입력:")

 

(자바스크립트 처럼 변수 앞에 var 안써도 됨)

 

 

예제) 이름을 입력받아 출력하기

name=input("당신의 이름은?:")

print("안녕하세요 "+name+"님")

 


 

 


파이썬 표준 라이브러리 참고

https://docs.python.org/ko/3/library/index.html

 

파이썬 표준 라이브러리 — Python 3.8.5 문서

파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합�

docs.python.org

 

 

repl.it 의 단축키

한줄 복사 붙여넣기: Ctrl+c, Ctrl+v 또는 Shift+Alt+화살표 위아래 단축키

한줄 삭제: Shift+Del

여러줄 한꺼번에 편집: Ctrl+Alt+화살표 단축키

실행: Ctrl+Enter

코드한줄 이동: Alt+화살표 위아래 단축키

 

 

기본 데이터 타입

#기본 데이터 타입

int #정수

float #실수

bool #불린(참,거짓)

str #문자

list #

tuple #

set #

dict #



#none: null과 비슷

None



#숫자(int float): 정수, 실수

#type(): 자료형 리턴

print(type(2+4))

print(type(2-4))

print(type(2*4))

print(type(2/4)) #int->float로 자동 형변환

print("------")



print(2+4)

print(2-4)

print(2*4)

print(2/4)

print("------")



print(type(0.000001))

print(type(5.000001))

print(type(0))

print(type(0.0))

print("------")



print(type(9.9+1.1)) #float->int로는 자동 형변환이 안됨

 


 

제곱과 나누기

#제곱과 나누기

#거듭제곱 **

print(2**2)

print(2**3)

print(2**4)

print("------")



#나누기 몫 //

print(10/4)

print(10//4)

print("------")



#나누기 나머지 %

print(10%3)



#Math 수학 함수

#반올림

print(round(3.123456))

#절대값 abs

print(abs(-2))

 


숫자 계산식 우선순위

# 숫자 계산식 우선순위

print((3-2)*2**3/4) #1*8/4=2

print((20-3)+2**2) #17+4



#()

#**

#*/

#+-

 

이진수 변환 bin()

#이진수 변환 bin()

print(bin(5))

print(int('0b101',2))


 

'Learning > Python' 카테고리의 다른 글

for 반복문  (0) 2020.08.25
if문과 while 반복문  (0) 2020.08.24
bool, 논리연산자  (0) 2020.08.24
문자열 f-string 포맷, 인덱스, 슬라이싱  (0) 2020.08.24
변수, 문자열str, 이스케이프 시퀀스  (0) 2020.08.24

+ Recent posts