gnu

블로그 이미지
by 군우

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit

'Python/Python Concept'에 해당되는 글 18건

  1. 2018.01.15
    [Python] if문
  2. 2018.01.15
    [Python] 변수
  3. 2018.01.15
    [Python] 집합자료형
  4. 2018.01.14
    [Python] 딕셔너리 자료형
  5. 2018.01.14
    [Python] 튜플
  6. 2018.01.14
    [Python] 리스트
  7. 2018.01.11
    [Python] 키워드 인수
  8. 2018.01.11
    [Python] 디폴트 인수
  9. 2018.01.11
    [Python] 함수정의 : def
  10. 2018.01.11
    [Python] while
1
2
3
4
5
6
7
pocket = ['a','b','money']
 
if 'money' in pocket:
    pass    #아무것도 하지않는 것
else:
    print("stop")
 
cs


pass 는 아무것도 수행하지 않을 때 사용한다.


if 조건1:

print()  

elif 조건2:

print()

else:

print()

이런식

'Python > Python Concept' 카테고리의 다른 글

[Python] 변수  (0) 2018.01.15
[Python] 집합자료형  (0) 2018.01.15
[Python] 딕셔너리 자료형  (0) 2018.01.14
[Python] 튜플  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
AND

변수

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
32
33
34
35
36
37
s1 =[1]
s2= 3
s3 = [1]
s4 = 3
print("s1 is  s2 : ", s1 is  s2) # s1과 s2가 같은 객체인지 물음
print("s1 is  s3 : ", s1 is  s3) # 값이 같은데 리스트가 같지않음
print("s2 is  s4 : ", s2 is  s4) # 정수형은  참조하는 객체가 같다.
 
import sys
print("sys.getrefcount(3) : ", sys.getrefcount(3)) #참조 갯수를 알려줌
 
