본문 바로가기

programming

파이썬 코딩 연습장

# 정수/정수 = 몫을 구하는거

   실수/정수 = 나누기 계산

   1/100 = 0.0

   1.0/100 = 0.01

 

# 숫자랑 문자 합치는게 안됨

x = 1

y = "2"

print(x+y) # 에러발생

print(str(x) + y)

print(x + int(y)) #라고 해줘야지 에러가 발생하지 않음

 

 

# 함수

def function_name():

  print("함수 예시")

 

function_name() #함수 불러오기

 

def function_name1(name1, name2, age):

  print("%s 이름 " % name1)

  print("%s 이름 %d 나이" % (name2, age))

 

# 함수

def dsum(a,b):

  result = a + b

  return result # 값을 대입하는건 return 써야함

 

d = dsum(2,4)

print(d)

 

 

예시()

def sayHello(name,age):

  if age <10:

    print("안녕, " + name)

  elif age <= 20 and age >= 10:

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

  else:

    print("안녕하십니까, " + name)

 

 

 

 

 

# 반복문 for, while

for i in range(3):

  print(i) # 0 부터 시작을 ,

  print("철수: 안녕 영희야 뭐해?")

 

i = 0

while i <3: # i 0부터 시작함

  print("철수: 안녕 영희야 뭐해?")

  i = i +1

 

i = 0

while True :  # 무한 루프 구문 이럴때 for 보다 유리

  print("철수: 안녕 영희야 뭐해?")

  i = i+1

  if i > 2:

    break # 무한루프를 끝내는 방법

 

for i in range(100):

  print("철수: 안녕 영희야 뭐해?")

  i = i+1

  if i > 2:

    break # 100 돌지 않고 그냥 끝냄

 

for i range(3):

  print(i)

  print("철수: 안녕 영희야 뭐해?")

 

  if i ==1:

    continue # 다시 처음 for문으로 돌아가기

print("i ==1 일때 프린트 되어지지 않음")

 

 

# 자료구조

x = list()

y = [] # 이거두개는 같은말

 

# 자료구조

# list

x = [1,2,3,4]

 

print(x[0]) # 첫번째 자리

 

x[3] = 10 # x 3번째 자리를 10으로 바꾸기

 

num_elements = len(x) # list 갯수 알려주기

y =  sort(x) # 작은수서부터 큰숫서까지 정렬하기\

z = sum(x) # 모든 구하기

 

for n in x:

  print(n) # list 안에 있는거 하나씩 넣어가면서 보여주기

 

print(x.index(3)) # x 라는 list 안에 3이라는 어디에 있는지 알려주기

 

print(4 in x) # 4 x 라는 list 안에 있으면 True  없으면 아무것도 안뜸

 

# 튜플

x = (1,2,3)

y = ('a','b','c')

 

print('a' in y) #a y 라는 튜플 안에 있는지 물어보기

print(x.index(1)) #1 x 라는 튜플에서 어디 있는지 알아오기

 

x[0] = 10 # 리스트에서는 가능하지만 튜플에서는 불가능

# 튜플에서는 바꿀수 없음!!

 

# 딕셔너리

 

x = dict()

y = {} # 같은 방식으로 딕셔너리 만드는것

 

x = {"name": "워니", "age": 20, 0: "Hello"}

 

print("age" in x) #x안에 "age" 있는지

print(x.keys()) # 딕셔너리 안에 있는 키를 보여주기

print(x.values()) # 딕셔너리 안에 있는 벨류 보여주기

 

for key in x:

  print(key)

  print(x[key])

 

x[0] = "hi" #바꿀수 있음

 

x["school"] = "한빛" # 추가가능

 

예시()

fruit=["사과","사과","바나나","바나나","딸기","키위","복숭아","복숭아","복숭아"]

 

d = {}

 

for f in fruit:

  if f in d: # "사과" 라는 key d 라는 딕셔너리에 들어있어?

    d[f] = d[f] +1

  else:

    d[f] = 1 #만약 "사과" 라는 얘가 없으면, 그걸 딕셔너리에 넣고 밸류는 1 만들기

 

print(d)

 

 

 

# 클래스

 

class Person:

  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) + "살이야")

 

class Police(Person): #이전의 클래스를 상속할수 있음 person 클래스가 쓸수 있는걸 쓸수 있음

  def arrest(self, to_arrest):

    print(" 체포됐다, " + to_arrest)

 

class Programmer(Person):

  def program(self, to_program):

    print("다음엔 만들지? 이걸 만들어야겠다: " + to_program)

 

wonie = Person("워니", 20)

jenny = Police("제니", 21)

michael = Programmer("마이클", 22)

 

jenny.introduce()

jenny.arrest("워니")

michael.introduce()

michael.program("이메일 클라이언트")

 

class Person:

  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) + "살이야")

 

# 상속

class Police(Person): #이전의 클래스를 상속할수 있음 person 클래스가 쓸수 있는걸 쓸수 있음

  def arrest(self, to_arrest):

    print(" 체포됐다, " + to_arrest)

 

class Police(Person): #이전의 클래스를 상속할수 있음 person 클래스가 쓸수 있는걸 쓸수 있음

  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) + "살이야")

  def arrest(self, to_arrest):

    print(" 체포됐다, " + to_arrest)

 

(두개는 같은거 오른쪽은 상속 적용)

 

 

 

# 패키지 만들기 (패키지 = 모듈들의 ) 폴더의 이름이 패키지 이름이 됩니다

 

# 모듈 = 하나의 기능을 하는 코드의 모음

# 패키지 라는 파일 안에 여러 모듈 파일 + __init__.py 파일 있어야함

 

from animal import dog # animal 패키지에서 dog  라는 모듈을 가지고 와줘

from animal import cat # animal 패키지에서 cat 라는 모듈을 가지고 와줘

 

d = don.Dog()

d.hi()

 

c = cat.Cat()

c.hi()

 

from animal import * #animal 패키지가 가지고 있는 모든 모듈을 가지고 와줘

 

d = Dog()

c = Cat()

 

d.hi()

c.hi()

 

 

 

# __init__.py  파일에 있는거

from .cat import Cat # .<- " 폴더에 있는" cat.py 이라는 파일에서 Cat 이라는 클래스를 가지고 와줘

from .dog import Dog # .<- " 폴더에 있는" dog.py 이라는 파일에서 Dog 이라는 클래스를 가지고 와줘

 

# cat.py 파일에 있는거

class Cat:

  def hi(self):

    print("meow") #고양이가 안녕하는 소리

 

# dog.py 파일에 있는거

class Dog:

  def hi(self):

    print("bark!") # 강아지가 안녕하는 소리 기능 하나

 

 

 

 

 

'programming' 카테고리의 다른 글

C ++ 연습장  (0) 2020.07.07
아두이노 센서 사용 코드 예시  (0) 2020.05.07
git hub 사용법 Manual  (0) 2020.02.16
ROS 연습장 (python, C++)  (0) 2020.02.03