#사전형
#{} 중괄호를 사용한다.
#사전형은 해쉬테이블을 가지고 있어서 검색이 쉽다.
d = {'x': 10, 'y':20}
print(d);
#x값 출력
print(d['x'])
#y값 출력
print(d['y'])

#변경 추가는 숫자,문자 다가능
#x값 변경
d['x'] = 'test'
#z값 추가
d['z'] = 123
print(d)

#다양한 사전형 생성방법
d = dict(a=10,b=20)
print(d)
d = dict([('a',50),('b',40)])
print(d)

print('---------------------')
"""
출력결과
{'x': 10, 'y': 20}
10
20
{'x': 'test', 'y': 20, 'z': 123}
{'a': 10, 'b': 20}
{'a': 50, 'b': 40}
---------------------
"""
#사전형 메소드
print(help(d))
print('키,값 보기 ------------------')
#사전 키값만 보기
print(d.keys())
#사전 값만 보기
print(d.values())
print('업데이트하기 ------------------')
#업데이트하기
d2 = {'a':1000,'z':2000}
print(d)
d.update(d2)
print(d)
print('값출력,꺼내기 ------------------')
#사전에 값출력하기
#값이 없으면 에러난다
#print(d['ss'])
#None이 나오고 에러나지 않는다.
print(d.get('ss'))
print(d.get('a'))

#사전값 꺼내기 값이 없어진다.
print(d)
#d사전에서 a값 꺼내기
a = d.pop('a')
print(a)
print(d)

print('값삭제 ------------------')
del d['b']
print(d)
#값 전체삭제
d.clear()
print(d)

print('사전안에 값검색 ------------------')
d = {'x': 10, 'y':20}
print('x' in(d))

#사전 복사하기
print('사전복사하기 ------------------')
d2 = d.copy()
d2['x'] = 12333
print(d)
print(d2)
"""
출력결과
키,값 보기 ------------------
dict_keys(['a', 'b'])
dict_values([50, 40])
업데이트하기 ------------------
{'a': 50, 'b': 40}
{'a': 1000, 'b': 40, 'z': 2000}
값출력,꺼내기 ------------------
None
1000
{'a': 1000, 'b': 40, 'z': 2000}
1000
{'b': 40, 'z': 2000}
값삭제 ------------------
{'z': 2000}
{}
사전안에 값검색 ------------------
True
{'x': 10, 'y': 20}
{'x': 12333, 'y': 20}
"""


from typing import List

num = 1
name = '1'

#형변환
num = int(name)

print(num , type(num))
print(name, type(name))

#리스트 메소드 정보보기
#print(help(list))

#배열생성
n = [1,2,3,4,5]
#배열 마지막 값 꺼내기
print(n.pop())
#배열 첫번째 값 꺼내기
print(n.pop(0))
#배열 값 보기
print(n[0])
#배열에 값 추가
n.insert(0,100)
print(n)

#배열에 값 제거
del n[0]
print(n)

#배열에 특정 값 첫번째 제거
n.remove(2)
print(n)

a = [1,2,3,4,5]
b = [6,7,8,9,10]

#새로운 배열에 배열 더하기
x = a + b
print(x)

#기존 배열에 배열 더하기
a += b
print(a)

r = [1,2,3,4,5,1,2,3]

#배열안에 값 위치 확인하기
print(r.index(3))

#배열안에 3 갯수 확인
print(r.count(3))

#두번째 3 위치 확인하기
print(r.index(3,r.index(3)+1))

#if문 배열안에 숫자 있나 확인하기
if 5 in r:
print('5가 있다')

#배열 정렬하기
r.sort()
print(r)
#배열 반대로 정렬하기
r.sort(reverse=True)
print(r)
#한단계 전으로 돌리기
r.reverse()
print(r)

#문자열 특정문자 기준으로 배열만들기
s = 'a b c d'
splitTest = s.split(' ')
print(splitTest)

#배열 문자열로 만들기(특정문자 추가가능)
s = ''.join(splitTest)
print(s)

"""
배열 리스트 출력결과
1 <class 'int'>
1 <class 'str'>
5
1
2
[100, 2, 3, 4]
[2, 3, 4]
[3, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2
2
7
5가 있다
[1, 1, 2, 2, 3, 3, 4, 5]
[5, 4, 3, 3, 2, 2, 1, 1]
[1, 1, 2, 2, 3, 3, 4, 5]
['a', 'b', 'c', 'd']
abcd
"""


자바 초보들이 알아야 할 기본 개념!


클래스란?
유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체라 할 수 있다.
Object란?
클래스를 사용할 수 있게 실체화한 것이다.
Method란?
클래스 안에 특정 기능을 구현한 것이다.

이제 3가지에 대해 알아보도록 하자.

예를 들어 두 명의 사람이 있는데
이름과 나이가 철수 28살, 미자 20살이라고 한다.
사람이라는 명칭이 클래스이고 
사람들의 정보가 객체라고 생각하면 된다.

클래스에서 생성 가능한 것은 변수와 기능이 있다.

클래스 생성 방법은?


위에 코드를 보면 Person이라는 클래스가 선언되어 있는 걸 볼 수 있는데
Person 클래스 안에는 name, age란 정보(변수)와 자기소개하는 기능(Methods) speak가 있는 걸 볼 수 있다.

이제 위에 클래스를 사용하여 객체(Ojbect)를 선언하는 법을 알아보자.
object 란? 클래스를 실체화하는 것으로 new로 생성한다.



위 코드를 분석해보면,
위 코드에서 객체(Object) 선언하는 부분은 아래 두 코드이다.



Person 이란 Class를 person이라는 객체로 생성한 것인데 생성할 땐 = new 클래스명 형식으로 선언한다.



이 부분은 person이라는 객체에 이름과 나이를 저장해주는 부분이다.
즉 맨 위쪽에서 클래스와 객체를 설명한 대로 Person(사람)이라는 클래스가 있고
그 클래스를 사용하여 객체를 생성하여 이름과 나이를 넣어주면 28살 철수가 만들어진 것이다.



이 부분은 Person Class 안에  speak 메소드를 불러내 사용하는 것이다.
사용하게 되면 콘솔에 "이름과 나이는 : 철수, 28"가 찍히는 것을 확인할 수 있다.


+ Recent posts