Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 청소년복지론
- speechAPI
- 오류종류
- 자바스크립트날짜형식
- 장고웹프로젝트
- 자바스크립트날짜
- Python
- webkitrecognition
- 파이썬
- 사례관리
- 이행은이미다른테이블에속해있습니다
- Android
- R데이터분석
- 개발
- forof문
- 장고웹
- javaScriptError
- 안드로이드
- 장고프로젝트
- 이행은이미다른
- 다른테이블에속해있습니다
- 장고
- 자바스크립트날짜get
- 자바스크립트for문
- 자바스크립트수학
- sqlite
- cmd명령어
- 자바스크립트forinforof차이
- speechtoText
- PostgreSQL
Archives
- Today
- Total
EMDI는 지금도 개발중
Python with Django : 파이썬의 기초 숫자형 부터 응용까지 본문
1. 숫자형( type Number )
항목 | 파이썬 사용 예 |
정수(Integer) | 123, -345, 0 |
실수(Floating-Point) | 123.45, -1234.5, 3.4e10123, -345, 0 |
8진수(Octal) | 0o34, 0o25 |
16진수(Hexadecimal) | 0x2a, .0xFF |
# 1.정수형
>>> a = 123
>>> a = -178
>>> a = 0
# 2.실수형
>>> a = 1.2
>>> a = -3.45
# 3. 사칙연산
>>> a = 3
>>> b = 4
>>> a + b
7
사칙연산 | 의미 | 사용법 예) a = 3 , b = 4 |
a + b | 더하기 | >>> a + b 7 |
a * b | 곱하기 | >>> a * b 12 |
a / b | 나누기 | >>> a / b 0.75 |
a ** b | x의 y제곱 | >>> a ** b 81 |
a % b | 나머지 | >>> 3 % 4 4 |
a // b | 몫 | >>> 3 // b 0 |
2. 문자열 자료형 (type String)
# 1. 문자열에 작은따옴표(') 포함시키기
>>> food = "Python's favorite food is perl"
>>> food
"Python's favorite food is perl"
// 만약 큰따옴표(")가 아닌 같은 작은따옴표(')를 사용했을 때는 구문오류(SyntaxError)가 발생한다
# 2. 문자열에 큰따옴표(") 포함시키기
>>> say = '"Python is very easy." he says.'
# 3. 백슬리시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says.'
# 4. 줄을 바꾸는 이스케이프 코드 \n 삽입
>>> multiline = "Life is too short \n You need python"
# 5. 또는 연속된 작은따옴표(')/큰따옴표(") 3개를 사용하기
>>> multiline = '''
... Life is too short
... You need python
... '''
>>> multiline = """
... Life is too short
... You need python
... """
코드 | 설명 |
\n | 문자열 안에서 줄을 바꿀 때 사용 |
\t | 문자열 사이에 탭 간격을 줄 때 사용 |
\\ | 문자 \를 그대로 표현할 때 사용 |
\' | 작은따옴표 표현할 때 사용 |
\" | 큰따옴표 표현할 때 사용 |
\r | 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) |
\f | 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) |
\a | 벨 소리(출력할 때 PC 스피커에서 삑소리가 난다) |
\b | 백스페이스 |
\000 | 널 문자 |
파이썬 기초부터 보다보면 신기한 것들이 종종 나옵니다.뭐.. 위에까지는 안배워도 대충 알다싶은 내용들이고 이제 오류날 것 같아 보이는 것들이 파이썬에서는 실행이 됩니다.
# 1. 문자열 더하기
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
# 2. 문자열 곱하기
>>> a = "p"
>>> a * 2
'pp'
# 3. 문자열 길이 구하기
>>> a = "Python is fun!"
>>> len(a)
14
# 4. 문자열 인덱싱
>>> a = "Python is fun!"
>>> a[3]
'h'
// 파이썬은 0부터 시작
>>> a = "Python is fun!"
>>> a[-1]
'!'
# 5. 문자열 슬라이싱
>>> a = "Python is fun!"
>>> b = a[0] + a[1] + a[2]
>>> b
'Pyt'
>>> a = "Python is fun!"
>>> b = a[0:2]
>>> b
'Pyt'
# 6. 활용하기
>>> a = "20010331Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20010331'
>>> weather
'Rainy'
# 7. 문자열 단어 바꾸기
>>> a = "Pithon is fun!"
>>> a[1]
'i'
>>> a[1] = 'y' // 이렇게 직접 문자열을 대입하면 오류 난다.
>>> a = 'Pithon is fun!'
>>> a = a[0] + 'y' + a[2:]
>>> a
'Python is fun!'
코드 | 설명 |
%s | 문자열(string) |
%c | 문자 1개(Character) |
%d | 정수(Integer) |
%f | 부동 소수(Floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 '%' 자체) |
# 1. 문자열 포맷팅
>>> "Python %s fun!" % is
'Python is fun!'
>>> "rate is %s" % 3.234
'rate is 3.234'
>> "Error is %d%%" % 98
'Error is 98%'
# 2. 포맷코드와 숫자 함께 쓰기
>>> "%10s" % "hi"
' hi' // 전체 길이 10개 중 오른쪽 정렬 hi 빼고 나머지 공백
>>> "%-10sJane" % 'hi'
'hi Jane'
# 3. 소수점 표현하기
>>> "%0.4f" % 3.42134234
'3.4213' //4번째 자리까지만 나타내고 싶은 경우
>>> "%10.4f" % 3.42134234
' 3.4213' //총 10개인 문자에서 4번째 자리까지만 나타내고 싶은 부동 소수 3.4213
# 4. format함수를 사용한 포매팅
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
>>> "I eat {0} apples".format("five")
'I eat five apples'
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
>>> number = 2
>>> "I eat {0} apples. It's {check} delicious".format(number, check="really")
"I eat 2 apples. It's really delicious"
정렬 | 결과값 |
"{0:<10}".format("hi") | 'hi ' |
"{0:>10}".format("hi") | ' hi' |
"{0:^10}".format("hi") | ' hi ' |
"{0:=^10}".format("hi") | '====hi====' |
관련함수 a = "hobby" | 결과값 |
a.count('b') | 2 |
a.find('b') | 2 (0부터시작해서 첫번째 b, 존재하지 않으면 -1) |
a.index('b') | 2 (0부터 시작, 존재하지 않으면 오류발생) |
",".join('abcd') | 'a,b,c,d' |
a.upper() //소문자를 대문자로 | HOBBY |
a.lower() //대문자를 소문자로 | hobby |
a=" hi" a.lstrip() //왼쪽 공백지우기 |
hi |
a="hi " a.rstrip() //오른쪽 공백지우기 |
hi |
a=" hi " a.strip() //양쪽 공백지우기 |
hi |
a="Life is too short" a.replace("Life", "Your leg") |
Your leg is too short |
a="Life is too short" a.split() |
['Life', 'is', 'too', 'short'] |
3. 함수
// function 함수명()을 파이썬에서는 def 함수명()으로 사용한다
def chat():
print("Hello!")
print("Bye")
chat()
// 인자를 주고 메소드 만들어보기
def chat(name1, name2):
print("%s: 안녕?" %name1)
print("%s: 만나서 반가워!" %name2)
chat("홍길동","김영희")
// 같은 출력에 여러 인자 넣어보기
def chat(name1, name2, age):
print("%s: 안녕?" %name1)
print("%s: 만나서 반가워!" %name2)
print("%s: 몇살이니?" %name1)
print("%s: 나는 %d" % (name2,age))
chat("홍길동","김영희", 15)
// 사칙연산을 포함한 메소드 만들기 + 반환값 받기
def dsum(a, b):
result = a + b
return result
d = dsum(1, 2)
print(d)
보통 변수를 만들면 string, int와 같은 타입을 꼭 부여를 해야했었는데 파이썬에서는 그렇게 안해도 되는 점이 뭔가 어색하면서도 편하네요ㅎㅎ 계속해서 배워봅시다!
4. 함수 응용 예제 문제풀이
# 먼저 이름과 나이를 받아라
# 나이가 10살 미만이면 "안녕"이라고 말해라
# 나이가 10살에서 20살 사이면 "안녕하세요"라고 말해라
# 그 외에는 "안녕하십니까"라고 말해라
// 여기서 중요한 점! function = def / else if = elif로 쓰는거 까먹지말기!
def sayHello(name, age):
if age < 10:
print("안녕" + name)
elif age >= 10 and age <= 20:
print("안녕하세요" + name)
else: print("안녕하십니까" + name)
sayHello("철수", 10)
sayHello("영희", 18)
sayHello("길동", 40)
5. 반복문
# for, while 반복문
# 1. for
for i in range(10):
print(i)
print("철수 : 안녕 영희야 뭐해?")
print("영희 : 안녕 철수야, 그냥 있어.")
# 2. while
i = 0
while i < 3:
print("철수 : 안녕 영희야 뭐해?")
print("영희 : 안녕 철수야, 그냥 있어.")
i = i + 1
# break, continue
# 1. break
i = 0
while True:
print(i) #0
print("철수: 안녕 영희야?")
print("영희: 안녕 철수야")
i = i + 1
if i > 2:
break
for i in range(100):
print(i) #0
print("철수: 안녕 영희야?")
print("영희: 안녕 철수야")
if i > 2:
break
# 2. continue
for i in range(3):
print(i) #0
print("철수: 안녕 영희야?")
print("영희: 안녕 철수야")
continue
print("태수: 안녕 애들아")
// 위와 같이 쓰면 태수의 말은 나오지 않는다.
6. 리스트와 튜플
# 1. 리스트
x = [1,2,3,4]
y = ["hello", "world"]
print(x + y)
x = [1,2,3,4]
x[3] = 10
print(x[3])
x = [4,3,2,1]
print(x[0]) // 0번째 값을 보여줘
print(len(x)) // x의 길이를 보여줘
print(sorted(x)) // x의 정렬
print(sum(x)) //합계
print(x.index(3)) // 3의 위치를 찾기
print(4 in x) // x안에 4라는 값이 있는가 True or False로 반환
# 2. 튜플
x = (1, 2, 3)
y = ('a', 'b', 'c')
z = (1, 'hello', 'bye')
x[1] = 10 // 오류난다
단, 튜플은 안에 들어있는 애들을 못바꾼다.
7. 딕셔너리
# x = dict{}
x = { "name" : "홍길동",
"age" : 20}
print(x["name"])
print("age" in x) #포함되어있는지
print(x.keys()) //전체 key값만 보여준다
print(x.values()) //전체 value값만 보여준다
for key in x:
print("key : " + key)
print(x[key])
# 과일 숫자 세는 프로그램
fruit = ["사과", "사과", "딸기", "배", "복숭아", "바나나", "키위", "복숭아", "바나나"]
d = {}
for f in fruit:
if f in d: #"사과"라는 키가 d라는 딕셔너리에 들어있는지?
#d[f] += 1
d[f] = d[f] + 1 #있으면 사과 개수 하나 올리기
else:
d[f] = 1 #없으면 딕서녀리에 넣고 밸루 1로 만들어줘
print(d)
8. 클래스 VS 오브젝트 그리고 상속
# 클래스와 오브젝트(인스턴스)
class Person:
#name = "홍길동" 처음의 전역변수
#이것을 직접 코딩말고 메소드로 만들어서 받기
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self, to_name):
print("안녕? " + to_name + " 나는 " + self.name)
def introduce(self):
print("안녕? "+ " 나는 " + self.name + " 이고 나이는 " + str(self.age))
hong = Person("홍길동", 20)
hong.say_hello("영희")
hong.introduce()
#만약 홍길동뿐만 아니라 다른 사람의 이름도 하고 싶다면?
michael = Person("마이클", 50)
michael.say_hello("제니")
# 상속
class Police(Person):
def arrest(self, to_arrest):
print("넌 체포되었다! " + to_arrest)
class Programmer(Person):
def program(self, to_program):
print("다음에는 이걸 만들자! : " + to_program)
# jenny = Police("제니") 이렇게 쓰면 오류남
# 왜냐하면 Police라는 클래스가 Person을 상속하였기 때문에
# Person에서 받는 인수와 동일하게 name과 age가 있어야한다
jenny = Police("제니", 20)
grace = Programmer("그레이스", 30)
wobin = Person("우빈", 21)
# jenny는 경찰이기에 to_arrest가능
jenny.arrest("톰")
# grace는 프로그래머이기에 to_program
grace.program("ERP데이터 전송 프로그램")
# jenny는 Person을 상속받은 클래스 Police를 생성했기에
# Person에 있는 introduce를 사용가능
jenny.introduce()
# 하지만 Programmer를 상속하지 않아서 program은 사용 못함
jenny.program("테스트") #해당부분을 실행하면 오류
9. 패키지와 모듈
# main
# animal __package__
# dog, cat modules
# dog, cat modules can say "hi"
from animal import dog #dog module 가져오기
from animal import cat #cat module 가져오기
from animal import * # animail에 있는 패키지 다 가져오기
d = dog.Dog()
d.hi()
c = cat.Cat()
c.hi()
----------------------------------------------------------------------------------
#__init__
#모듈을 불러오는 방법
# 이 폴더에 있는 cat.py이라는 파일에서 Cat이라는 클래스를 가져와줘
from .cat import Cat
# 이 폴더에 있는 dog.py이라는 파일에서 Dog이라는 클래스를 가져와줘
from .dog import Dog
----------------------------------------------------------------------------------
# cat.py
class Cat:
def hi(self):
print("meow")
----------------------------------------------------------------------------------
# dog.py
class Dog:
def hi(self):
print("bark!")
* 다른 패키지를 불러오는 방법
왼쪽 끝에 패키지라고 써져있는 아이콘을 클릭하면 다른 패키지를 다운로드 할 수 있다.
단, 해당 홈페이지는 Relp.lt라는 홈페이지입니다.
'언어 > Python' 카테고리의 다른 글
Python with Django : 장고 웹 프로그래밍 & PostgreSQL 사용해서 만들기(1) (1) | 2020.06.11 |
---|---|
Python with Django : 파이썬을 이용한 단순 웹서버 구축 (Simple Web Server) (0) | 2020.06.10 |
Python with Django : 파이썬 연습 Blog 앱 만들기 (책 파이썬 웹 프로그래밍, 실전편 참고) (0) | 2020.03.31 |
Python with Django : 파이썬 연습 Bookmark 만들기 (책 파이썬 웹 프로그래밍, 실전편 참고) (0) | 2020.03.27 |
Python with Django : 파이썬 설치 및 가상환경 만들기 (0) | 2020.03.16 |
Comments