본문 바로가기
Language/파이썬

파이썬 코드 정리 업데이트 할것

by javapp 자바앱 2020. 7. 11.
728x90

<py>

import math

math.ceil(2.14)                   //올림

math.floor(2.7)                   //내림

math.pow(2,10)                  //지수

math.pi

str(Integer)                        //숫자를 문자열로

print('Hello ' * 3)                // Hello Hello Hello

print('Hello'[0])                   // H

'hello'.capitalize()                // 첫 문자를 대문자로

.upper() //전체 대문자

.__len__() , len('hello')

.replace('h','a')

“hello \”world\””              // \” 문자로 해석해라 (백슬래쉬)

\n , \t, \a                       // 줄바꿈, 탭, 경고음

 

 

[조건문] if

if False:
          print(“true”)
print(“code3) //조건문 끝나고 실행


if real_id == input_id and real_pwd == input_pwd:

 
# 부울리언 True / False

 
if count == 0:
          print(“0”)
elif count == 1:
          print(“1”)
else:
          print(“2”)


data = input(“입력해주세요\n”)
print(data+ “ data”)

 

[배열, list]

type(‘a’) #타입출력
names = [‘a’, ‘b’]
names[0] = ‘c’
names[0:2] #인덱스 0 부터 2개
len(names), max, min, s.count(‘x’) #몇 개 있는 가?
names.append(‘d’) #끝에 붙임, del(names[0]), names.remove(‘a’), names.clear() #모두 지움, names.reverse()

https://docs.python.org/3/tutorial/index.html

 

 

[반복문] while

i = 0 #변수 선언
while i < 10:
    if i == 4:
        break
    print(i)
    i += 1      
print('after while')

 

[반복문] for

for name in names:
          print(name)

 
for idx in range(5):
          print(idx)                          # 0 1 2 3 4 5

for idx in range(5, 11):
          print(idx)                          # 5 6 7 8 9 10

import sys
sys.exit()

 

[함수] def a():

def prt(num):
          print(‘hello’) / return ‘hello’*num

prt(20) #실행

 

 

[모듈 = 라이브러리]

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

import math
print(math.ceil(2.2))

 

[사용자가 만든 모듈쓰기]

<test2.py>
class A:
           def a(self)
                       return ‘a’

 

import test2

print(test2.a())                        #전체 불러서 해당함수만 쓰기
obj = test2()                           #인스턴스화 시켜서 사용하기
obj.a()

 

import test2 as t2                   #이름 바꿈
print(t2.a())                            #전체 불러서 해당함수만 쓰기

 

from test2 import a                #a 함수만 쓰기
print(a())

 

from test2 import a as printA   #이름을 바꿔서 쓰기
print(printA())

 

[클래스]class , __init__

class Cal(object):
    def __init__(self,v1,v2):                  #첫번째 매개 변수가 인스턴스 가리키는 이름
        if isinstance(v, int):
                  self.v1 = v1
        if isinstance(v, int):
                  self.v2 = v2

    def add(self):
        return self.v1+self.v2

    def getValue(self):
        return self.v1

    def setValue(self,v):
        if isinstance(v, int):
                  self.v1 = v

c1 = Cal(10,10)                                  #생성시 init 실행
print(c1.add())
print(c1.v1)

 
           def __init__(self, v):
                      self.__value = v                       #value가 private 처럼 외부 접근 불가

 

 

[상속]

class Class1(object):
    def method1(self): return 'm1'

c1 = Class1()
print(c1, c1.method1())

 
class Class3(Class1):                                       #자식클래스 부모상속
    def method2(self): return 'm2'
    def a(self):
           print(super().method1())                     #부모 함수 출력

c3 = Class3()
print(c3, c3.method1())
print(c3, c3.method2())

 

 

[다중 상속]

class C3 (C1,C2):                      #다중상속 받기

 

문제점 : 부모의 함수 이름이 같을 때 어디서 호출 될지 모름

 

 

[static , class 메소드] 멤버와 변수

class Class1:

    count = 0

    @staticmethod

    def method1():

        print('Static method')

    @classmethod

    def method2(cls):

        print('Class method')

    @classmethod

    def getCount(cls):

        return Class1.count

    def method3(self):

        print('Instance method')

i = Class1()

Class1.method1()                                #static

Class1.method2()                                #class

i.method3()                                       #instance

print(Class1.getCount())

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

class Class1:

    _history = []

    count = 0

    @classmethod

    def history(cls):

for item in Class1._history:

            print(item)

    def push(self):

        Class1.count += 1

        Class1._history.append('count : %d' % (self.count))                          #배열에 값 넣기

i = Class1()

i.push()

Class1.history()

댓글