#변수할당하는 방법
a,b =('python','life'# 2개 이상 변수에 값 할당하는법
print("a, b: ", a, b) 
a,b = b,a
print("a, b: ", a, b) #파이썬은 이렇게 쉽게 두 수의 값을 바꾼다.
 
a=b=c= [1,2,3]  #  a = b= c = 이렇게 할당시
print("a,b",a, b,c) #모든 값이 서로를 가리킴 
b[1]= 3             # 수정시 모든값이 다바뀐다.
print("a,b",a, b,c)
c[1]=4
print("a,b",a, b,c) 
 
del(a)  #Garbage collection
 
= [1,2,3]
= a
a[1=4#b가 a를 가리키기 때문에  a값이바뀌어도
print("a,b", a, b)  #b의 값도 같이 바뀐다.
 
from copy import copy
b= copy(a) # a의 값을 복사하는 함수로 밑과 같다.
b=a[:]  #b가 a를 복사해서 할당하는 형태이다.
a[1= 5
print("a,b", a, b)  #b의 값이 바뀌지 않는다
 
cs

출력화면

1
2
3
4
5
6
7
8
s1 is  s2 :  False
s1 is  s3 :  False
s2 is  s4 :  True
sys.getrefcount(3) :  151
a, b:  python life
a, b:  life python
a,b [143] [143]
a,b [153] [143]
cs

정리!!!

del(a)

from copy import copy

copy()

import system

sys.getrefcount()

'Python > Python Concept' 카테고리의 다른 글

[Python] if문  (0) 2018.01.15
[Python] 집합자료형  (0) 2018.01.15
[Python] 딕셔너리 자료형  (0) 2018.01.14
[Python] 튜플  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
AND

집합자료형

set 키워드로 만들 수 있다.

- 중복을 허용하지 않는다.

- 순서가 없다.


이를 이용해서 교집합, 합집합, 차집합을 구할 때 좋다.


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
32
33
34
35
36
37
38
39
40
41
42
43
#집합자료형
 
s= set([1,2,3])
print("set([1,2,3]): ", s)
 
s2 = set("hello")
print("set(\"hello\"): ",s2)# 중복 허용하지않음.
 
s2 = set("hello")   #순서가 없다.
print("set(\"hello\"): ",s2)
 
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])
print("s1&s2: ",s1&s2)  # 교집합
print("s1.intersection(s2): ", s1.intersection(s2)) #교집합
 
print("s1|s2: ", s1|s2) #합집합
print("s1.union(s2): ",s1.union(s2)) #합집합
 
print("s1-s2 : ", s1-s2) #차집합
print("s1.difference(s2): ",s1.difference(s2)) #차집합
 
s1.add(7)           #추가하는 함수
print("s1.add(4) : ",s1)
 
s1.update([8,9])    #여러개 추가하는 함수
print("s1.update([8,9]) : ", s1)
 
s1.remove(3)        #특정값 지우는 함수.
print("s1.remove(3) : ",s1) #한개만 가능하네.
 
while s1:
    print("존재하므로 참입니다.", s1)
    s1.pop()
print("끝")
 
s1 = 3
print("type(s1) : ",type(s1))   # int, 자료형을 알려주는 함수.
s1 = [1]
print("type([1]) : ",type(s1)) # 리스트 자료형
print("type('c') : ",type('c')) # str자료형
print("type(2.0) : ",type(2.0)) # float 자료형
 
cs

출력화면

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
set([1,2,3]):  {123}
set("hello"):  {'h''e''o''l'}
set("hello"):  {'h''e''o''l'}
s1&s2:  {456}
s1.intersection(s2):  {456}
s1|s2:  {123456789}
s1.union(s2):  {123456789}
s1-s2 :  {123}
s1.difference(s2):  {123}
s1.add(4) :  {1234567}
s1.update([8,9]) :  {123456789}
s1.remove(3) :  {12456789}
존재하므로 참입니다. {12456789}
존재하므로 참입니다. {2456789}
존재하므로 참입니다. {456789}
존재하므로 참입니다. {56789}
존재하므로 참입니다. {6789}
존재하므로 참입니다. {789}
존재하므로 참입니다. {89}
존재하므로 참입니다. {9}
type(s1) :  <class 'int'>
type([1]) :  <class 'list'>
type('c') :  <class 'str'>
type(2.0) :  <class 'float'>
cs


정리!!!

s=set()

s.update()

s.add()

s.remove()

type()

s.pop()


'Python > Python Concept' 카테고리의 다른 글

[Python] if문  (0) 2018.01.15
[Python] 변수  (0) 2018.01.15
[Python] 딕셔너리 자료형  (0) 2018.01.14
[Python] 튜플  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
AND

딕셔너리 자료형


파이썬은 대응관계를 타나낼 수 있는 자료형을 가지고 있다.

이를 연관 배열 또는 해쉬라고 한다.

key와  value로 이루어져있다.


기본 형태는  {Key1:Value1, Key2:Value2, ...} 

이렇게 이루어져 있다.

딕셔너리에서 key값은 고유한 값이므로 중복되는 key값을 설정해 놓으면 나머지는 무시가 된다.( 어떤 것이 무시될지 예측 불가)

key 값에는 리스트를 쓸 수 없다.


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#딕셔너리
dic = {'name1':'kim''name2':'kang'}
print(dic)
 
dic['name4']= 'gong' # 불러오는 것이 아닌 추가하는 것이다.
print(dic) #없을시 추가,존재할시 변경!
 
dic[3]=[1,2]  #key: 정수, value: 리스트
print(dic)
del dic[3# 다시 지움.
 
dic[4,2]=3,2  #key: 튜플, value: 튜플
print(dic)
 
#dic[[1,2,3]]=3 #key값에는 리스트가 올 수 없다!
 
print(dic)
del dic['name1'# dic에서 name1 이라는 키값 가진애를 삭제
del dic['name4']
 
print(dic)
 
 
print("dic['name2']:",dic['name2']) #dic의 값을 이용해 value출력
print("dic.get('name2':)",dic.get('name2'))#이 방식이 더 좋다.
 
 
k=dic.keys() # dic의 Key값만 모아서 
print("k=dic.keys():",k) #dict_keys라는 객체를 리턴함.
 
for a in dic.keys():
    print("keys의 사용법: ",a)
 
= list(dic.keys()) #dict_key객체를 리스트로 변환하는 법
print("list(dic.keys()리스트화:",y )
 
 
= dic.values() #Value값의 객체를 얻는법
print("value객체:", k)
 
= dic.items() #key와 value의 쌍으로 이루어진 객체 리턴법
print("key와 value쌍의 객체: ", m)
 
print("a.get('nokey'):", dic.get('nokey')) #key값없을시
m= dic.get("key","ba"#get에서 두번째는 없을 시 디폴트값이다.
print("",m)
print("test:",dic.get("key")) # 값이 추가가 되는것은 아니다.
 
print("키값이 존재하는지?: ",'name2' in dic)
print("키값이 존재하는지?: ",'xxx' in dic)
 
dic.clear()     #dic안의 key와 value를 모두 지우는법
print(dic)

cs

출력 화면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{'name1''kim''name2''kang'}
{'name1''kim''name2''kang''name4''gong'}
{'name1''kim''name2''kang''name4''gong'3: [12]}
{'name1''kim''name2''kang''name4''gong', (42): (32)}
{'name1''kim''name2''kang''name4''gong', (42): (32)}
{'name2''kang', (42): (32)}
dic['name2']: kang
dic.get('name2':) kang
k=dic.keys(): dict_keys(['name2', (42)])
keys의 사용법:  name2
keys의 사용법:  (42)
list(dic.keys()리스트화: ['name2', (42)]
value객체: dict_values(['kang', (32)])
key와 value쌍의 객체:  dict_items([('name2''kang'), ((42), (32))])
a.get('nokey'): None
 ba
test: None
키값이 존재하는지?:  True
키값이 존재하는지?:  False
{}
cs


정리!!


get()

get("","")

list(d.keys())

d.keys()

d.values()

d.items()

'a' in d

del d['a']


'Python > Python Concept' 카테고리의 다른 글

[Python] 변수  (0) 2018.01.15
[Python] 집합자료형  (0) 2018.01.15
[Python] 튜플  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
[Python] 키워드 인수  (0) 2018.01.11
AND

튜플(tuple)은 몇 가지를 제외하고 리스트와 거의 비슷하다.


리스트는 []로 둘러 싸지만,  튜플은 ()로 둘러 싼다.

리스트는 값의 생성, 삭제, 수정이 가능하지만, 튜플은 불가능 하다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= (1,2,3,4,5)
print("a = (1,2,3,4,5):",a)
 
a= 1,2,3,4,5
print("a= 1,2,3,4,5:",a)    #괄호 생략도 가능함
 
a= 1,       #하나만 할때는 ,를 붙여야함.
print("a= 1,:",a)
print("a[0]:",a[0]) #참조가 가능함
 
b=6,7,8
print("a+b=:",a+b) #더하기 가능
 
c=b[1:3]
print("b[1:3]:",c)  # 변경을 불가능하지만 슬라이싱 가능
 
c= b*3
print("b*3:",c)
cs

출력화면

1
2
3
4
5
6
7
= (1,2,3,4,5): (12345)
a= 1,2,3,4,5: (12345)
a= 1,: (1,)
a[0]: 1
a+b=: (1678)
b[1:3]: (78)
b*3: (678678678)
cs


'Python > Python Concept' 카테고리의 다른 글

[Python] 집합자료형  (0) 2018.01.15
[Python] 딕셔너리 자료형  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
[Python] 키워드 인수  (0) 2018.01.11
[Python] 디폴트 인수  (0) 2018.01.11
AND

리스트 사용법들 모음


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
32
33
34
35
36
37
38
39
= [1,2,3,4,5]
b= [1]
= [3]
 
print("리스트 출력:",a) #리스트명을 입력하면[]안에 원소출력
 
print("리스트 -5:",a[-5])    #리스트 뒤에서 5번째 표현
 
print("리스트연산:",a[-5]+a[0]) #  1+1
 
= [1,2,3,4,[5,6,7,8,9]]   #리스트 속의 리스트
 
print("리스트 속의 리스트:",a)
print("a[4][4]:",a[4][4])  #리스트속의 리스트 가리킴
print("a[-1]+a[4]:",a[-1]+a[4])   #리스트 통째로 연산을 하게되면
#각각의 원소에 연산하는것이 아니고, 리스트에 추가하게됨.
print("a[-1]*3:",a[-1]*3)#리스트에*연산하면 리스트반복횟수
 
a[0]= ['r','r'#이걸 넣으면 [['r','r'],6,7,8,9..]가 아님
print("리스트에 문자열 추가:",a[0])
 
a[0]= [['r','r']] #이걸 넣으면 [['r','r'],6,7,8,9..] 임
print("리스트에 문자열 리스트 추가:",a[0])
 
a[0= 1,2      #[1,2]와 다르다. 튜플추가된다.
print("원상복구",a)
 
a[0= [1]
print("a[0] = [1]",a[0])     # 1을 추가하는 것과 다름. 리스트[1]추가임
a[0]=9
 
print("del전:",a)    #삭제 전
del a[4]
print("del후:",a)    #del 후
 
a.append(5)     #append  맨마지막에 추가
print("append(5):",a)
 
 
cs

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
a.sort()
print("sort :",a) #오름차순 정렬
 
b=['c','d','y','a']
b.sort()
print("알파벳정렬:",b) #문자 오름차순 정렬
 
a.reverse()
print("reverse:",a) # 순서를 뒤집는다.
 
=a.index(4)  # 4가 속한 리스트의 위치값을 반환한다.
print("a.index(4):",k)
 
a.insert(0,5)   # a[0] 위치에 4를 삽입한다. 원래 내용은 뒤로 밀린다.
print("a.insert(0,5)", a)
 
a.remove(5#제일 처음나오는 5를 삭제한다.
print("a.remove(5):", a)
 
k=a.pop() #제일 마지막 값을 돌려주고, 
print("k=a.pop():",k) #그 은 원래 리스트에서 삭제한다
print("a?:",a)
 
k= a.count(1)  #a에 속한 1의 갯수를 알려주는 함수
print("a.count(1):", k) # 0개
 
a.extend([2,1])     #a에 [2,1]를 붙여 연장함. a=a+[2,1]과 같다.
print("a.extend([2,1]):",a)
cs
실행 소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
리스트 출력: [12345]
리스트 -51
리스트연산: 2
리스트 속의 리스트: [1234, [56789]]
a[4][4]: 9
a[-1]+a[4]: [5678956789]
a[-1]*3: [567895678956789]
리스트에 문자열 추가: ['r''r']
리스트에 문자열 리스트 추가: [['r''r']]
원상복구 [(12), 234, [56789]]
a[0= [1] [1]
del전: [9234, [56789]]
del후: [9234]
append(5): [92345]
sort : [23459]
알파벳정렬: ['a''c''d''y']
reverse: [95432]
a.index(4): 2
a.insert(0,5) [595432]
a.remove(5): [95432]
k=a.pop(): 2
a?: [9543]
a.count(1): 0
a.extend([2,1]): [954321]
cs

정리!

append()

insert()

reverse()

extend()

sort()

remove()

index()

pop()

count()

del a[0]


'Python > Python Concept' 카테고리의 다른 글

[Python] 딕셔너리 자료형  (0) 2018.01.14
[Python] 튜플  (0) 2018.01.14
[Python] 키워드 인수  (0) 2018.01.11
[Python] 디폴트 인수  (0) 2018.01.11
[Python] 함수정의 : def  (0) 2018.01.11
AND

키워드 인수는 키워드의 매개변수를 명시적으로 지정해서 전달하는 인수이다.


1
2
3
4
5
6
7
def calc(x, y, z):
    print("x-y+z: ",x-y+z)
    print("y-x+z: ",y-x+z)
    
    return x+y+z
print(calc(y=20, x=10, z=30))
#print(calc(a=20, b=10, c=30))
cs

>>>

1
2
3
x-y+z:  20
y-x+z:  40
60
cs


이렇게 나온다.


주석처리된 문장은 인수의 이름을 함수의 매개변수와 일치 하지 않게 했다

에러가 나온다

정확이 일치해야 사용할 수 있다.

함수의 매개변수명을 정확히 알아야 사용가능하네.

'Python > Python Concept' 카테고리의 다른 글

[Python] 튜플  (0) 2018.01.14
[Python] 리스트  (0) 2018.01.14
[Python] 디폴트 인수  (0) 2018.01.11
[Python] 함수정의 : def  (0) 2018.01.11
[Python] while  (0) 2018.01.11
AND

파이썬에서는 함수의 매개 변수가 기본값을 가질 수 있다,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def gre(name, msg ="abc"):
    print("hi",name +','+msg)
 
def gre2(name, msg):
    msg ="kkk"
    print("hi",name +','+msg)
 
def gre3(name, msg ="abc"):
    msg ="333"
    print("hi",name +','+msg)
 
def gre4(name, msg ="abc"):
    msg ="333"
    print("hi",name +','+msg)
 
gre("kim")
gre2("kim","abc")
gre3("kim")
gre4("kim","abc")
cs

출력
1
2
3
4
hi kim,abc
hi kim,kkk
hi kim,333
hi kim,333
cs


gre1: 호출은 매개변수 1개, 하지만, 함수는 매개변수 1개, 디폴트인수1개 

gre2: 호출은 매개변수 2개, 함수는 매개변수 2개.

gre3: 호출은 매개변수 1개, 함수는 매개변수 1개, 디폴트인수1개와 초기화

gre4: 호출은 매개변수 2개, 함수는 매개변수 1개, 디폴트인수1개와 초기화


매개변수에 값을 넣는다 생각하고 유동적으로 사용이 가능하다.

값이 있을 경우 호출에서 생략해도 된다.

'Python > Python Concept' 카테고리의 다른 글

[Python] 리스트  (0) 2018.01.14
[Python] 키워드 인수  (0) 2018.01.11
[Python] 함수정의 : def  (0) 2018.01.11
[Python] while  (0) 2018.01.11
[Python] random  (0) 2018.01.11
AND

def


함수를 정의하는  함수이다.


반환 값, 매개변수등을 생성


1
2
3
4
5
6
def calculate_area (radius):
    area = 3.14 * radius**2
    return area
 
 
c_area = calculate_area(5.0)
cs


전역변수와 지역변수

1
2
3
4
5
6
7
8
9
def get_sum(start, end):
        d =0
        for i in range(start, end+1):
            d += i+sum
            return sum
 
sum =12
print(get_sum(110))
print("sum:",sum)
cs

결과는 12 12 가 나온다

함수안에  sum이 없는데 사용이 가능하다. 전역변수라서 def 어디서든지 이용할 수 있다,


하지만

1
2
3
4
5
6
7
def cal(rad):
    ar = 3.14*rad**2
    return
ar =0
r=3.0
cal(r)
print(ar)
cs

이 경우 함수에서 ar에 수를 대입했지만, 값은 0이 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def get_sum(start, end):
 
        d =0
 
        for i in range(start, end+1):
 
            d = d++sum
 
        sum = 55
 
        return sum
 
sum =12
 
print(get_sum(110))
 
print("sum:",sum)
 
print("\n")
cs

이경우 에러가 발생한다. 왜냐

UnboundLocalError: local variable 'sum' referenced before assignment


def안에서 sum이 선언이 되었다. sum = 55라고. 

하지만  선언되기 전에 sum을 사용하면  전역변수의 sum을 사용하지 못하고

지역변수의 sum을 사용해야한다, 하지만 아직 할당 되지 않은 변수를 사용하려고 했으므로 에러가 발생한다. 

지역변수와 전역변수를 함수내에서 혼용하기 힘들다는 것을 알아냈다.

'Python > Python Concept' 카테고리의 다른 글

[Python] 키워드 인수  (0) 2018.01.11
[Python] 디폴트 인수  (0) 2018.01.11
[Python] while  (0) 2018.01.11
[Python] random  (0) 2018.01.11
[Python] for문  (0) 2018.01.11
AND

while


1
2
3
while a <4:
    print("whil문 반복:",a+1,"회")
    a=a+1
cs


while문은 조건에 의해 실행되는 형태다. 

for문은 range를통해  실행되는 숫자가 정해져 있다.


조건문이 많이 쓰이기 때문에


1
2
3
4
5
6
while True:
    print("무한반복")
    a = a +1
    if a >5:
        print("나가기")
        break
cs


무한 반복을 통한 break 문도 알아야한다.


조건:

1
2
3
4
5
6
or y
and y
not x
in 리스트
in 튜플
in 문자열
cs



'Python > Python Concept' 카테고리의 다른 글

[Python] 디폴트 인수  (0) 2018.01.11
[Python] 함수정의 : def  (0) 2018.01.11
[Python] random  (0) 2018.01.11
[Python] for문  (0) 2018.01.11
[Python] 터틀 관련 함수정리  (0) 2018.01.10
AND

ARTICLE CATEGORY

분류 전체보기 (197)
C (0)
HTML (7)
C# (88)
Python (27)
Python Concept (18)
Python Training (9)
IT (0)
Android (2)
Java (65)
Study (5)
JavaScript (1)
JSP (2)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/04   »
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

ARCHIVE

LINK