[개발노트] /# Python

(기초1) 기호, 함수

PCDuckHu 2018. 9. 10. 12:13


대입


%d    #십진수(정수형)


print("잠수시간은 %d\' %d\" 입니다."%(minute, second))



%f    #실수형


print("잠수시간은 {}' {}\" 입니다.".format(minute, second))



%s    #문자열형


print("제 이름은 '%s' 입니다."%(name))



소숫점 표현


%.1f    # . 점아래 자릿수 


print("평균 점수는 %.1f점입니다."%(average))

=> 평균 점수는 30.0점입니다.



{:.1f}    # . 점아래 자릿수 format


print("평균 점수는 {:.1f}점입니다.".format(average))

=> 평균 점수는 30.0점입니다.



분기문


A든 a 든 같은 결과라면,    or


if grade == "A" or grade == "a":

message = "우수"


같은 절에서 다른 결과라면,    elif


elif grade == "B" or grade == "b":

message = "양호"


아니면 나머지 결과는 모두,       else


else:

message = "보통미만"



# 19살부터 성년, 40살부터 장년, 60살부터 중년, 나머지 미성년자 메시지


if 19 <= age < 40:

print("성년 축하")

elif 40 <= age < 60:

print("장년 축하")

elif 60 <= age:

print("중년 축하")

else:

print("미성년입니다.")




str2int


def str2int(slist):

nlist = []

for s in slist:

nlist.append(int(s))

return nlist


scores = input("점수들 : ").split()

# 목록 = [문자, 문자 문자] => 함수(str2int) => 목록 = [정수, 정수, 정수]

# scores = ['80', '90', '80']      => scores = [80, 90, 80]

print(scores)

scores = str2int(scores)

print(scores)




findsum (자연수들의 합 계산)


def findsum(num):

sum = 0

for n in range(1, num + 1):

sum = sum + n

return sum


num = int(input("자연수를 입력하세요 : "))

sum = findsum(num)

print("1 ~ {} 사이 자연수의 합 = {}".format(num, sum))




while code not in 문


print("환영 합니다.")


code = 0

while code not in [1, 2, 3]:

print("1. 조회")

print("2. 입금")

print("3. 출금")

code = int(input("업무내용 : "))


print("선택하신 업무는 {}번입니다.".format(code))

print("처리되었습니다.")





1. 일반 텍스트 파일 -> 문자열(str)

   Text File -> open('r') -> read()       -> Str

                                 readline()   -> Str

                                 readlines()  -> list = [Str, Str]


2. CSV 파일 -> 목록형(2차원 list)

   CSV File -> open('r') -> csv.reader()  -> list = [list, list]


3. JSON 파일

   3-1. 읽기(JSON파일 -> 사전형자료)

             JSON File -> open('r').read() -> json.loads() -> dict = {key1:Value1, Key2:Value2, ..}


       3-2. 쓰기(사전형자료 -> JSON파일)

         dict1     -> json.dumps()    -> open('w').write()    -> JSON File



# open()함수를 이용하여 파일의 내용 보기



file = open("C:\\Users\\ajd74\\Python\\Work\\test\\새파일.txt", "a")


for i in range(11, 21):

file.write("{}번째 행입니다.\n".format(i))


file.close()






목록형(list) => [값1, 값2, 값3, ...]

        index =    0    1    2


목록형자료는 값에 미리 (자동으로) 인덱스가 부여되며, 그 인덱스를 통해 접근한다.



사전형(dict) => {키1:값1, 키2:값2, 키3:값, ...}


사전형자료는 값에 (수동으로) 키(인덱스)를 부여하며, 그 키(인덱스)를 통해 접근한다.



[목록, 목록] => [list1, list2, list3, ...]

lists = [      0         1     2     3

       0  ['hong' , '홍길동', 23, '경기'],

       1  ['hwang', '황진이', 28, '서울'],

       2  ['john' , '존밴이', 30, '제주'] 제주 <- [2][3]

        ]


[사전, 사전] => [dict1, dict2, dict3, ...]  사전형 구조 dict1 => {'id':

lists = [     id       name  age  address                         'name':

       0  {'hong' , '홍길동', 23, '경기'},                        'age':

       1  {'hwang', '황진이', 28, '서울'},                        'address':}

       2  {'john' , '존밴이', 30, '제주'} 

        ] 제주 <- [2]['address']


{사전, 사전} => {key1:dict1, key2:dict2, key3:dict}

lists = {         name  age  address':

      'hong'   {'홍길동', 23, '경기'}, 

      'hwang'  {'황진이', 28, '서울'},

      'john    {'존밴이', 30, '제주'} 제주 <- ['john']['address']

        }





* 함수(변수)       : 변수(인자)를 에러(무결점)없는 데이터를 기대하고 작성하지만, 그렇지 않을 때에는 에러가 발생한다.


def birthday(주민등록번호):   

def age(주민등록번호):

def gender(주민등록번호):



* 변수.메서드() : 변수(인자)를  에러(무결점)없는 데이터로 만들고 메서드를 호출하기 때문에 에러 발생이 없어진다.


주민등록번호.birthday()   

주민등록번호.age()

주민등록번호.gender()



* class 클래스명:


변수명 = xxx

def __init__(self, 변수, ...): # __init__ : 초기화 함수

코드         # 클래스 호출시 자동으로 동작하는 함수


def 함수명(self, 변수, ...):

코드



class abc():

def __init__(self, num):

self.data = num


a1 = abc(5) -> instance a1:

def __init__(self, num):

self.data = num

a2 = abc(10) -> instance a2:

def __init__(self, num):

self.data = num